Same As vs. Equivalent To

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

Same As vs. Equivalent To

Michael DeBellis-2
I want to do some mapping between ontologies and in looking through the documentation I'm confused on a few different issues. I know I can just use SameAs for Individuals but I'm confused on the best way to do this for classes and properties. It seems the most straightforward way is to just use Equivalent To for classes and properties. But the documentation:  https://www.w3.org/TR/owl-ref/#equivalentClass-def   says:

"NOTE: The use of owl:equivalentClass does not imply class equality. Class equality means that the classes have the same intensional meaning (denote the same concept). ... Real class equality can only be expressed with the owl:sameAs construct. As this requires treating classes as individuals, class equality can only be expressed in OWL Full."

It says something similar regarding properties further down the document. I realize that this is the older version of the documentation but I didn't see anything in the latest version regarding Same As or Equivalent To (did I miss something?) and my understanding is that the new documentation " adds features to this 2004 version, while remaining compatible." So I assume that the stuff about Equivalent To and SameAs is still the same for the latest version. 

I think I recall that OWL Full is not decidable (?) so I imagine it should be avoided. Although, I also don't see OWL Full listed in the current profiles: https://www.w3.org/TR/2012/REC-owl2-profiles-20121211/  so is it even still a valid profile? I also don't see in Protege how to declare classes and properties to be the SameAs. I assume I could use punning for the classes and then make the punned Individuals the SameAs each other but don't know how it could be done with properties. 

Michael

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Same As vs. Equivalent To

Luis Enrique Ramos García
Hi Michael,

Well, I will try to answer some of your questions, and surely somebody else will complement it or make any corrections, if necessary.

about same as and equivalent to: The difference according to the documentation is that, in the case of equivalent to, the class could not have the same exact definition, but could contain the same individuals, their example is the following:

<owl:Class rdf:about="#US_President">
  <equivalentClass rdf:resource="#PrincipalResidentOfWhiteHouse"/>
</owl:Class>

NOTE: The use of owl:equivalentClass does not imply class equality. Class equality means that the classes have the same intensional meaning (denote the same concept). In the example above, the concept of "President of the US" is related to, but not equal to the concept of the principal resident of a certain estate. Real class equality can only be expressed with the owl:sameAs construct. As this requires treating classes as individuals, class equality can only be expressed in OWL Full.

then, here they assume that, beside using different terminology they are making reference to the same individuals, or most of them. 

about owl full, this expressiveness level, with olw lite, owl dl are part of owl 1.0 specification, I would not say that we should avoid owl full, it is only that it is not decidable, and that is the interesting part of this technology. 

the official  profiles of owl 2, are EL, QL, and RL, and in this case owl lite, and owl dl can be seen as subsumed by OWL 2 as well, without having the full expressivity of owl 2, and that is important to take in account.

I have not tried to use same as in protege, I largely work as developer, if I check it soon I will let you know.

Luis Ramos





El jue., 23 ene. 2020 a las 6:49, Michael DeBellis (<[hidden email]>) escribió:
I want to do some mapping between ontologies and in looking through the documentation I'm confused on a few different issues. I know I can just use SameAs for Individuals but I'm confused on the best way to do this for classes and properties. It seems the most straightforward way is to just use Equivalent To for classes and properties. But the documentation:  https://www.w3.org/TR/owl-ref/#equivalentClass-def   says:

"NOTE: The use of owl:equivalentClass does not imply class equality. Class equality means that the classes have the same intensional meaning (denote the same concept). ... Real class equality can only be expressed with the owl:sameAs construct. As this requires treating classes as individuals, class equality can only be expressed in OWL Full."

It says something similar regarding properties further down the document. I realize that this is the older version of the documentation but I didn't see anything in the latest version regarding Same As or Equivalent To (did I miss something?) and my understanding is that the new documentation " adds features to this 2004 version, while remaining compatible." So I assume that the stuff about Equivalent To and SameAs is still the same for the latest version. 

