简体   繁体   中英

using owl:equivalentClass with subClasses in OWL

I'm trying to learn how to use the owl:equivalentClass property (called Equivalent To in Protégé) with SubClasses on my ontology example which is the following:

Plant  
L Angiosperm   (subClass of Plant)   
L Gymnosperm   (subClass of Plant)

Now I added 2 object properties to those 2 subClasses to bind them to their SuperClass in this way:

Plant hasFlowers Angiosperm   ------- (exp: meaning that a Plant that has flowers is an Angiosperm)   
Plant hasNoFlowers Gymnosperm

What I want to achieve is to express the sameAs property through the properties I made in Protégé but I am not getting how to do it, I would like to express something like this:

Angiosperm <someRandomProp> <someData>   
"Equivalent To"   
(Plant hasFlowers) <someRandomProp> <someData> 

EDITED: cleared out the property name

You cannot use object properties between two classes - only annotation properties can be used that way.

The meaning you're trying to express is that a Plant which has flowers is an Angiosperm - to do this, you wish to assert that Angiosperm is equivalent to the class of Plants and the class of things that have flowers, so you'd have an existential restriction on the property, and intersect it with a named concept.

From memory, this should be typed as

EquivalentClasses (Angiosperm, (Plant and some hasFlowers Thing))

(It does not matter what the domain and range of hasFlowers are at this point).

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM