Inverse property on classes
Hi,
I read in several documentation about RDF/OWL that there is no big difference between classes and individuals.
Most of the ontologies published on the internet use only classes.
But when I try to use a one to many relationship, it seems to work only with individuals.
Here is a very simple example: a pizza has at least one topping and a topping is for exactly one pizza.
:Pizza rdf:type owl:Class
:Topping rdf:type owl:Class
:hasTopping rdf:type owl:ObjectProperty
owl:inverseOf :isToppingOf
rdfs:domain :Pizza
rdfs:range :Topping
:isToppingOf rdf:type owl:ObjectProperty
owl:inverseOf :hasTopping
rdfs:domain :Topping
rdfs:range :Pizza
:Pizza :hasTopping min 1 :Topping
:Topping :isToppingOf exactly 1 :Pizza
When I create an individual :Pizza_mozzarella and add a property :hasTopping on :Mozzarella individual, I can work with the inverse property on the topping and I see that :Mozzarella :isToppingOf :Pizza_mozzarella.
It works great with individual.
But when I try to do the same test with classes:
:Pizza_mozzarella_class :hasTopping some :Mozzarella_class
But I cannot use the inverse property: :Mozzarella_class does not know anything about :Pizza_mozzarella_class.
Is this normal ?
Are inverse properties usable only on individuals ?
Thanks for your help :-)
Cedric