I think I recall that OWL Full is not decidable (?) so I imagine it should be avoided. Although, I also don't see OWL Full listed in the current profiles: https://www.w3.org/TR/2012/REC-owl2-profiles-20121211/  so is it even still a valid profile? I also don't see in Protege how to declare classes and properties to be the SameAs. I assume I could use punning for the classes and then make the punned Individuals the SameAs each other but don't know how it could be done with properties. 

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

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Same As vs. Equivalent To

Michael DeBellis-2
Luis, Thanks. What you said made a lot of sense so I tried to create an example to test my understanding.  I created a small ontology to correspond with the example. I have two defined classes under Person: President and PrincipalWHResident. I made President a defined class and gave it the definition: Person and wonElection value LastPresidentialElection. Then I made PrincipalWHResident a SubClass Of Person and principalResidentOf value WhiteHouse (a necessary but not sufficient condition unlike President). Then I said that PrincipalWHResident is Equivalent To President. 

When I made President a defined class DonaldTrump was classified as President since I had asserted he had the property value wonElection LastPresidentialElection. When I made PrinciapWHResident Equivalent To President the reasoner made DonaldTrump an instance of PrincipalWHResident. This was what I expected their extensional definitions are the same. What I also expected was that the axiom from PrincipalWHResident would not be transferred to President (their inensional definitions are different) but that wasn't exactly what happened. The axiom was transferred over but rather than in the Subclass Of field as in PrincipalWHResident it was transferred to SubClass Of (Anonymous Ancestor).  See the screen snapshot at the end of this message. 

But while I think they are logically equivalent, they still have different axiomatic definitions (in a trivial way but it reflects their different asserted intensional definitions).  Now that I look at this example this all makes sense, this is the behavior I would want, if I have two different definitions for the same class I want both classes to be logically equivalent but I also want to retain the information about what axioms came from which class which this seems to do. I think that explains it. 

My only remaining question is why one would ever need to just say two classes are the SameAs?  Using Equivalent To seems like what I really want when integrating different ontologies. Please let me know if you think I didn't understand something correctly or if you (or anyone) has additional info to add. Thanks very much for the help. 

PresidentClassEquivalence.PNG



On Wed, Jan 22, 2020 at 11:29 PM Luis Enrique Ramos García <[hidden email]> wrote:
Hi Michael,

Well, I will try to answer some of your questions, and surely somebody else will complement it or make any corrections, if necessary.

about same as and equivalent to: The difference according to the documentation is that, in the case of equivalent to, the class could not have the same exact definition, but could contain the same individuals, their example is the following:

<owl:Class rdf:about="#US_President">
  <equivalentClass rdf:resource="#PrincipalResidentOfWhiteHouse"/>
</owl:Class>

NOTE: The use of owl:equivalentClass does not imply class equality. Class equality means that the classes have the same intensional meaning (denote the same concept). In the example above, the concept of "President of the US" is related to, but not equal to the concept of the principal resident of a certain estate. Real class equality can only be expressed with the owl:sameAs construct. As this requires treating classes as individuals, class equality can only be expressed in OWL Full.

then, here they assume that, beside using different terminology they are making reference to the same individuals, or most of them. 

about owl full, this expressiveness level, with olw lite, owl dl are part of owl 1.0 specification, I would not say that we should avoid owl full, it is only that it is not decidable, and that is the interesting part of this technology. 

the official  profiles of owl 2, are EL, QL, and RL, and in this case owl lite, and owl dl can be seen as subsumed by OWL 2 as well, without having the full expressivity of owl 2, and that is important to take in account.

I have not tried to use same as in protege, I largely work as developer, if I check it soon I will let you know.

Luis Ramos





El jue., 23 ene. 2020 a las 6:49, Michael DeBellis (<[hidden email]>) escribió:
I want to do some mapping between ontologies and in looking through the documentation I'm confused on a few different issues. I know I can just use SameAs for Individuals but I'm confused on the best way to do this for classes and properties. It seems the most straightforward way is to just use Equivalent To for classes and properties. But the documentation:  https://www.w3.org/TR/owl-ref/#equivalentClass-def   says:

