OWL reasoning capabilities include the RDF/RDFS reasoning capabilities as well as the following capabilities. In all references to reasoning with
.
-
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.