0

In the ontology editor Protegé there is a tab called Class hierarchy (inferred). I am looking for a minimal example to create such an inferred class, e.g. is it mainly that :RedCar rdfs:subClassOf :Car, and that's all?

:RedCar  a                    owl:Class ;
         owl:equivalentClass  [ a  owl:Class ; 
                                owl:intersectionOf 
                                (
                                   :Car
                                   [ a               owl:Restriction ;
                                     owl:onProperty  :hasColor ;
                                     owl:hasValue    :Red
                                   ]
                                )
                              ] .
rmv
  • 3,195
  • 4
  • 26
  • 29
  • "...and that's all?" what else were you expecting/hoping for, given the example data you show? – Jeen Broekstra Jul 28 '16 at 23:53
  • I got a large ontology from a colleague, where after reasoning some existing classes also occur in a totally different subtree of the class hierarchy and i did not understand how this can happen. (Perhaps due to a long domain/range property chain or so? I even think, it's not possible to create *new class definitions* by reasoning, so it's perhaps an error, but i am not quite sure). I will try to simplify the ontology in question and post an example to hopefully reproduce this behavior... – rmv Jul 29 '16 at 11:17
  • Why do you think that a class cannot occur in different subtrees? The class hierarchy is not necessarily a tree. – UninformedUser Jul 29 '16 at 11:44

1 Answers1

2

There are some possibilies that may produce this behavior. One example is due to general class axioms (see last line of example below).

Human rdf:type owl:Class
Man rdf:type owl:Class
[rdf:type owl:Class ; owl:complementOf Man ; rdfs:subClassOf Human]

You will notice, that in this ontology thing is equivalent to human, if you switch to the inference view.

Other reasons are found in the pizza ontology. If you take a look at VegetableTopping and VegetarianTopping, you will notice that the first one is subsumed by the second one in the inference view, because of the equivalentTo relation on VegetarianTopping. Hope this helps.

Stephan
  • 46
  • 2