ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Architectural considerations in Ontology Development

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Simon Spero <sesuncedu@xxxxxxxxx>
Date: Wed, 20 Feb 2013 04:44:49 -0500
Message-id: <CADE8KM46bXGDDykpm_8jGKMkx+2WpRKCEeh8hCpSTxoswUNb5g@xxxxxxxxxxxxxx>

On Fri, 21 Aug 1992 at 8:57 PM EST  John Sowa <sowa@xxxxxxxxxxxxxx> wrote:

 

Tom,
There were some issues that came up in your last two notes to the SRKB and Interlingua lists. One statement I very much agree with is,


 


> So I think we have a case of agreement on semantics, and a difference on terminology. Sound familiar? 


 


And the term that seems to be causing the greatest difficulty for me, and I believe also for Charles Petrie and others is "ontology". At the end of your note to Interlingua, you said something that pinpoints the difficulty:


 


> The vision "family of theories" is exactly what the SRKB group is now looking into: collecting, comparing, and analyzing families of ontologies in those areas where we think it is useful and feasible to share formally-represented knowledge. 


 


That term "family of theories" is what I was using, in a way that I believe is similar to Charles P's usage. But in the next line, you immediately switched to "families of ontologies." That switch is very confusing, especially if you mean that your "ontologies" are "exactly" what Charles and I were calling "theories". But in your later note to SRKB, you said, 


 


> Formally, an ontology is:
> a set of terms (relation, function, and object constants)
> a set of documentation strings for these terms
> a set of of defining axioms for these terms 


 


First of all, I would delete the "documentation strings" from the "formal" definition, since they are comments that are not intelligible to the formal system (no matter how important they may be for the humans). 


 


I'm willing to accept the set of terms as essential, but I am bothered by the phrase "defining axioms". I would much rather see that broken down into two components: purely conservative definitions that say
"Whenever you see X, you can substitute the _expression_ Y"; and a separate collection of axioms or assumptions about the way X's or Y's behave. When you say "defining" axiom, it suggests that you are mixing the two. It also raises the question of whether there are any other kinds of axioms besides defining ones. 


 


I believe that there are. For example, F=ma relates force F, to mass m, and acceleration a. Since it relates all three of them, it must be in a theory of mechanics, but it is inappropriate to include it in the
"definition" of any one of the three -- F, m, or a. Furthermore, the equation, F=ma, should definitely be included in a knowledge base about mechanics, but I would be reluctant to say that it is part of the "ontology". That is one reason why I prefer the term "theory". 


 


Furthermore, the term "ontology", strictly speaking, implies a theory of existence. Just saying that it is equivalent to terms plus their definitions doesn't distinguish it from a dictionary. In order to make an ontology something more than a dictionary, there must be a set of metaphysical assumptions about the nature of existence. But that is inconsistent with the use in the following few paragraphs: 


 


> I thought the Interlingua committee should be aware that there is an ontology which defines the terminology for extending KIF to accommodate these kinds of requests. It is called the frame ontology....  


 


This use of the word "ontology" is inappropriate. A much better term would just be "set of definitions." Why is it necessary to decorate the discussion with a fancy word like "ontology"? 


 


> I claim that a lot of ontological commitments made in the _syntax_ of existing representation and programming languages can be specified as a set of definitions of relations, functions, and object constants in KIF. In the frame ontology, I define a set of concepts sufficient to translate between KIF and languages such as LOOM, CLASSIC, and KRSS. 


 


This is totally misleading. Syntax should not make any ontological commitments whatever. To avoid getting bogged down in issues about KIF, KRSS, Ontolingua, etc., let me just state the issues in terms of plain vanilla predicate calculus and a sorted predicate calculus. 


 


Consider the sentence "Every cat is on a mat" in PVPC: 


 


(Ax)(Ey)(cat(x) -> (mat(y) & on(x,y)). 


 


This formula becomes much simpler with sorted or typed variables in SPC: 


 


(Ax:cat)(Ey:mat) on(x,y). 


 


Yet both PVPC and SPC have identical ontological commitments. Those commitments do not come from the syntax of the language, but from the predicates cat(x) and mat(y) in PVPC and from the typed variables
x:cat and y:mat in SPC. This gets to my major points: 


 


1. The syntax of the language should not force any ontological commitments. 


 


2. However, if you do make some ontological commitments, a sorted or typed language exhibits them very clearly by marking each variable with a type label. In PVPC, some predicates specify the ontological commitments and others specify accidental properties, and the syntax doesn't distinguish which is which. 


 


Summary: Syntax shouldn't make any ontological commitments, but it should highlight the commitments that the knowledge engineer has made. 


 


> I am not arguing that KIF should never include types as a built in ontology. I am claiming that they could be introduced as extensions associated with ontologies, rather than as part of the core semantics. 


 


That first sentence bothers me. The type mechanism is used to express an ontology -- it is not in itself the ontology. 


 


The common mathematical logic doesn't use types, because mathematicians often talk about just one type of individuals, such as natural numbers. But as soon as you apply your logic to systems in the real world, you run into hundreds or thousands of distinct types. And then it is a real help to have the syntax keep your types straight. Just look at the two formulas for cats on mats. The untyped version is far more complex, and as you get richer domains the difference in complexity keeps increasing. 


 


> So, consider whether it would be adequate and appropriate to treat  some proposed extensions to the language as proposed ontologies, albeit very general ones, that simply introduce new terms and define them axiomatically. I include the frame ontology as an example. 


 


Please do not use the word "ontology" in that way. If you replace it with the phrase "set of definitions", I might disagree with you, but at least the sentence wouldn't offend my linguistic sensibilities. 


 


John



_________________________________________________________________
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    (01)

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