100 likes | 214 Views
OWL Inference Introduction Part 1. Steven Seida. Motivation. How should we think about the inference mechanisms associated with advanced OWL constructs? owl:Restriction Universal Restriction (AllValuesFrom) Existensial Restriction (SomeValuesFrom) Cardinality (Min/Max/Absolute)
E N D
OWL Inference Introduction Part 1 Steven Seida
Motivation • How should we think about the inference mechanisms associated with advanced OWL constructs? • owl:Restriction • Universal Restriction (AllValuesFrom) • Existensial Restriction (SomeValuesFrom) • Cardinality (Min/Max/Absolute) • owl:intersectionOf • owl:unionOf • owl:complementOf • owl:disjointWith • owl:differentFrom/sameAs • owl:allDifferent/distinctMembers All that is covered herein
WARNING • Note that reasoners exhibit either: • 1) subset of owl constructs • 2) slow performance on advanced owl constructs • So, general applications will find advanced owl constructs of no practical use.
“Some Values From” Restriction - SubClassOf • AllStarPlayer a owl:Class; • subClassOf • [ a owl:Restriction; • owl:onProperty :playsFor; • owl:someValuesFrom :AllStarTeam]. • Recall that someValuesFrom is the existential (i.e exists) modifier, so it has to exist, so: • If x has the :playsFor property and one instance of that property points to an item with class :AllStarTeam, then we can assert • x rdf:type AllStarPlayer
“Some Values From”– Equivalent Class • AllStarPlayer a owl:Class; • owl:equivalentClass • [ a owl:Restriction; • owl:onProperty :playsFor; • owl:someValuesFrom :AllStarTeam]. • Just like for subClassOf: • If x has the :playsFor property and one instance of that property points to an item with class :AllStarTeam, then we can assert • x rdf:type AllStarPlayer • Additionally if x is an AllStarPlayer, then our reasoner can presume it has at least one occurrence of the property :playsFor pointing to an instance of :AllStarTeam
“All Values From” Restriction - SubClassOf • AllStarPlayer a owl:Class; • subClassOf • [ a owl:Restriction; • owl:onProperty :playsFor; • owl:allValuesFrom :AllStarTeam]. • If x has the :playsFor property and all instances of that property point to something that is part of class :AllStarTeam, • Or if x doesn’t have the :playsFor property, then we can assert • x rdf:type AllStarPlayer
“All Values From”– Equivalent Class • AllStarPlayer a owl:Class • owl:equivalentClass • [ a owl:Restriction; • owl:onProperty :playsFor; • owl:allValuesFrom :AllStarTeam]. • Just like for subClassOf: • If x has the :playsFor property and all instances of that property point to something that is part of class :AllStarTeam, • Or if x doesn’t have the :playsFor property, then we can assert • x rdf:type AllStarPlayer • Additionally if x is an AllStarPlayer, then our reasoner can presume that anytime it has the property :playsFor that it will point to an instance of :AllStarTeam
Cardinality • MenuItem a owl:Class; • owl:equivalentClass • [ a owl:Restriction; • owl:onProperty #hasPrice; • owl:minCardinality 1]. • If x has at least one #hasPrice property then we can assert • x rdf:type MenuItem • Additionally, if x is of type MenuItem, then our reasoner can presume that x has at least one occurrence of #hasPrice. • (Similar constructs for owl:maxCardinality and owl:cardinality)
Exercises Left to the Reader • owl:intersectionOf • owl:unionOf • owl:complementOf • owl:disjointWith • owl:differentFrom/sameAs • owl:allDifferent/distinctMembers
Summary • Inference with some OWL constructs introduces complicated reasoning conditions, not understood with simple, well-defined rules. • With current technology, it is generally preferred to avoid these situations.