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:
- Since
:is_friend_of
is reflexive, then :c2_inst :is_friend_of :c2_inst
.
- Since the domain of
:is_friend_of
is :cl1
, then c2_inst rdf:type :cl1
.
- Also,
c2_inst rdf:type :cl2
.
- But
: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