-
Enforcing transitivity of
owl:TransitiveProperty
. For example, the facts
(rdf:type ancestor owl:TransitiveProperty)
(ancestor Sue Mary)
(ancestor Mary Anne)
imply the fact
(ancestor Sue Anne)
-
Semantics of
owl:SymmetricProperty
is enforced.
-
Reasoning with
owl:inverseOf
. For example, the facts
(owl:inverseOf parentOf hasParent)
(parentOf Goldie Kate)
imply the fact
(hasParent Kate Goldie)
-
Inheritance of disjointness constraints. For example, the facts
(owl:disjointWith Plant Animal)
(rdfs:subClassOf Mammal Animal)
imply the fact
(owl:disjointWith Plant Mammal)
-
When an
owl:sameAs
relationship is asserted or inferred between two entities that are known to be classes, an owl:equivalentClass
relationship is inferred between the classes. Similarly, when an owl:sameAs
relationship is asserted or inferred between two entities that are known to be properties, an owl:equivalentProperty
relationship is inferred between the classes. For example, the facts
(owl:sameAs Human Person)
(rdf:type Human rdfs:Class)
(rdf:type Person rdfs:Class)
imply the fact
(owl:equivalentClass Human Person)
-
All the subclasses of a given class are disjoint with the class's complement. For example, the facts
(owl:complementOf Animal NonAnimals)
(rdfs:subClassOf Mammal Animal)
imply the fact
(owl:disjointWith Mammal NonAnimals)
-
A complicated bit of reasoning about
owl:complementOf
captured by following KIF axiom.
(=> (and (owl:complementOf ?c1 ?c2)
(rdfs:subClassOf ?c3 ?c1)
(rdfs:subClassOf ?c4 ?c2)
(owl:complementOf ?c4 ?c5))
(rdfs:subClassOf ?c3 c5))
-
Inferring
owl:sameAs
relationships via owl:FunctionalProperty
and owl:InverseFunctionalProperty
. For example, the facts
(rdf:type mother owl:FunctionalProperty)
(mother Joe Margaret)
(mother Joe Maggie)
imply the fact
(owl:sameAs Margaret Maggie)
-
If a class
A
is owl:oneOf
a list of objects, say X
, Y
, and Z
, then each of X
, Y
, and Z
has rdf:type
A
.
-
If an object is
rdf:type
an owl:hasValue
owl:Restriction
, then the object has the specified value for the specified property. For example, the facts
(owl:onProperty RestrictionOrangeSkin skinColor)
(owl:hasValue RestrictionOrangeSkin Orange)
(rdf:type MrOompaLoompa RestrictionOrangeSkin)
imply the fact
(skinColor MrOompaLoompa Orange)
-
If an
owl:hasValue
owl:Restriction
restricts a particular property to a particular value, and an object has that value for that property, then the object has the Restriction as a type. For example, the facts
(owl:onProperty RestrictionOrangeSkin skinColor)
(owl:hasValue RestrictionOrangeSkin Orange)
(skinColor MrOompaLoompa Orange)
imply the fact
(rdf:type MrOompaLoompa RestrictionOrangeskin)
-
If an object is a
rdf:type
an owl:allValuesFrom
owl:Restriction
, and the object has values for the specified property, then the values are of the specified type. For example, the facts
(owl:onProperty RestrictionCatChildren child)
(owl:allValuesFrom RestrictionCatChildren Cat)
(rdf:type Fluffy RestrictionCatChildren)
(child Fluffy Cupcake)
imply the fact
(rdf:type Cupcake Cat)
-
If an
owl:someValuesFrom
owl:Restriction
restricts a particular property to a particular type, and if an object has some values of the specificied type for the specified property, then that object has the Restriction as a type. For example, the facts
(owl:onProperty RestrictionIvyLeagueDegree degree)
(owl:someValuesFrom RestrictionIvyLeagueDegree IvyLeagueSchool)
(degree Mary Harvard)
(rdf:type Harvard IvyLeagueSchool)
imply the fact
(rdf:type Mary RestrictionIvyLeagueDegree)
-
If a property
Q
is owl:inverseOf
of a property P
, and P
is an owl:TransitiveProperty
, then Q
is also an owl:TransitiveProperty
.
-
All of the elements of an
owl:AllDifferent
are owl:differentFrom
each other.