ontolog-forum
[Top] [All Lists]

Re: [ontolog-forum] Axioms in Protege

To: cassidy@xxxxxxxxx, "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Adam Pease <adampease@xxxxxxxxxxxxx>
Date: Tue, 19 Aug 2003 09:53:09 -0700
Message-id: <5.0.0.25.0.20030819092814.022b03f0@xxxxxxxxxxxxxxxxxx>
Pat,    (01)

At 02:02 PM 8/16/2003 -0400, Patrick Cassidy wrote:
>Adam,
>    Thanks for the comments. I do hope we can reach an understanding
>about what we are doing as well as how to describe it.
>   Your comments below suggest that a true representation of
>an axiom would have to have been validated at least as to syntax.
>And of course protege has no direct validation mechanism for KIF
>axioms.
>    I also note that you think that a representation in one file
>(e.g. the SUMO file) is no longer a representation if it is
>copied into another file.  My own view of what constitutes a
>"representation" is much less stringent than that -- I only need
>to be able to convert it automatically into a form that can
>be interpreted by a reasoner.   But I really really want to
>avoid arguments about terminology, so let us both agree
>for the sake of the ontolog forum  that the axioms copied into
>Protege are not a "representation" (I used the term "recording")
>and we can get on with more productive questions.  You can
>think up any word you want to describe the process of copying
>axioms from a KIF file into Protege as a PAL-CONSTRAINT, and
>I will be happy to use that word.    (02)

This is not just an issue of terminology.  Nor is it an unproductive 
question. My assessment was that Protege is not a good long term choice for 
our work, because it can't represent a large portion of the axioms in SUMO, 
which we agreed is advantageous to reuse.  You countered that the axioms 
could be represented, by including them in comment fields - an assertion 
which is false.
   You were talking earlier about quantities and units and not wanting to 
use SUMO's existing terms (which include functions, which Protege can't 
represent) for that content.  If you invent new terms for that information 
to use in Protege, you'll then have content which is redundant with the 
content in SUMO, and unconnected to the axioms which define measures and units.
   For example, let's say an order is for 2 Meters of 5cm by 5cm lumber, 
and there's a US supplier for this product.  We'd like to have axioms that 
define these units, and support conversion.  SUMO has the axiom    (03)

(=>
   (instance ?NUMBER RealNumber)
   (equal
     (MeasureFn ?NUMBER Inch)
     (MeasureFn (MultiplicationFn ?NUMBER 0.02539999969303608) Meter)))    (04)

Since Protege can't handle functions, you'd have to rewrite this axiom, 
probably hard-coded as a procedural attachment, as opposed to expressed 
declaratively.  If it were just an issue of rewriting one axiom, it 
wouldn't be a big deal, but there are hundreds of uses of MeasureFn in 
SUMO, not to mention all the uses of other functions and expressions that 
can't be represented in Protege.  Your answer seems to be to include them 
in comments, but the issue is not limited to comments.  If we represent the 
example in SUMO and KIF we have something like    (05)

(orderItem LumberOrder27 OrderItem23)
(item OrderItem23 LumberObject4)
(length LumberObject4 (MeasureFn 2 Meter))    (06)

Now, if you try to represent this in Protege, you're stuck, because you 
can't use the function.  As you can see, this problem is not solved by 
including the axiom in a comment, because the terms in those axioms need to 
be used.  To capture this same information in Protege, we'd wind up with 
something like    (07)

(orderItem LumberOrder27 OrderItem23)
(item OrderItem23 LumberObject4)
(length LumberObject4 "2 Meters")    (08)

or slightly better:    (09)

(orderItem LumberOrder27 OrderItem23)
(item OrderItem23 LumberObject4)
(length LumberObject4 Measure7)
(unit Measure7 Meter)
(value Measure7 2)    (010)

Now the problem is that those terms are totally unconnected to SUMO 
axioms.  The new relations of "unit" and "value" are redundant with SUMO's 
MeasureFn, and lack all the axioms which define MeasureFn.    (011)

The result of this is a large amount of duplication of effort.  You might 
as well discard SUMO and start from scratch, which would of course mean a 
lot of waste.    (012)

>    If we then convert whatever is in a Protege file into a valid
>KIF format, parsable by Sevcenko's parser, would you then
>be willing to view that resulting KIF file as a valid
>representation of an ontology?    (013)

Yes, of course, if you express an ontology in KIF, then it will be a KIF 
ontology.  If you express an ontology in Protege, then it's a Protege 
ontology.  However, because Protege can't express much of the content of a 
KIF ontology (including negation, quantification etc), if you express 
portions of SUMO in Protege and translate it back to KIF, you'll have lost 
a great deal of content.    (014)

Adam    (015)

