I have a predicate "HAVE", now I need a predicare "don'tHave". How to create such predicate using existing predicate "HAVE"?
In OWL, whose assertions are under open-world assumption, it is sufficient to declare such properties as disjoint, in such a way that, if you state :x :DontHave :y .
, then you'll know that :x :Have :y
is false.
Functional-Style Syntax
DisjointObjectProperties( :Have :DontHave )
RDF/XML Syntax
<rdf:Description rdf:about="Have">
<owl:propertyDisjointWith rdf:resource="DontHave"/>
</rdf:Description>
Turtle Syntax
:Have owl:propertyDisjointWith :DontHave .
Manchester Syntax
DisjointProperties: Have, DontHave
OWL/XML Syntax
<DisjointObjectProperties>
<ObjectProperty IRI="Have"/>
<ObjectProperty IRI="DontHave"/>
</DisjointObjectProperties>