"NOTE: The use of owl:equivalentClass does not imply class equality. Class equality means that the classes have the same intensional meaning (denote the same concept). ... Real class equality can only be expressed with the owl:sameAs construct. As this requires treating classes as individuals, class equality can only be expressed in OWL Full."

It says something similar regarding properties further down the document. I realize that this is the older version of the documentation but I didn't see anything in the latest version regarding Same As or Equivalent To (did I miss something?) and my understanding is that the new documentation " adds features to this 2004 version, while remaining compatible." So I assume that the stuff about Equivalent To and SameAs is still the same for the latest version. 

I think I recall that OWL Full is not decidable (?) so I imagine it should be avoided. Although, I also don't see OWL Full listed in the current profiles: https://www.w3.org/TR/2012/REC-owl2-profiles-20121211/  so is it even still a valid profile? I also don't see in Protege how to declare classes and properties to be the SameAs. I assume I could use punning for the classes and then make the punned Individuals the SameAs each other but don't know how it could be done with properties. 

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

_______________________________________________
protege-user mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-user
Reply | Threaded
Open this post in threaded view
|

Re: Same As vs. Equivalent To

Wynne, Robert (NIH/NLM/LHC) [C]

Looks like both screenshots are an asserted view.  Have you tried reasoning after creating your defined classes?

 

Snippet in EL++ (less expressive than full, but a good test since EquivalentClasses assertions are allowed) :

 

# Class: <http://snomed.info/id/396458002> (Hydrocortisone (substance))

 

