How to specify that 2 classes are equivalent

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

How to specify that 2 classes are equivalent

Bikash Gyawali
Hi,
 
I have a simple question and I am confused.
 
First, how do I specify in Protégé that 2 classes are equal. Eg: Lets consider I have 3 classes under owl:Thing – 1. Animal, 2. Man and 3. Human. How can I assert (at ontology design time) that the classes Man and Human are equivalent in Protégé? (The name of classes is just for test purpose.)
 
Second, lets say I have 2 subclasses under Animal – aquatic and terrestrial. Does this imply that class Animal is equivalent to class aquatic and/or terrestrial.(I think, due to open world reasoning, this is not exactly the case – there could be another unspecified class like avian ; I think this is where the ValuePartition comes into.)
 
Please help me clear this confusion. 
 
Thanks,
Bikash

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: How to specify that 2 classes are equivalent

Anthony Ramalho
Hi Bikash,
 
Pay attention that, according to Hebeler et al. (2005, pp. 525/526):
 
"OWL requires adherence to two important assumptions:
 
Open world assumption - the open world assumption states that the truth of a statement is independent of whether it is known. In other words, not knowing that a statement is explicitly true does not imply that the statement is false.
 
No unique names assumption - the no unique names assumption states that unless explicitly stated otherwise, you cannot assume that resources that are identified by different URIs are different."
 
So, according to the second assumption, if you are modeling your ontology using OWL, all these classes won't be considered different, unless you explicit them as "disjoint classes".
Thus, the answer to your first question is that you have to explicit just the disjoint classes (the ones different from the others) and the ones you don't explicit can be considered equal.
 
The answer to your second question is that all the instances of "aquatical" and "terrestrial" are considered also members of the superclass "animal". If you specify "aquatical" and "terrestrial" as "disjoint classes", the members of aquatical and terrestrial (subclasses) can be considered members of animal (superclass), but one member of "aquatical" won't be member of "terrestrial".
 
That's it. Somebody let me know if I'm interpreting the question wrongly.
 
Anthony


From: Bikash Gyawali <[hidden email]>
To: Protege OWL Mailing List <[hidden email]>
Sent: Fri, March 25, 2011 6:53:47 AM
Subject: [protege-owl] How to specify that 2 classes are equivalent

Hi,
 
I have a simple question and I am confused.
 
First, how do I specify in Protégé that 2 classes are equal. Eg: Lets consider I have 3 classes under owl:Thing – 1. Animal, 2. Man and 3. Human. How can I assert (at ontology design time) that the classes Man and Human are equivalent in Protégé? (The name of classes is just for test purpose.)
 
Second, lets say I have 2 subclasses under Animal – aquatic and terrestrial. Does this imply that class Animal is equivalent to class aquatic and/or terrestrial.(I think, due to open world reasoning, this is not exactly the case – there could be another unspecified class like avian ; I think this is where the ValuePartition comes into.)
 
Please help me clear this confusion. 
 
Thanks,
Bikash


_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: How to specify that 2 classes are equivalent

Thomas Russ
In reply to this post by Bikash Gyawali

On Mar 25, 2011, at 2:53 AM, Bikash Gyawali wrote:

> Hi,
>  
> I have a simple question and I am confused.
>  
> First, how do I specify in Protégé that 2 classes are equal. Eg: Lets consider I have 3 classes under owl:Thing – 1. Animal, 2. Man and 3. Human. How can I assert (at ontology design time) that the classes Man and Human are equivalent in Protégé? (The name of classes is just for test purpose.)

You make them subclasses of each other.
Or you make one of them a necessary and sufficient condition of the other.
 
> Second, lets say I have 2 subclasses under Animal – aquatic and terrestrial. Does this imply that class Animal is equivalent to class aquatic and/or terrestrial.(I think, due to open world reasoning, this is not exactly the case – there could be another unspecified class like avian ; I think this is where the ValuePartition comes into.)

