This is my ontology created with protege 5 .
If i make cl1
and cl2
disjoint, then the ontology is being inconsistent , but if i uncheck is_friend_of
reflexive , the ontology is not inconsistent any more . whats wrong with my ontology ?
I want only cl1
class individuals have is_friend_of
property.
Reflexivity of :is_friend_of
is essential for inconsistency.
Take a look at Reasoner > Inconsistent ontology explanation :
I'll try to translate this explanation into (poor) English:
:is_friend_of
is reflexive, then :c2_inst :is_friend_of :c2_inst
.:is_friend_of
is :cl1
, then c2_inst rdf:type :cl1
.c2_inst rdf:type :cl2
.:cl1
and :cl2
are disjoint — contradiction. In fact, the domain of every reflexive property is owl:Thing
.
As a workaround, you could uncheck reflexivity of is_friend_of
and define :cl1
in this way:
Class: cl1
EquivalentTo:
is_friend_of some owl:Thing,
is_friend_of some Self