An owl:complementOf property links a class to precisely one class description.
An owl:complementOf statement describes a class for which the class extension contains exactly those individuals that do not belong to the class extension of the class description that is the object of the statement.
owl:complementOf is analogous to logical negation: the class extension consists of those individuals that are NOT members of the class extension of the complement class.
owl:complementOf has owl:Class as domain and as range.
<rdf:Property rdf:ID="complementOf">
<rdfs:label>complementOf</rdfs:label>
<rdfs:domain rdf:resource="#Class"/>
<rdfs:range rdf:resource="#Class"/>
</rdf:Property>
og:NonConsumableThing owl:complementOf og:ConsumableThing . , where og: is (here) the namespace for the Owl Guide ontology.
The expression "non-consumable" could be written as:
<owl:Class rdf:ID="ConsumableThing" />
<owl:Class rdf:ID="NonConsumableThing">
<owl:complementOf rdf:resource="#ConsumableThing" />
</owl:Class>
The extension of this class description contains all individuals that do not belong to the class ConsumableThing.
More complex:
<owl:Class rdf:ID="NonFrenchWine">
<owl:intersectionOf rdf:parseType="Collection">
<owl:Class rdf:about="#Wine"/>
<owl:Class>
<owl:complementOf>
<owl:Restriction>
<owl:onProperty rdf:resource="#locatedIn" />
<owl:hasValue rdf:resource="#FrenchRegion" />
</owl:Restriction>
</owl:complementOf>
</owl:Class>
</owl:intersectionOf>
</owl:Class>
This defines the class NonFrenchWine to be the intersection of Wine with the set of all things not located in France.
NOTE: owl:complementOf is not part of OWL Lite.