W3C home > Mailing lists > Public > www-webont-wg@w3.org > January 2004

Re: TR: [protege-discussion] Re: sufficient or equivalent?

From: Ian Horrocks <horrocks@cs.man.ac.uk>
Date: Mon, 12 Jan 2004 13:29:05 +0000
Message-ID: <16386.41249.829925.702058@galahad.cs.man.ac.uk>
To: "Bernard Vatant" <bernard.vatant@mondeca.com>
Cc: <www-webont-wg@w3.org>

Far be it from me to set myself up as an OWL guru, but I feel obliged
to weigh in on Bernard's side.

Bernard is correct in saying that sufficient clearly isn't the same
thing as equivalent - if it were, then the class hierarchy would
collapse into a single class as being an instance of a subClass of C
is clearly a sufficient condition for being an instance of C.

In the OWL fragments you give, the first one defines an anonymous
class that is equivalent to things having the color blue, and asserts
that this is a *subClass* of BeautifulThing; the second one asserts
that the same anonymous class is *equivalent* to BeautifulThing.

Perhaps this would be clearer if we gave a name to the anonymous
class that is used in both fragments, e.g.:

   <owl:Class rdf:ID="BlueThing">
     <owl:equivalentClass>
       <owl:Restriction>
         <owl:someValuesFrom>
           <owl:Class rdf:about="#Blue"/>
         </owl:someValuesFrom>
         <owl:onProperty rdf:resource="#hasColor"/>
       </owl:Restriction>
     </owl:equivalentClass>
   </owl:Class>

Then the first fragment becomes

   <owl:Class rdf:ID="BlueThing">
     <rdfs:subClassOf>
       <owl:Class rdf:about="#BeautifulThing"/>
     </rdfs:subClassOf>
   </owl:Class>

and the second fragment becomes

   <owl:Class rdf:ID="BeautifulThing">
     <owl:equivalentClass>
       <owl:Class rdf:about="#BlueThing"/>
     </owl:equivalentClass>
   </owl:Class>

Hopefully it is clear that these two are not equivalent (as Bernard
points out, asserting that every BlueThing is a BeautifulThing does
not imply that every BeautifulThing is a BlueThing).

Regards, Ian


On January 8, Bernard Vatant writes:
> 
> 
> Hi folks
> 
> I have the following debate with Holger Knublauch on Protege list about
> what seems to me a confusion in the new Protege OWL interface between
> sufficient and equivalent condition.
> 
> I tried the best I can (but maybe I was wrong) but Holger is calling for
> "OWL gurus" to settle the debate. So, please gurus step forward :))
> 
> In fact, going back to OWL spec, I could not find any example like the one
> I give below in Axiom 2. of an restriction being declared as a subclass of
> a named class. All examples are the other way round. Maybe this is the
> source of confusion?
> 
> Bernard Vatant
> Senior Consultant
> Knowledge Engineering
> Mondeca - www.mondeca.com
> bernard.vatant@mondeca.com
> 
> 
> -----Message d'origine-----
> De : Bernard Vatant [mailto:bernard.vatant@mondeca.com]
> Envoye : jeudi 8 janvier 2004 11:25
> A : protege-discussion@SMI.Stanford.EDU
> Objet : RE: [protege-discussion] Re: sufficient or equivalent? RE:
> [Announcement] New OWL Plugin user interface
> 
> 
> 
> Holger
> 
> > > Seems to me that what you call "sufficient" is in fact
> > > "necessary and sufficient",
> >
> > Indeed, but this is always true:  Any assertment which is sufficient
> > is also necessary.
> 
> Well, no. Let me express otherwise the exemple of Blue and BeautifulThing
> Sorry for the shorthand syntax
> 
> Axiom 1. BeautifulThing   subClassOf  (hasColor someValuesFrom Blue)
> IOW : beautiful(x) =>  blue(x)
> 
> Having some kind of blue is a necessary condition to be beautiful. (But
> some blue objects might be ugly.)
> 
> Axiom 2. (hasColor someValuesFrom Blue) 	subClassOf 	BeautifulThing
> IOW : blue(x) => beautiful(x)
> 
> Having some kind of blue is a sufficient condition to be beautiful. (But
> some beautiful objects might be not blue at all.)
> 
> Axiom 3. BeautifulThing  equivalentClass  (hasColor someValuesFrom Blue)
> IOW : blue(x) <=> beautiful(x)
> 
> Having some kind of blue is a necessary and sufficient condition to be
> beautiful.
> All blue objects are beautiful. All beautiful objects are blue.
> 
> What you say is that Axiom 2 and Axiom 3 are the same. I can't agree with
> that.
> 
> > Writing "Necessary and sufficient" would just
> > be a waste of screen real estate.  The semantics are that every
> > necessary condition is a superclass, and every block of sufficient
> > conditions is an equivalent class.
> 
> That's what Protege does now indeed, but a block of sufficient conditions
> should define a subclass, not an equivalent class.
> 
> > In OWL two equivalent classes
> > are superclasses of each other, and thus also necessary.
> 
> Of course equivalent means both necessary and sufficient. But sufficient
> does not mean equivalent.
> 
> > > I declare a Class "BeautifulThing" a property "hasColor" and
> > > a Class "Blue". I declare that someValuesFrom "hasColor"
> > > being "Blue" is sufficient to be a "BeautifulThing" (I'm a
> > > blue addict).
> > >
> > > I thought this should generate the anonymous class defined by
> > > the relevant restriction on color as a subclass of
> > > "BeautifulThing", something like
> > >
> > >   <owl:Class>
> > >     <owl:equivalentClass>
> > >       <owl:Restriction>
> > >         <owl:someValuesFrom>
> > >           <owl:Class rdf:about="#Blue"/>
> > >         </owl:someValuesFrom>
> > >         <owl:onProperty rdf:resource="#hasColor"/>
> > >       </owl:Restriction>
> > >     </owl:equivalentClass>
> > >     <rdfs:subClassOf>
> > >       <owl:Class rdf:about="#BeautifulThing"/>
> > >     </rdfs:subClassOf>
> > >   </owl:Class>
> > >
> > > If I declare the restriction in the "sufficient" frame, what
> > > I get currently is:
> > >
> > >   <owl:Class rdf:ID="BeautifulThing">
> > >    <owl:equivalentClass>
> > >      <owl:Restriction>
> > >          <owl:onProperty>
> > >            <owl:ObjectProperty rdf:ID="hasColor"/>
> > >          </owl:onProperty>
> > >         <owl:someValuesFrom>
> > >            <owl:Class rdf:ID="Blue"/>
> > >          </owl:someValuesFrom>
> > >        </owl:Restriction>
> > >      </owl:equivalentClass>
> > >    </owl:Class>
> 
> > What is the problem with the latter OWL code?  You define
> > BeautifulThing as anything that fulfills the restriction,
> > and this is also the intended meaning.
> > In the upper code
> > you define an anonymous class which is equivalent to the
> > restriction AND a subclass of BeautifulThing.
> 
> Yes, they are different. The firt one expresses Axiom 2, the second one
> Axiom 3.
> 
> > Maybe I am missing something here, and some of the OWL gurus
> > around could jump in.
> 
> I think you are missing something indeed. But I will pass the issue to the
> "gurus" to settle the debate :))
> 
> Bernard
> 
> Bernard Vatant
> Senior Consultant
> Knowledge Engineering
> Mondeca - www.mondeca.com
> bernard.vatant@mondeca.com
> 
> 
> 
> 
Received on Monday, 12 January 2004 08:29:42 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:58:03 GMT