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

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 Thursday, 8 January 2004 05:35:39 UTC