You are correct.  Animal is not equivalent to the two classes.
If you wish to make it equivalent, you will have to define
   Animal == aquatic or terrestrial
That is one way of creating a covering axiom that says all animals are either aquatic or terrestrial (or both -- as Anthony Ramalho also points out aquatic and terrestrial will not even be disjoint unless you explicitly say so.)  To set up a partition, you have to explicitly say that the classes are disjoint.

One reason all this has to be explicit is that there are lots of times where you would not want to have anything like this happen automatically.  For example:
  Human
     Male
     Female
     Child
     Adult
     Student
     Worker

You need to explicitly pair up the subclasses that are disjoint and also those that form a covering.  Not all classes will do that.  So for example, Male & Female will be disjoint coverings of Human.  Adult & Child will also be disjoint coverings.  Student and Worker are neither disjoint nor coverings.


_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Reply | Threaded
Open this post in threaded view
|

Re: How to specify that 2 classes are equivalent

Bikash Gyawali
In reply to this post by Bikash Gyawali
Thank you Anthony and Thomas for the nice explanation.

-----Original Message-----
From: [hidden email]
Sent: Saturday, March 26, 2011 8:06 PM
To: [hidden email]
Subject: protege-owl Digest, Vol 56, Issue 53

Send protege-owl mailing list submissions to
[hidden email]

To subscribe or unsubscribe via the World Wide Web, visit
https://mailman.stanford.edu/mailman/listinfo/protege-owl
or, via email, send a message with subject or body 'help' to
[hidden email]

You can reach the person managing the list at
[hidden email]

When replying, please edit your Subject line so it is more specific
than "Re: Contents of protege-owl digest..."


Today's Topics:

   1. Re: How to specify that 2 classes are equivalent (Thomas Russ)


----------------------------------------------------------------------

Message: 1
Date: Fri, 25 Mar 2011 14:31:06 -0700
From: Thomas Russ <[hidden email]>
To: User support for the Protege-OWL editor
<[hidden email]>
Subject: Re: [protege-owl] How to specify that 2 classes are
equivalent
Message-ID: <[hidden email]>
Content-Type: text/plain; charset=windows-1252


On Mar 25, 2011, at 2:53 AM, Bikash Gyawali wrote:

> Hi,
>
> I have a simple question and I am confused.
>
> First, how do I specify in Prot?g? that 2 classes are equal. Eg: Lets
> consider I have 3 classes under owl:Thing ? 1. Animal, 2. Man and 3.
> Human. How can I assert (at ontology design time) that the classes Man and
> Human are equivalent in Prot?g?? (The name of classes is just for test
> purpose.)

You make them subclasses of each other.
Or you make one of them a necessary and sufficient condition of the other.

> Second, lets say I have 2 subclasses under Animal ? aquatic and
> terrestrial. Does this imply that class Animal is equivalent to class
> aquatic and/or terrestrial.(I think, due to open world reasoning, this is
> not exactly the case ? there could be another unspecified class like avian
> ; I think this is where the ValuePartition comes into.)

You are correct.  Animal is not equivalent to the two classes.
If you wish to make it equivalent, you will have to define
   Animal == aquatic or terrestrial
That is one way of creating a covering axiom that says all animals are
either aquatic or terrestrial (or both -- as Anthony Ramalho also points out
aquatic and terrestrial will not even be disjoint unless you explicitly say
so.)  To set up a partition, you have to explicitly say that the classes are
disjoint.

One reason all this has to be explicit is that there are lots of times where
you would not want to have anything like this happen automatically.  For
example:
  Human
     Male
     Female
     Child
     Adult
     Student
     Worker

You need to explicitly pair up the subclasses that are disjoint and also
those that form a covering.  Not all classes will do that.  So for example,
Male & Female will be disjoint coverings of Human.  Adult & Child will also
be disjoint coverings.  Student and Worker are neither disjoint nor
coverings.




------------------------------

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl


End of protege-owl Digest, Vol 56, Issue 53
*******************************************

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03