I'm working with an OWL file generated using Protégé. I'm using the OWL API in my Java code. I have a set of defined classes, e.g.:
SpeciesA ⊑ Species ⊓ ∃hasPart.Fruit ⊓ =hasShape.round
SpeciesA is of subClass Species, hasPart some Fruit and hasShape value Round.
That is all defined in Protégé, then exported to OWL, then loaded in my ontology in Java. If I create an Individual x of Species and I had the properties
- hasPart(x,FruitA)
- hasShape(x,Round)
I retrieve every class to which my individual belongs (in this case, this should include SpeciesA).
I'm not sure at all what I should use : Can I use SWRL Species(?x)^hasPart(?x,Fruit)^hasShape(?x,"$Round$") or should I use a Reasoner ?
I'm really confused with Protégé "equivalent to" and individuals property..