[Top] [All Lists]

Re: [ontolog-forum] Foundation Ontology Primitives

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
Cc: ian@xxxxxxxxxxxxxxxx
From: "John F. Sowa" <sowa@xxxxxxxxxxx>
Date: Tue, 02 Feb 2010 12:20:45 -0500
Message-id: <4B685EED.2030100@xxxxxxxxxxx>
Pat, Rob, Matthew, Ali, Ian, Doug, and Jawit,    (01)

I'm happy that Matthew made some comments about the lattice
of theories, which I believe can reconcile many of the issues.    (02)

JFS>> The issues of dealing with imagery and physical actions are
 >> handled by continuous math, not by FOL...    (03)

PC> Right.  Those computations that cannot be accomplished (or cannot
 > be accomplished efficiently) by FOL would be among the conceptual
 > primitives that have to be included in the FO as procedural code.
 > They can be labeled as functions, but their execution could be any
 > method of computation.  For interoperability, concepts represented
 > that might be executed differently in different programs (C, JAVA,
 > machine code), but the effect of the computation would have to be
 > the same in all systems.    (04)

What I was trying to say is that terms specified by imagery are family
resemblance terms that cannot be defined by necessary and sufficient
conditions.  It's irrelevant what primitives you use to specify them
or what computational method you use to recognize them in the world.    (05)

PC> Among the difficult ones would be perceptual and robotic actions.
 > At the initial stage, the meanings of these actions would have to
 > be carefully specified as close as one can get logically, with
 > careful documentation filling in the parts that logic cannot specify,
 > most likely by reference to instances that are well known or could
 > at least in theory be experienced by users.    (06)

But the definitions change with every image, every context, every
application, and every point of view.  Everybody from Kant to
Wittgenstein to Quine has observed that you cannot state necessary
and sufficient conditions for naturally occurring concepts.  It's
irrelevant whether you use logic or some computational method.    (07)

RF>> The evidence is that there will always be more than one way
 >> of looking at the world, and generally these ways will be
 >> contradictory.    (08)

MW> Yes. But for interoperability (Pat's interest) that is not
 > a problem.  You only need to pick one. You then only need to be
 > able to map other views into and out of it. Alternatively, if
 > you want to capture many different viewpoints, you can adopt
 > John's Lattice of Theories.    (09)

I agree with Matthew's point, but I suspect that those alternatives
are not the ones Pat was proposing.  The first one, as I interpret
it, adopts a fixed ontology and legislates it for a specific group
of applications.  Any application that is added to the group must
have some mapping to that ontology.  I agree that alternative can
be valuable for a specific range of applications.    (010)

The second alternative is the one I recommended for all possible
applications:  a systematic framework for relating all ontologies,
with no constraints on which primitives are used for different
ontologies and their applications.    (011)

RF>> What is needed is a way to tease apart when these different
 >> ways of looking at the world apply...    (012)

MW> To be properly a foundation ontology you should be able to
 > deal with life-the-universe-and-everything. So you can choose.
 > Pragmatically, there is no problem specifying that different
 > theories for the same thing (say gravity) apply in different
 > conditions.  The conditions just become part of the theory.    (013)

RF>> ... (and a way to generate them, because the number is
 >> probably infinite.)    (014)

MW> That is the lattice of theories again.    (015)

I agree.    (016)

PC>> But unless [a repository] includes detailed mappings between
 >> ontologies that support **accurate interoperability**, I cannot
 >> visualize how such a repository would make a common FO
 >> "superfluous".  More detail??  In what way would a repository
 >> per se enable interoperability?    (017)

AH> A repository on it's own wouldn't.  A repository that has the
 > links between each of its member ontologies specified would however.
 > So maybe OOR wouldn't, but something like COLORE, where links
 > between each of its member ontologies are specified, would.  All
 > without the requirement of a set of universally agreed primitives.    (018)

I agree.  And as I said in any earlier note, the COLORE links can
be defined in terms of the lattice of theories.  For an example
of how the lattice can support interoperability,    (019)

  1. There is an open-ended number of ways of looking at the world,
     many (or even most) of which are inconsistent with one another.    (020)

  2. In the upper levels of the lattice, mutually inconsistent
     theories define different conditions presupposed by the more
     specialized theories under them.  As Matthew said, those
     conditions "just become part of the theory."    (021)

  3. For any two theories T1 and T2 -- even inconsistent ones --
     there is a *supremum* or consistent common generalization.
     In the worst case, that supremum is empty -- i.e., there is
     nothing they agree on.  But in many important cases, the
     supremum is sufficiently large that applications based on
     inconsistent theories T1 or T2 can share information that
     is specified using just the common subset in the supremum.    (022)

For example, different theories may have inconsistent axioms
about time, space, and the persistence of individuals across time
and space.  But a supremum that ignores the details about how the
individuals are specified can still be used to share information
about particular times, dates, locations, and individuals.    (023)

I realize that Rob has serious doubts about the value of formal
theories for language understanding, and I share those doubts.    (024)

But for implementing computer applications, precise definitions
that can be stated in logic are essential.  I would use informal
methods (in some ways similar to what Rob has been proposing) to
analyze NLs and map them to and from the more formal notations.    (025)

IB> In the thread that's been running, you [PC] indicate that you
 > believe there are some common ontic primitives that can be shared
 > across multiple ontologies -- e.g. as a foundation. Do you have
 > a clear idea of what these might be? (some examples would really
 > help my understanding).    (026)

I believe that Pat's primitives are the 2000+ words in Longman's list.
But more important than the list would be examples of how they could
be used for any useful application.    (027)

IB> A clearer idea of what choices all the major ontologies took
 > might give us a better idea what common primitives are possible...
 > God forbid we should actually use the forum to discuss any real
 > ontologies.    (028)

DMcD> I hope people take you up on your offer, and look forward
 > to the results.    (029)

JK> In the hope that we can actually discuss some details about
 > ontologies and useful primitives, I submit the following table...    (030)

In an earlier note, Ronald suggested "Japan Wines Inc" as a test case.
I strongly endorse the idea of using case studies to explore and
compare different ontologies and methodologies.    (031)

As a second test case, I suggest the hotel reservation system that
I included in Appendix C of my KR book:    (032)

    http://www.jfsowa.com/krbook/krc.htm    (033)

If anyone has better examples, please add them to the list.  But
let's keep the number of test cases sufficiently small that people
aren't overwhelmed by the amount of work.    (034)

John Sowa    (035)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (036)

<Prev in Thread] Current Thread [Next in Thread>