AnnotationAssertion(:Asserted <http://snomed.info/id/396458002> "true")

AnnotationAssertion(:MapsToCode <http://snomed.info/id/396458002> "Rx5492")

AnnotationAssertion(:MapsToName <http://snomed.info/id/396458002> "Hydrocortisone")

AnnotationAssertion(rdfs:label <http://snomed.info/id/396458002> "Hydrocortisone (substance)"@en)

AnnotationAssertion(skos:altLabel <http://snomed.info/id/396458002> "Cortisol"@en)

AnnotationAssertion(skos:altLabel <http://snomed.info/id/396458002> "Hydrocortisone"@en)

SubClassOf(<http://snomed.info/id/396458002> ObjectIntersectionOf(<http://snomed.info/id/103036003> <http://snomed.info/id/112116001>))

 

# Class: :Rx5492 (Hydrocortisone)

 

AnnotationAssertion(:MapsToCode :Rx5492 "396458002")

AnnotationAssertion(:MapsToName :Rx5492 "Hydrocortisone (substance)")

AnnotationAssertion(rdfs:label :Rx5492 "Hydrocortisone")

EquivalentClasses(:Rx5492 <http://snomed.info/id/396458002>)

SubClassOf(:Rx5492 <http://snomed.info/id/105590001>)

 

 

When the ontology is first loaded you have the asserted view.

 

 

 

After running a reasoner (in this case Elk), and changing your view to ‘Inferred’ you’ll see the equivalence.

 

 

Rob

 

From: Michael DeBellis <[hidden email]>
Sent: Thursday, January 23, 2020 9:47 AM
To: User support for WebProtege and Protege Desktop <[hidden email]>
Subject: Re: [protege-user] Same As vs. Equivalent To

 

Luis, Thanks. What you said made a lot of sense so I tried to create an example to test my understanding.  I created a small ontology to correspond with the example. I have two defined classes under Person: President and PrincipalWHResident. I made President a defined class and gave it the definition: Person and wonElection value LastPresidentialElection. Then I made PrincipalWHResident a SubClass Of Person and principalResidentOf value WhiteHouse (a necessary but not sufficient condition unlike President). Then I said that PrincipalWHResident is Equivalent To President. 

 

When I made President a defined class DonaldTrump was classified as President since I had asserted he had the property value wonElection LastPresidentialElection. When I made PrinciapWHResident Equivalent To President the reasoner made DonaldTrump an instance of PrincipalWHResident. This was what I expected their extensional definitions are the same. What I also expected was that the axiom from PrincipalWHResident would not be transferred to President (their inensional definitions are different) but that wasn't exactly what happened. The axiom was transferred over but rather than in the Subclass Of field as in PrincipalWHResident it was transferred to SubClass Of (Anonymous Ancestor).  See the screen snapshot at the end of this message. 

 

But while I think they are logically equivalent, they still have different axiomatic definitions (in a trivial way but it reflects their different asserted intensional definitions).  Now that I look at this example this all makes sense, this is the behavior I would want, if I have two different definitions for the same class I want both classes to be logically equivalent but I also want to retain the information about what axioms came from which class which this seems to do. I think that explains it. 

 

My only remaining question is why one would ever need to just say two classes are the SameAs?  Using Equivalent To seems like what I really want when integrating different ontologies. Please let me know if you think I didn't understand something correctly or if you (or anyone) has additional info to add. Thanks very much for the help. 

 

PresidentClassEquivalence.PNG

 

 

 

On Wed, Jan 22, 2020 at 11:29 PM Luis Enrique Ramos García <[hidden email]> wrote:

Hi Michael,

 

Well, I will try to answer some of your questions, and surely somebody else will complement it or make any corrections, if necessary.

 

about same as and equivalent to: The difference according to the documentation is that, in the case of equivalent to, the class could not have the same exact definition, but could contain the same individuals, their example is the following:

 

<owl:Class rdf:about="#US_President">
  <equivalentClass rdf:resource="#PrincipalResidentOfWhiteHouse"/>
</owl:Class>

NOTE: The use of owl:equivalentClass does not imply class equality. Class equality means that the classes have the same intensional meaning (denote the same concept). In the example above, the concept of "President of the US" is related to, but not equal to the concept of the principal resident of a certain estate. Real class equality can only be expressed with the owl:sameAs construct. As this requires treating classes as individuals, class equality can only be expressed in OWL Full.

then, here they assume that, beside using different terminology they are making reference to the same individuals, or most of them. 

about owl full, this expressiveness level, with olw lite, owl dl are part of owl 1.0 specification, I would not say that we should avoid owl full, it is only that it is not decidable, and that is the interesting part of this technology. 

the official  profiles of owl 2, are EL, QL, and RL, and in this case owl lite, and owl dl can be seen as subsumed by OWL 2 as well, without having the full expressivity of owl 2, and that is important to take in account.

I have not tried to use same as in protege, I largely work as developer, if I check it soon I will let you know.

Luis Ramos

 

 

 

 

El jue., 23 ene. 2020 a las 6:49, Michael DeBellis (<[hidden email]>) escribió:

I want to do some mapping between ontologies and in looking through the documentation I'm confused on a few different issues. I know I can just use SameAs for Individuals but I'm confused on the best way to do this for classes and properties. It seems the most straightforward way is to just use Equivalent To for classes and properties. But the documentation:  https://www.w3.org/TR/owl-ref/#equivalentClass-def   says:

 

"NOTE: The use of owl:equivalentClass does not imply class equality. Class equality means that the classes have the same intensional meaning (denote the same concept). ... Real class equality can only be expressed with the owl:sameAs construct. As this requires treating classes as individuals, class equality can only be expressed in OWL Full."

 

It says something similar regarding properties further down the document. I realize that this is the older version of the documentation but I didn't see anything in the latest version regarding Same As or Equivalent To (did I miss something?) and my understanding is that the new documentation " adds features to this 2004 version, while remaining compatible." So I assume that the stuff about Equivalent To and SameAs is still the same for the latest version. 

 

I think I recall that OWL Full is not decidable (?) so I imagine it should be avoided. Although, I also don't see OWL Full listed in the current profiles: https://www.w3.org/TR/2012/REC-owl2-profiles-20121211/  so is it even still a valid profile? I also don't see in Protege how to declare classes and properties to be the SameAs. I assume I could use punning for the classes and then make the punned Individuals the SameAs each other but don't know how it could be done with properties. 

 

Michael

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

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


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