complete query answering over horn ontologies using a
play

Complete Query Answering over Horn Ontologies Using a Triple Store - PowerPoint PPT Presentation

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


  1. 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

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. 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

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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

  15. 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