>     Pat
>
>=====================================
>
>Adam Pease wrote:
>
>>Pat,
>>   I'll try to explain again in a different way.  If you'll forgive me 
>> for stating the obvious, languages have specifications, and some 
>> languages specify syntax, whereas others specify both syntax and 
>> semantics.  Programming languages for example have both a syntax and a 
>> semantics.  XML has a syntax, but, as far as I understand, no 
>> semantics.  Protege and KIF have both syntax and semantics.
>>   If one has an XML document that includes the following:
>><kif>
>>(=>
>>     (and
>>         (bottom ?BOTTOM ?OBJECT)
>>         (part ?PART ?OBJECT)
>>         (not
>>             (connected ?PART ?BOTTOM)))
>>     (orientation ?PART ?BOTTOM Above))
>></kif>
>>you have a valid XML expression that "wraps" a KIF expression.  The 
>>document is XML, not KIF.  I could have stated:
>><kif>
>>(=>
>>     (and
>>         (bottom ?BOTTOM ?OBJECT)
>>         (part ?PART ?OBJECT))))))))))))))))))))))
>>         (not
>>             (connected ?PART ?BOTTOM)))
>>     (orientation ?PART ?BOTTOM Above))
>></kif>
>>This would still be valid XML.  The KIF is syntactically invalid, but no 
>>XML parser will tell you that.  Similarly, if you put that axiom in a 
>>Protege ontology, it will accept it happily.  If you had that same KIF 
>>expression in a KIF file, it would not conform to the syntax and 
>>semantics specified at <http://suo.ieee.org/suo-kif.html>.  If you try to 
>>load the second KIF expression into Michal Sevcenko's SUMO browser, it 
>>should give an error.
>>   So, it simply is false to say that you've represented the SUMO axioms 
>> in Protege, just by virtue of including KIF text in a comment field.
>>   I'm sorry to take so much time for this, but we have to share a basic 
>> understanding of what it means to write an ontology in a language if 
>> we're to work as a group on creating an ontology.
>>Adam
>>A few specified replies:
>>At 11:36 PM 8/14/2003 -0400, Patrick Cassidy wrote:
>>
>>>Adam --
>>>    I can't figure out where the disagreement is.  We all
>>>agree that the KIF format will be a canonical representation.
>>>The only question is whether we will use Protege.  I think
>>>Protege is useful, and I am trying to find a way to record
>>>the data in Protege so that it can be exported to a KIF
>>>file.  Do you think there is something wrong with
>>>this?
>>>     It might be useful if you provide a clarification.
>>>You asked:
>>>
>>> > Do you believe that first order logic axioms
>>> > can be "represented" in XML, because the text can be in a comment?
>>> >
>>>    No, I think that first order logic axioms can be represented
>>>in XML because they can be tagged as axioms, precisely extracted,
>>>and interpreted as such by the same parser that can interpret the
>>>axioms in the SUMO file.
>>
>>no that's false.  You haven't represented the axioms in XML, you've 
>>represented them in first order logic, and merely wrapped XML tags around 
>>those expressions.
>>
>>>    I took the SUMO 1.55 data from the text file at:
>>>
>>>http://ontology.teknowledge.com/cgi-bin/cvsweb.cgi/SUO/Merge.txt
>>>
>>>   In that file, the axioms are represented as bare text, and
>>>are not marked as axioms (a trivial task I did in importing
>>>them into Protege).  Do you think that this bare ASCII record is
>>>a "representation" of the axioms?
>>
>>Indeed yes, because those statements conform to a formal specification of 
>>syntax and semantics as given at <http://suo.ieee.org/suo-kif.html>
>>
>>>  The tagged axioms in the
>>>Protege file recorded as PAL-CONSTRAINTS are byte-for-byte
>>>copies of the axioms in the SUMO 1.55 file.
>>
>>True, but irrelevant.
>>
>>>    Is there a different file with the SUMO axioms that you
>>>feel has a true "representation"?
>>
>>No, the SUMO file you have is the representation.
>>
>>>  If so, I would appreciate
>>>getting a copy.
>>>
>>>     Regards,
>>>     Pat
>>>
>>>
>>>
>>>Adam Pease wrote:
>>>
>>>>Pat,
>>>>   I'm not sure why there is disagreement on this issue.  I don't 
>>>> consider the axioms in Protege to be part of its "representation" 
>>>> because you can't state them in the Protege language - you can only 
>>>> include them in a comment.  Do you believe that first order logic 
>>>> axioms can be "represented" in XML, because the text can be in a comment?
>>>>Adam
>>>
>>>--
>>>=============================================
>>>Patrick Cassidy
>>>
>>>MICRA, Inc.                      || (908) 561-3416
>>>735 Belvidere Ave.               || (908) 668-5252 (if no answer)
>>>Plainfield, NJ 07062-2054        || (908) 668-5904 (fax)
>>>
>>>internet:   cassidy@xxxxxxxxx
>>>=============================================
>
>--
>=============================================
>Patrick Cassidy
>
>MICRA, Inc.                      || (908) 561-3416
>735 Belvidere Ave.               || (908) 668-5252 (if no answer)
>Plainfield, NJ 07062-2054        || (908) 668-5904 (fax)
>
>internet:   cassidy@xxxxxxxxx
>=============================================    (016)

_________________________________________________________________
Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/
Subscribe/Unsubscribe/Config: 
http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To Post: mailto:ontolog-forum@xxxxxxxxxxxxxxxx    (017)

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