exact query reformulation with first order ontologies and
play

Exact Query Reformulation with First-order Ontologies and Databases - PowerPoint PPT Presentation

Exact Query Reformulation with First-order Ontologies and Databases Nhung Ngo Free University of Bolzano A joint work with Enrico Franconi and Volga Kernet Nov 13, 2013 Motivation DBox Query Determinacy Exact Safe-range Query Reformulation


  1. Exact Query Reformulation with First-order Ontologies and Databases Nhung Ngo Free University of Bolzano A joint work with Enrico Franconi and Volga Kernet Nov 13, 2013

  2. Motivation DBox Query Determinacy Exact Safe-range Query Reformulation Application: Query Answering over an Expressive DL and DBox Conclusion

  3. Query Answering Under Contraints and Databases ◮ Given a FOL fragment L ◮ Constraints: a set of L-sentences K B ◮ Database: a finite set of facts D B over a relational signature P DB ◮ Query: a (open) L -formula

  4. Query Answering Under Contraints and Databases ◮ Given a FOL fragment L ◮ Constraints: a set of L-sentences K B ◮ Database: a finite set of facts D B over a relational signature P DB ◮ Query: a (open) L -formula

  5. Query Answering Under Contraints and Databases ◮ Given a FOL fragment L ◮ Constraints: a set of L-sentences K B ◮ Database: a finite set of facts D B over a relational signature P DB ◮ Query: a (open) L -formula

  6. Query Answering Under Contraints and Databases ◮ Given a FOL fragment L ◮ Constraints: a set of L-sentences K B ◮ Database: a finite set of facts D B over a relational signature P DB ◮ Query: a (open) L -formula

  7. Ontology-based Data Access ◮ Given a description logic fragment D L ◮ TBox: a set of TBox assertions T ◮ Databases: a set of ABox assertions A ◮ Query: a concept query

  8. Ontology-based Data Access ◮ Given a description logic fragment D L ◮ TBox: a set of TBox assertions T ◮ Databases: a set of ABox assertions A ◮ Query: a concept query

  9. Ontology-based Data Access ◮ Given a description logic fragment D L ◮ TBox: a set of TBox assertions T ◮ Databases: a set of ABox assertions A ◮ Query: a concept query

  10. Ontology-based Data Access ◮ Given a description logic fragment D L ◮ TBox: a set of TBox assertions T ◮ Databases: a set of ABox assertions A ◮ Query: a concept query

  11. Ontology-based Data Access ◮ Given a description logic fragment D L ◮ TBox: a set of TBox assertions T ◮ Databases: a set of ABox assertions A ◮ Query: a concept query

  12. ABox ◮ An ABox is a finite set of ground atomic facts, syntactically Example A = { Employee(Jon), Project(Winter) } is an ABox ◮ The semantics of ABoxes is given by first-order structures. ◮ An ABox does not correspond to a first-order structure!

  13. ABox ◮ An ABox is a finite set of ground atomic facts, syntactically Example A = { Employee(Jon), Project(Winter) } is an ABox ◮ The semantics of ABoxes is given by first-order structures. ◮ An ABox does not correspond to a first-order structure!

  14. ABox ◮ An ABox is a finite set of ground atomic facts, syntactically Example A = { Employee(Jon), Project(Winter) } is an ABox ◮ The semantics of ABoxes is given by first-order structures. ◮ An ABox does not correspond to a first-order structure!

  15. ABox ◮ An ABox is a finite set of ground atomic facts, syntactically Example A = { Employee(Jon), Project(Winter) } is an ABox ◮ The semantics of ABoxes is given by first-order structures. ◮ An ABox does not correspond to a first-order structure!

  16. ABox Semantics Definition A first-order structure I is a model of an ABox A if I ⊇ A An ABox is an incomplete database i.e., an ABox represents a class of databases. Example Given the ABox A = { Employee(Jon), Project(Winter) } ◮ {{ Employee(Jon), Project(Winter) } is a model of A ◮ {{ Employee(Jon), Employee(Rob), Project(Winter) } ◮ {{ Employee(Jon), Employee(Rob), Project(River) } is not a model of A

  17. ABox Semantics Definition A first-order structure I is a model of an ABox A if I ⊇ A An ABox is an incomplete database i.e., an ABox represents a class of databases. Example Given the ABox A = { Employee(Jon), Project(Winter) } ◮ {{ Employee(Jon), Project(Winter) } is a model of A ◮ {{ Employee(Jon), Employee(Rob), Project(Winter) } ◮ {{ Employee(Jon), Employee(Rob), Project(River) } is not a model of A

  18. ABox Semantics Definition A first-order structure I is a model of an ABox A if I ⊇ A An ABox is an incomplete database i.e., an ABox represents a class of databases. Example Given the ABox A = { Employee(Jon), Project(Winter) } ◮ {{ Employee(Jon), Project(Winter) } is a model of A ◮ {{ Employee(Jon), Employee(Rob), Project(Winter) } ◮ {{ Employee(Jon), Employee(Rob), Project(River) } is not a model of A

  19. ABox Semantics Definition A first-order structure I is a model of an ABox A if I ⊇ A An ABox is an incomplete database i.e., an ABox represents a class of databases. Example Given the ABox A = { Employee(Jon), Project(Winter) } ◮ {{ Employee(Jon), Project(Winter) } is a model of A ◮ {{ Employee(Jon), Employee(Rob), Project(Winter) } ◮ {{ Employee(Jon), Employee(Rob), Project(River) } is not a model of A

  20. Certain Answers Definition Given: ◮ a TBox T , an ABox A and ◮ a concept query Q and an individual a Question: ( T , A ) | = Q ( a ) ? That is ∀ models I of ( T , A ) , is it the case that I | = Q ( a )

  21. ABox vs Database ◮ Additional constraint as a standard view over data: ∀ x Bad-Project(x) ↔ Project(x) ∧ ¬∃ y Work-for(y,x) ◮ Database: Work-for = { <Jon, Winter>, <Rob, Winter> } Project = { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ { River } ◮ ABox: Work-for ⊇ { <Jon, Winter>, <Rob, Winter> } Project ⊇ { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ {} ABox does not scale down to standard DB answer

  22. ABox vs Database ◮ Additional constraint as a standard view over data: ∀ x Bad-Project(x) ↔ Project(x) ∧ ¬∃ y Work-for(y,x) ◮ Database: Work-for = { <Jon, Winter>, <Rob, Winter> } Project = { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ { River } ◮ ABox: Work-for ⊇ { <Jon, Winter>, <Rob, Winter> } Project ⊇ { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ {} ABox does not scale down to standard DB answer

  23. ABox vs Database ◮ Additional constraint as a standard view over data: ∀ x Bad-Project(x) ↔ Project(x) ∧ ¬∃ y Work-for(y,x) ◮ Database: Work-for = { <Jon, Winter>, <Rob, Winter> } Project = { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ { River } ◮ ABox: Work-for ⊇ { <Jon, Winter>, <Rob, Winter> } Project ⊇ { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ {} ABox does not scale down to standard DB answer

  24. ABox vs Database ◮ Additional constraint as a standard view over data: ∀ x Bad-Project(x) ↔ Project(x) ∧ ¬∃ y Work-for(y,x) ◮ Database: Work-for = { <Jon, Winter>, <Rob, Winter> } Project = { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ { River } ◮ ABox: Work-for ⊇ { <Jon, Winter>, <Rob, Winter> } Project ⊇ { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ {} ABox does not scale down to standard DB answer

  25. ABox vs Database ◮ Additional constraint as a standard view over data: ∀ x Bad-Project(x) ↔ Project(x) ∧ ¬∃ y Work-for(y,x) ◮ Database: Work-for = { <Jon, Winter>, <Rob, Winter> } Project = { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ { River } ◮ ABox: Work-for ⊇ { <Jon, Winter>, <Rob, Winter> } Project ⊇ { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ {} ABox does not scale down to standard DB answer

  26. ABox vs Database ◮ Additional constraint as a standard view over data: ∀ x Bad-Project(x) ↔ Project(x) ∧ ¬∃ y Work-for(y,x) ◮ Database: Work-for = { <Jon, Winter>, <Rob, Winter> } Project = { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ { River } ◮ ABox: Work-for ⊇ { <Jon, Winter>, <Rob, Winter> } Project ⊇ { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ {} ABox does not scale down to standard DB answer

  27. ABox vs Database ◮ Additional constraint as a standard view over data: ∀ x Bad-Project(x) ↔ Project(x) ∧ ¬∃ y Work-for(y,x) ◮ Database: Work-for = { <Jon, Winter>, <Rob, Winter> } Project = { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ { River } ◮ ABox: Work-for ⊇ { <Jon, Winter>, <Rob, Winter> } Project ⊇ { Winter, River } ◮ Q ( x ) := Bad-Project(x) ⇒ {} ABox does not scale down to standard DB answer

  28. ABox vs Database ◮ ABox: Work-for ⊇ { <Jon, Winter> } Project ⊇ { Winter, River } ◮ Query as a standard view over database: Q ( x ) := Work-for(y,x) Q = Π 2 Work-for ◮ Q = EVAL (Π 2 Work-for ) ⇒ { Winter, River } ◮ Q = Π 2 ( EVAL ( Work-for )) ⇒ { Winter } Queries are not compositional wrt certain answer semantics!

  29. ABox vs Database ◮ ABox: Work-for ⊇ { <Jon, Winter> } Project ⊇ { Winter, River } ◮ Query as a standard view over database: Q ( x ) := Work-for(y,x) Q = Π 2 Work-for ◮ Q = EVAL (Π 2 Work-for ) ⇒ { Winter, River } ◮ Q = Π 2 ( EVAL ( Work-for )) ⇒ { Winter } Queries are not compositional wrt certain answer semantics!

  30. ABox vs Database ◮ ABox: Work-for ⊇ { <Jon, Winter> } Project ⊇ { Winter, River } ◮ Query as a standard view over database: Q ( x ) := Work-for(y,x) Q = Π 2 Work-for ◮ Q = EVAL (Π 2 Work-for ) ⇒ { Winter, River } ◮ Q = Π 2 ( EVAL ( Work-for )) ⇒ { Winter } Queries are not compositional wrt certain answer semantics!

Recommend


More recommend