KR12 Semantic Index and TBox optimisation with respect to dependencies

278 views
165 views

Published on

KR'12 Presentation of two techniques for efficient reasoning and query answering in DL-Lite (OWL 2 QL).

First, Semantic Index, a technique to store triples (ABoxes) in a way that already encodes all the entailments of the ontology (RDFS or OWL 2 QL) in the backend, allowing for reasoning without exponential rewritings or forward chaining. The technique can easily be used to construct very efficient triple stores with inference support.

Second, a TBox optimisation technique that allows to obtain simpler TBoxes when the triples (ABoxes) satisfy a set of constraints.

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
278
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

KR12 Semantic Index and TBox optimisation with respect to dependencies

  1. 1. Mariano Rodríguez-Muro and Diego Calvanese KRDB Research Group Free University of Bozen-Bolzano KR’12 Realizing OBDA with data dependencies Thursday, June 14, 2012
  2. 2. OBDA and -Quest- DL-Lite (OWL 2 QL) - promise • Light-weight DL • Allows for QA by query rewriting into FO-queries (i.e,. SQL) • Mapping techniques that allow for OBDA (sound, GAV mappings) • Fast query rewriting techniques • Implementations available 2 Thursday, June 14, 2012
  3. 3. OBDA and -Quest- • UCQ = 729 CQs, UNION of 729 SPJ SQL queries • Datalog = 9 rules, 1 SPJ of UNIONS (3 nested UNIONS of 9 elements each) An trivial example 3 A B E D F C G H I q(x) ← A(x), R(x, y), A(y), R(y, z), A(z) Thursday, June 14, 2012
  4. 4. OBDA and -Quest- • Focused on “size” of the rewriting and dealing with ended up playing an “encoding” game... • The role of SQL engines, their features and limitations has been neglected DL-Lite (OWL 2 QL) - reality • Query answering by query rewriting still slow, but not due to the rewriting technique • RDBMS cannot handle our queries efficiently 4 A ∃R Thursday, June 14, 2012
  5. 5. OBDA and -Quest- 5 “Efficient query answering in OBDA or QAO requires exploiting and optimizing every element/resource in the query answering system, not just query rewriting algorithms” Thursday, June 14, 2012
  6. 6. OBDA and -Quest- ABOX DEPENDENCIES Describing out data sources 6 Thursday, June 14, 2012
  7. 7. OBDA and -Quest- QAO revisited Reasoner Application TBox ABox Inputs Thursday, June 14, 2012
  8. 8. OBDA and -Quest- QAO revisited Reasoner Application TBox ABox Inputs Source Thursday, June 14, 2012
  9. 9. OBDA and -Quest- QAO revisited Reasoner Application TBox ABox Inputs SourceOBDA Model Thursday, June 14, 2012
  10. 10. OBDA and -Quest- OBDA Reasoner Source Application Direct Communication TBox OBDA Model Inputs Thursday, June 14, 2012
  11. 11. CardiacArrest Condition Clog Condition Patient ∃name Patient ∃age Patient ∃ssn Patient ∃affectedBy OBDA and -Quest- An ontology 9 ∃name Patient ∃age Patient ∃ssn Patient ∃affectedBy Patient ∃affectedBy− Condition Thursday, June 14, 2012
  12. 12. OBDA and -Quest- An example id [PKEY] name age ssn 12 John 37 xxx-999 Table: patient patient_id [FKEY] c_code 12 33 Table: conditionOBDA Model Thursday, June 14, 2012
  13. 13. OBDA and -Quest- An example SELECT id,name,age,ssn FROM patient :person/{$id} a Patient; name $name; age $age^^xsd:int; ssn $ssn id [PKEY] name age ssn 12 John 37 xxx-999 Table: patient patient_id [FKEY] c_code 12 33 Table: conditionOBDA Model Thursday, June 14, 2012
  14. 14. OBDA and -Quest- An example SELECT id,name,age,ssn FROM patient :person/{$id} a Patient; name $name; age $age^^xsd:int; ssn $ssn id [PKEY] name age ssn 12 John 37 xxx-999 Table: patient patient_id [FKEY] c_code 12 33 Table: condition SELECT id, c_id FROM condition :person/{$id} affectedBy :cond/{$id}. :cond/{$id} a Condition OBDA Model Thursday, June 14, 2012
  15. 15. OBDA and -Quest- An example SELECT id,name,age,ssn FROM patient :person/{$id} a Patient; name $name; age $age^^xsd:int; ssn $ssn id [PKEY] name age ssn 12 John 37 xxx-999 Table: patient patient_id [FKEY] c_code 12 33 Table: condition SELECT id, c_id FROM condition :person/{$id} affectedBy :cond/{$id}. :cond/{$id} a Condition SELECT id FROM condition WHERE c_code = 33 :cond/{$id} a CardiacArrest SELECT id,c_id FROM condition WHERE c_code = 27 :cond/{$id} a Clog OBDA Model Thursday, June 14, 2012
  16. 16. R := P | P− ∀x.B1(x) ∈ A → B2(x) ∈ A ∀x, y.R1(x, y) ∈ A → R2(x, y) ∈ A B1 A B2 R1 A R2 OBDA and -Quest- ABox dependencies for DL-Lite 11 Concept descriptions Role descriptions ABox constraints • Semantics: B := A | ∃R • In addition to TBox and ABox (or OBDA model), we introduce a set of ABox dependencies Sigma Σ Thursday, June 14, 2012
  17. 17. CardiacArrest A Condition Clog A Condition Patient A ∃name Patient A ∃age Patient A ∃ssn Patient A ∃affectedBy ∃name A Patient ∃age A Patient ∃ssn A Patient ∃affectedBy A Patient ∃affectedBy− A Condition OBDA and -Quest- ABox constraints,example 12 Thursday, June 14, 2012
  18. 18. OBDA and -Quest- ABOX CONSTRAINTS 13 Optimizing your TBox Thursday, June 14, 2012
  19. 19. Given a TBox T and a set of ABox dependencies Σ we want to compute T s.t. each α ∈ T is not redundant w.r.t. Σ OBDA and -Quest- Redundancy inT w.r.t.Sigma 14 Thursday, June 14, 2012
  20. 20. Given a TBox T and a set of ABox dependencies Σ we want to compute T s.t. each α ∈ T is not redundant w.r.t. Σ OBDA and -Quest- Redundancy inT w.r.t.Sigma 14 A T -chain from B to C is a sequence of inclusion assertions (Bi B i)n i=0 for some n ≥ 0, such that: 1. B0 = B, B n = C, and 2. for 1 ≤ i ≤ n, we have that B i−1 and Bi are basic concepts s.t., either (i) B i−1 = Bi, or (ii) B i−1 = ∃R and Bi = ∃R− , for some basic role R . Respectively for role chains. Chains in T and Sigma Thursday, June 14, 2012
  21. 21. OBDA and -Quest- Redundancy w.r.t.Sigma 15 Thursday, June 14, 2012
  22. 22. B C is directly redundant in T w.r.t. Σ if (i) Σ |= B A C and (ii) for every T -chain (Bi B i)n i=0 with B n = B in T , there is a Σ-chain (Bi A B i)n i=0. Similarly for roles. OBDA and -Quest- Redundancy w.r.t.Sigma 16 Direct redundancy T-chain Sigma-chain Thursday, June 14, 2012
  23. 23. B C is redundant in T w.r.t. Σ if (a) it is directly redundant, or (b) there exists B = B s.t. (i) T |= B C, (ii) B C is not directly redundant in T w.r.t. Σ, and (iii) B B is directly redundant. OBDA and -Quest- Redundancy w.r.t.Sigma 17 Redundancy T-chain Sigma-chain Thursday, June 14, 2012
  24. 24. OBDA and -Quest- Redundancy w.r.t.Sigma 18 • We can compute T’ by reducing redundancy checks to reachability in DAGs • Computable in polynomial time • Optimal (no redundant axioms in T’) T is the set of inclusion assertions {α ∈ sat(T ) | α is not redundant in sat(T ) w.r.t. sat(Σ)}. Thursday, June 14, 2012
  25. 25. OBDA and -Quest- ABOX CONSTRAINTS 19 Enforcing dependencies Thursday, June 14, 2012
  26. 26. OBDA and -Quest- OBDA with OWL 2 QL OBDA Model Manipulate mappings Manipulate the data Inference shifting. Separate ground reasoning from existential reasoning (efficiently) Thursday, June 14, 2012
  27. 27. OBDA and -Quest- OBDA with OWL 2 QL Reasoner Application TBox ABox Inputs Thursday, June 14, 2012
  28. 28. OBDA and -Quest- OBDA with OWL 2 QL Reasoner Application TBox ABox Inputs Thursday, June 14, 2012
  29. 29. OBDA and -Quest- OBDA with OWL 2 QL Reasoner Application TBox ABox Inputs OBDA Model Thursday, June 14, 2012
  30. 30. OBDA and -Quest- Creating semanticABox storage 24 ABox 1. Encode the hierarchies of T in indexes and intervals Thursday, June 14, 2012
  31. 31. OBDA and -Quest- Creating semanticABox storage 25 ABox 1. Encode the hierarchies of T in indexes and intervals A B E D F C G H I Thursday, June 14, 2012
  32. 32. OBDA and -Quest- Creating semanticABox storage 26 ABox 1. Encode the hierarchies of T in indexes and intervals A B E D F C G H I 1 2 3 4 5 6 7 8 9 Thursday, June 14, 2012
  33. 33. OBDA and -Quest- Creating semanticABox storage 26 ABox 1. Encode the hierarchies of T in indexes and intervals A B E D F C G H I 1 2 3 4 5 6 7 8 9 Insert into your DB using those indexes C IDX d 4 h 8 A = D(d), H(h) Thursday, June 14, 2012
  34. 34. A B E D F C G H I 1 [1,8] 2 [2,5] 3 [3,3] 4 [4,4] 5 [5,5] 6 [6,9] 7 [7,7] 8 [8,8] 9 [9,9] OBDA and -Quest- Creating semanticABox storage 27 ABox 3. Define intervals to retrieve your data Thursday, June 14, 2012
  35. 35. A B E D F C G H I 1 [1,8] 2 [2,5] 3 [3,3] 4 [4,4] 5 [5,5] 6 [6,9] 7 [7,7] 8 [8,8] 9 [9,9] OBDA and -Quest- Creating semanticABox storage 27 ABox 3. Define intervals to retrieve your data ?x a A SELECT c FROM t WHERE IDX = 1 AND IDX = 8 OBDA Model 4. Create mappings using those intervals Thursday, June 14, 2012
  36. 36. A B E D F C G H I 1 [1,8] 2 [2,5] 3 [3,3] 4 [4,4] 5 [5,5] 6 [6,9] 7 [7,7] 8 [8,8] 9 [9,9] OBDA and -Quest- Creating semanticABox storage 27 ABox 3. Define intervals to retrieve your data ?x a A SELECT c FROM t WHERE IDX = 1 AND IDX = 8 OBDA Model 4. Create mappings using those intervals 5. Complement with mappings to cover domain, range and inverse inferences Thursday, June 14, 2012
  37. 37. Experiments 28 • Experimentation using Stanford’s “Resource Index” • Semantic search over annotated documents • 200 ontologies from Bio-portal (only hierarchies 200k concepts, millions of subClassOf) Thursday, June 14, 2012
  38. 38. Experiments 29 • Current system uses chase • Naive chase: 7 days • Optimized chase: 40 mins • Cost 16 GB + 70 GB chase data • Split second responses • Pure query rewriting approaches • not-feasible (UCQs or Datalog) • Semantic index-based rewriting • DAG computation and indexing 5 mins • Cost: 16 GB • Single queries, split second responses Thursday, June 14, 2012
  39. 39. OBDA and -Quest- CONCLUSIONS Thursday, June 14, 2012
  40. 40. OBDA and -Quest- Conclusions • Introduced ABox dependencies to describe the structure of data • Showed how to optimize TBoxes w.r.t. dependencies, • Introduced the idea of “shifting” inferences from TBox reasoning to Mapping reasoning. • Introduced “Semantic Index” repositories • Not mentioned - “Equivalence optimization” 31 Thursday, June 14, 2012
  41. 41. OBDA and -Quest- Conclusions • Inference shifting is also possible in strict OBDA (see T-mappings [AMW’09]) • All (including T-mappings) is implemented in Quest and -ontop-, now available as a P4 plugin. • Combined with a fast rewriting technique (see [Kontchakov et. al 12] and [Rosati, 12]) T-mappings and Semantic indexes allow for OBDA and QAO in practice • Practical and Theoretical evidence that we have covered relevant cases • Time to put things to practice! (and look at the future, hybrid approaches, EL, Datalog+-, OWL 2 RL) 32 Thursday, June 14, 2012
  42. 42. OBDA and -Quest- THANKYOU Thursday, June 14, 2012

×