Complete Query Answering over Horn Ontologies Using a Triple Store Yujiao Zhou joint work with Yavor Nenov, Bernardo Cuenca Grau and Ian Horrocks Department of Computer Science, University of Oxford Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 1 / 16
Conjunctive Query Answering An ontology O consists of a set of schema-level axioms. A dataset D consists of a set of facts (ground atoms). A conjunctive query is of the form Q ( � x ) = ∃ � y ϕ ( � y ). x ,� � a ∈ cert( Q , O , D ) iff O ∪ D | = Q ( � a ). Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 2 / 16
Running example O ex = { SubClassOf (Animal SomeValuesFrom (eats Thing)) , SubClassOf (Herbivore AllValuesFrom (eats Plant)) , DisjointClasses (Herbivore Carnivore) , SubClassOf (Carnivore MinCardinality (2 hasParent)) } D ex = { ClassAssertion (Animal , lion ) , ClassAssertion (Animal , rabbit ) , ClassAssertion (Herbivore , rabbit ) , ClassAssertion (Herbivore , sheep ) , PropertyAssertion (eats , sheep , grass ) , ClassAssertion (Carnivore , wolf ) } Q ex ( x ) = ∃ y (eats( x , y ) ∧ Plant( y )) cert( Q ex , O ex , D ex ) = { sheep , rabbit } Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 3 / 16
Running example O ex = { SubClassOf (Animal SomeValuesFrom (eats Thing)) , O ex = { SubClassOf (Animal SomeValuesFrom (eats Thing)) , SubClassOf (Herbivore AllValuesFrom (eats Plant)) , DisjointClasses (Herbivore Carnivore) , SubClassOf (Herbivore AllValuesFrom (eats Plant)) , DisjointClasses (Herbivore Carnivore) , SubClassOf (Carnivore MinCardinality (2 hasParent)) } D ex = { ClassAssertion (Animal , lion ) , ClassAssertion (Animal , rabbit ) , SubClassOf (Carnivore MinCardinality (2 hasParent)) } D ex = { ClassAssertion (Animal , lion ) , ClassAssertion (Animal , rabbit ) , ClassAssertion (Herbivore , rabbit ) , ClassAssertion (Herbivore , sheep ) , ClassAssertion (Herbivore , rabbit ) , ClassAssertion (Herbivore , sheep ) , PropertyAssertion (eats , sheep , grass ) , ClassAssertion (Carnivore , wolf ) } PropertyAssertion (eats , sheep , grass ) , ClassAssertion (Carnivore , wolf ) } Q ex ( x ) = ∃ y (eats( x , y ) ∧ Plant( y )) Q ex ( x ) = ∃ y (eats( x , y ) ∧ Plant( y )) O ex ∪ D ex | = Q ex ( sheep ) cert( Q ex , O ex , D ex ) = { sheep , rabbit } cert( Q ex , O ex , D ex ) = { sheep , rabbit } Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 3 / 16
Running example O ex = { SubClassOf (Animal SomeValuesFrom (eats Thing)) , O ex = { SubClassOf (Animal SomeValuesFrom (eats Thing)) , SubClassOf (Herbivore AllValuesFrom (eats Plant)) , DisjointClasses (Herbivore Carnivore) , SubClassOf (Herbivore AllValuesFrom (eats Plant)) , DisjointClasses (Herbivore Carnivore) , SubClassOf (Carnivore MinCardinality (2 hasParent)) } D ex = { ClassAssertion (Animal , lion ) , ClassAssertion (Animal , rabbit ) , SubClassOf (Carnivore MinCardinality (2 hasParent)) } D ex = { ClassAssertion (Animal , lion ) , ClassAssertion (Animal , rabbit ) , ClassAssertion (Herbivore , rabbit ) , ClassAssertion (Herbivore , sheep ) , ClassAssertion (Herbivore , rabbit ) , ClassAssertion (Herbivore , sheep ) , PropertyAssertion (eats , sheep , grass ) , ClassAssertion (Carnivore , wolf ) } PropertyAssertion (eats , sheep , grass ) , ClassAssertion (Carnivore , wolf ) } Q ex ( x ) = ∃ y (eats( x , y ) ∧ Plant( y )) Q ex ( x ) = ∃ y (eats( x , y ) ∧ Plant( y )) O ex ∪ D ex | = Q ex ( rabbit ) cert( Q ex , O ex , D ex ) = { sheep , rabbit } cert( Q ex , O ex , D ex ) = { sheep , rabbit } Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 3 / 16
Background OWL 2 High computational complexity Limited scalability of OWL 2 reasoner Lightweight profiles, e.g. OWL 2 RL Polynomial data complexity Scalable triple stores: OWLim, Oracle’s RDF Semantic Graph, RDFox . . . Restrictions on expressivity Disjunctive and existential axioms Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 4 / 16
Approach Overview OWL 2 RL reasoner - most workload 1 Compute lower and upper bounds for query answers; 1 ∗ Extract relavant part to resolve answers in the gap; 2 OWL 2 reasoner - as little work as possible 3 Check the answers in the gap with the relevant fragment . 1 Yujiao Zhou et al. “Making the Most of your Triple Store: Query Answering in OWL 2 Using an RL Reasoner”. In: WWW . 2013. Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 5 / 16
Lower and upper bounds of query answers Lower Bounds O L : RL fragment of O O L ⊆ O Property: cert( Q , O L , D ) ⊆ cert( Q , O , D ) Example O ex L = { SubClassOf (Herbivore AllValuesFrom (eats Plant)) DisjointClasses (Herbivore Carnivore) } D ex = { ClassAssertion (Animal , lion ) , ClassAssertion (Animal , rabbit ) , ClassAssertion (Herbivore , rabbit ) , ClassAssertion (Herbivore , sheep ) , PropertyAssertion (eats , sheep , grass ) , ClassAssertion (Carnivore , wolf ) } Q ex ( x ) = ∃ y (eats( x , y ) ∧ Plant( y )) cert( Q ex , O ex L , D ex ) = { sheep } Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 6 / 16
Lower and upper bounds of query answers Upper Bounds Over-approximate O to an RL ontology O U , s.t. O U | = O Property cert( Q , O , D ) ⊆ cert( Q , O U , D ) Disjunctive axioms: disjunctions → conjunctions. SubClassOf (Mammal UnionOf (Herbivore Carnivore)) � SubClassOf (Mammal IntersectionOf (Herbivore Carnivore)) Existential axioms: skolemisation by fresh individuals. SubClassOf (Animal SomeValuesFrom (eats Thing)) � SubClassOf (Animal HasValue (eats c )) Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 7 / 16
Lower and upper bounds of query answers Upper Bounds Over-approximate O to an RL ontology O U , s.t. O ex = { SubClassOf (Animal SomeValuesFrom (eats Thing)) , SubClassOf (Herbivore AllValuesFrom (eats Plant)) , O U | = O DisjointClasses (Herbivore Carnivore) , Property SubClassOf (Carnivore MinCardinality (2 hasParent)) } cert( Q , O , D ) ⊆ cert( Q , O U , D ) Disjunctive axioms: disjunctions → conjunctions. D ex = { ClassAssertion (Animal , lion ) , ClassAssertion (Animal , rabbit ) , SubClassOf (Mammal UnionOf (Herbivore Carnivore)) ClassAssertion (Herbivore , rabbit ) , ClassAssertion (Herbivore , sheep ) , � SubClassOf (Mammal IntersectionOf (Herbivore Carnivore)) PropertyAssertion (eats , sheep , grass ) , ClassAssertion (Carnivore , wolf ) } Existential axioms: skolemisation by fresh individuals. Q ex ( x ) = ∃ y (eats( x , y ) ∧ Plant( y )) SubClassOf (Animal SomeValuesFrom (eats Thing)) � SubClassOf (Animal HasValue (eats c )) Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 7 / 16
Lower and upper bounds of query answers Upper Bounds Over-approximate O to an RL ontology O U , s.t. O ex U = { SubClassOf (Animal HasValue (eats c )) , SubClassOf (Herbivore AllValuesFrom (eats Plant)) , O U | = O DisjointClasses (Herbivore Carnivore) , Property SubClassOf (Carnivore HasValue (hasParent c 1 )) , cert( Q , O , D ) ⊆ cert( Q , O U , D ) SubClassOf (Carnivore HasValue (hasParent c 2 )) , DifferentFrom ( c 1 c 2 ) } Disjunctive axioms: disjunctions → conjunctions. D ex = { ClassAssertion (Animal , lion ) , ClassAssertion (Animal , rabbit ) , SubClassOf (Mammal UnionOf (Herbivore Carnivore)) ClassAssertion (Herbivore , rabbit ) , ClassAssertion (Herbivore , sheep ) , � SubClassOf (Mammal IntersectionOf (Herbivore Carnivore)) PropertyAssertion (eats , sheep , grass ) , ClassAssertion (Carnivore , wolf ) } Existential axioms: skolemisation by fresh individuals. Q ex ( x ) = ∃ y (eats( x , y ) ∧ Plant( y )) SubClassOf (Animal SomeValuesFrom (eats Thing)) cert( Q ex , Σ ex U , D ex ) = { sheep , rabbit , lion } � SubClassOf (Animal HasValue (eats c )) Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 7 / 16
Lower and upper bounds of query answers Lower & Upper Bounds � a ∈ cert( Q , O , D ) � a ∈ cert( Q , O L , D ) sheep a �∈ cert( Q , O , D ) a �∈ cert( Q , O U , D ) wolf � � Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 8 / 16
Lower and upper bounds of query answers Lower & Upper Bounds � a ∈ cert( Q , O , D ) � a ∈ cert( Q , O L , D ) sheep a �∈ cert( Q , O , D ) a �∈ cert( Q , O U , D ) wolf � � ??? � a ∈ cert( Q , O U , D ) \ cert( Q , O L , D ) rabbit, lion Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 8 / 16
Lower and upper bounds of query answers Lower & Upper Bounds � a ∈ cert( Q , O , D ) � a ∈ cert( Q , O L , D ) sheep a �∈ cert( Q , O , D ) a �∈ cert( Q , O U , D ) wolf � � ??? � a ∈ cert( Q , O U , D ) \ cert( Q , O L , D ) rabbit, lion Computed by the same OWL 2 RL reasoner efficiently. Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 8 / 16
Computing ontology and dataset fragments Main Intuition Two questions: how Q ex ( rabbit ) , Q ex ( lion ) are obtained from O ex U ∪ D ex ; if they can be derived from O ex ∪ D ex in an analogical way. Yujiao Zhou (Oxford) Complete Query Answering ISWC 2013 9 / 16
Recommend
More recommend