71
Explanations for DL-Lite Alexander Borgida 2 Diego Calvanese 1 Mariano Rodríguez-Muro 1 1 1 Free University of Bozen Bolzano 2 Rutgers University DL Workshop - May 2008 - Dresden

DL'12 dl-lite explanations

Embed Size (px)

DESCRIPTION

Early work on explanations for DL-Lite and OWL 2 QL

Citation preview

  • 1. Explanations for DL-Lite Alexander Borgida 2 Diego Calvanese 1 Mariano Rodrguez-Muro 1 1 1 Free University of Bozen Bolzano 2 Rutgers University DL Workshop - May 2008 - Dresden
  • 2. Outline Explanations DL-Lite and Explanations for DL-Lite Explanations for traditional services Explanations for conjunctive queries Conclusions and future work 2 DL Workshop - May 2008 - Dresden
  • 3. Explanations 3 DL Workshop - May 2008 - Dresden
  • 4. Explanations Why explanations? 3 DL Workshop - May 2008 - Dresden
  • 5. Explanations Why explanations? What are explanations? 3 DL Workshop - May 2008 - Dresden
  • 6. Explanations Why explanations? What are explanations? Explanations are formal proofs, constructed from premises using rules of inference. 3 DL Workshop - May 2008 - Dresden
  • 7. Explanations Why explanations? What are explanations? Explanations are formal proofs, constructed from premises using rules of inference. 3 Features of an explanation: DL Workshop - May 2008 - Dresden
  • 8. Explanations Why explanations? What are explanations? Explanations are formal proofs, constructed from premises using rules of inference. 3 Features of an explanation: Style Length Presentation DL Workshop - May 2008 - Dresden
  • 9. Explanations (cont.) 4 DL Workshop - May 2008 - Dresden
  • 10. Explanations (cont.) Audience: KB developer, End user 4 DL Workshop - May 2008 - Dresden
  • 11. Explanations (cont.) Audience: KB developer, End user 4 1. Style. Understandable inference rules (NOT refutation or resolution) DL Workshop - May 2008 - Dresden
  • 12. Explanations (cont.) Audience: KB developer, End user 4 1. Style. Understandable inference rules (NOT refutation or resolution) 2. Length: 'shorter' preferred DL Workshop - May 2008 - Dresden
  • 13. Explanations (cont.) Audience: KB developer, End user 4 1. Style. Understandable inference rules (NOT refutation or resolution) 2. Length: 'shorter' preferred 3. Presentation: Complete proof vs Iterative process. as indicated by the user. Possibly eliminating 'obvious' parts (not addressed here) DL Workshop - May 2008 - Dresden
  • 14. Explanations 1. Explanations as formal proofs 2. Proof content: understandable inference rules (NOT refutation or resolution) In DL-Lite, mostly simple rules but want performance system to help nd explanation proofs 3. Proof size: 'shorter' preferred X
  • 15. DL-Litef Concept constructs B ::= A | P | P- C::= B | B | C1 C2 TBox Assertions B C (funct P) (funt P-) ABox Assertions A(a) R(a,b) 5 DL Workshop - May 2008 - Dresden
  • 16. DL-Litef Is-A Hierarchies Class disjointness Role-typing Participation constraints Non-participation constraints Functionality restrictions A1 A2 A1 A2 P A1 P- A1 A1 P A1 P- A1 P A1 P- (funct P) (funct P-) 6 DL Workshop - May 2008 - Dresden
  • 17. DL-Litef A1 A2 A1 A2 P A1 P- A1 A1 P A1 P- A1 P A1 P- (funct P) (funct P-) A1 A2 disjoint(A1,A2) domain(P) A1 range(P) A1 A1 domain(P) A1 range(P) disjoint(A1, domain(P)) disjoint(A1, range(P)) (funct P) (funct P-) 6 DL Workshop - May 2008 - Dresden
  • 18. Reasoning services 7 DL Workshop - May 2008 - Dresden
  • 19. Reasoning services Standard Inferences TBox reasoning (concept consistency, subsumption) ABox reasoning (KB satisability, Instance checking*) 7 DL Workshop - May 2008 - Dresden
  • 20. Reasoning services Standard Inferences TBox reasoning (concept consistency, subsumption) ABox reasoning (KB satisability, Instance checking*) Finite model reasoning 7 DL Workshop - May 2008 - Dresden
  • 21. Reasoning services Standard Inferences TBox reasoning (concept consistency, subsumption) ABox reasoning (KB satisability, Instance checking*) Finite model reasoning Conjunctive Query Answering 7 DL Workshop - May 2008 - Dresden
  • 22. Reasoning services Standard Inferences TBox reasoning (concept consistency, subsumption) ABox reasoning (KB satisability, Instance checking*) Finite model reasoning Conjunctive Query Answering Successful queries Failed queries 7 DL Workshop - May 2008 - Dresden
  • 23. Generalized Inferece Rules X
  • 24. B C A D Concept Subsumption 8 DL Workshop - May 2008 - Dresden
  • 25. B C A D Concept Subsumption Hierarchy Traversing 8 DL Workshop - May 2008 - Dresden
  • 26. B C A D Concept Subsumption Hierarchy Traversing A D C 8 DL Workshop - May 2008 - Dresden
  • 27. B C A D Concept Subsumption Hierarchy Traversing A D C A C A B B D 8 DL Workshop - May 2008 - Dresden
  • 28. B C A D Concept Subsumption Hierarchy Traversing A D C A C A B B D Minimal size explanations 8 DL Workshop - May 2008 - Dresden
  • 29. B1 C2 C1 A C3 B2 B3 disjoint n j 9 A is unsatisable DL Workshop - May 2008 - Dresden
  • 30. B1 C2 C1 A C3 B2 B3 disjoint n j 9 Explanation length n + j = 6 A is unsatisable DL Workshop - May 2008 - Dresden
  • 31. B1 C2 C1 A E3 E2 E1D1 C3 E4 B2 B3 disjoint disjoint n j k l 10 A is unsatisable DL Workshop - May 2008 - Dresden
  • 32. B1 C2 C1 A E3 E2 E1D1 C3 E4 B2 B3 disjoint disjoint Explanation length k + l = 5 Explanation length n + j = 6 n j k l 10 A is unsatisable DL Workshop - May 2008 - Dresden
  • 33. B1 C2 C1 A E3 E2 E1D1 C3 E1 B2 B3 disjoint disjoint Explanation length k + l = 5 A is unsatisable Explanation length n + j = 6 n j k l X
  • 34. B1 C2 C1 A E3 E2 E1D1 C3 E1 B2 B3 disjoint disjoint Explanation length k + l = 5 A is unsatisable Explanation length n + j = 6 n j k l X
  • 35. B1 C2 C1 A E3 E2 E1D1 C3 E1 B2 B3 disjoint disjoint Explanation length k + l = 5 A is unsatisable Explanation length n + j = 6 n j k l X
  • 36. KB is inconsistent 11 1. PhD Student 2. disjoint(Professor, Student) 3. range(supervisedBy) Professor 4. PhD(al) 5. supevisedBy(tim, al) DL Workshop - May 2008 - Dresden
  • 37. KB is inconsistent 11 1. PhD Student 2. disjoint(Professor, Student) 3. range(supervisedBy) Professor 4. PhD(al) 5. supevisedBy(tim, al) al is a Student al is a Professor no Student can be a Professor 2 DL Workshop - May 2008 - Dresden
  • 38. KB is inconsistent 11 1. PhD Student 2. disjoint(Professor, Student) 3. range(supervisedBy) Professor 4. PhD(al) 5. supevisedBy(tim, al) al is a Student every PhD is also a Student 1 al is a PhD 4 al is a Professor no Student can be a Professor 2 DL Workshop - May 2008 - Dresden
  • 39. KB is inconsistent 11 1. PhD Student 2. disjoint(Professor, Student) 3. range(supervisedBy) Professor 4. PhD(al) 5. supevisedBy(tim, al) al is a Student every PhD is also a Student 1 al is a PhD 4 al is a Professor everything in the range of supervisedBy is also a Professor 3 al is in range of supervisedBy no Student can be a Professor 2 DL Workshop - May 2008 - Dresden
  • 40. KB is inconsistent 11 1. PhD Student 2. disjoint(Professor, Student) 3. range(supervisedBy) Professor 4. PhD(al) 5. supevisedBy(tim, al) al is a Student every PhD is also a Student 1 al is a PhD 4 al is a Professor everything in the range of supervisedBy is also a Professor 3 al is in range of supervisedBy tim supervisedBy al 5 no Student can be a Professor 2 DL Workshop - May 2008 - Dresden
  • 41. Query Answering Successful queries 12 DL Workshop - May 2008 - Dresden
  • 42. Student(bob) Student(juan) supervisedBy(tom, bob) Student(al) supervisedBy(tim, al) teaches(al, ben) teaches(sam, ben) teaches(sam, john) teaches(sam, karl) CQs in regular DBs q(x) :- Student(x), supervisedBy(y,x), teaches(x,z) 13 DL Workshop - May 2008 - Dresden
  • 43. Student(bob) Student(juan) supervisedBy(tom, bob) Student(al) supervisedBy(tim, al) teaches(al, ben) teaches(sam, ben) teaches(sam, john) teaches(sam, karl) CQs in regular DBs q(x) :- Student(x), supervisedBy(y,x), teaches(x,z) q(al) 13 DL Workshop - May 2008 - Dresden
  • 44. Student(bob) Student(juan) supervisedBy(tom, bob) Student(al) supervisedBy(tim, al) teaches(al, ben) teaches(sam, ben) teaches(sam, john) teaches(sam, karl) CQs in regular DBs q(x) :- Student(x), supervisedBy(y,x), teaches(x,z) q(al) Student(al), x=al supervisedBy(tim, al), y=tim teaches(al, ben), z = ben 13 DL Workshop - May 2008 - Dresden
  • 45. CQs in DL-Lite q(x) :- Student(x), supervisedBy(y,x), teaches(x,z) X
  • 46. 1.PhD Student 2.PhD dom(supervisedBy) 3.range(supervisedBy) Professor 4.Professor domain(teaches) 5.PhD(al) q(x) :- Student(x), supervisedBy(x,y), teaches(y,z) 14 DL Workshop - May 2008 - Dresden
  • 47. 1.PhD Student 2.PhD dom(supervisedBy) 3.range(supervisedBy) Professor 4.Professor domain(teaches) 5.PhD(al) q(x) :- Student(x), supervisedBy(x,y), teaches(y,z) q(al) 14 DL Workshop - May 2008 - Dresden
  • 48. al supervisedBy @1 1.PhD Student 2.PhD dom(supervisedBy) 3.range(supervisedBy) Professor 4.Professor domain(teaches) 5.PhD(al) @1 teaches @2 al is a Student q(x) :- Student(x), supervisedBy(x,y), teaches(y,z) q(al) 14 DL Workshop - May 2008 - Dresden
  • 49. al supervisedBy @1 1.PhD Student 2.PhD dom(supervisedBy) 3.range(supervisedBy) Professor 4.Professor domain(teaches) 5.PhD(al) @1 teaches @2 al is a Student every PhD is also a Student 1 al is a PhD 5 q(x) :- Student(x), supervisedBy(x,y), teaches(y,z) q(al) 14 DL Workshop - May 2008 - Dresden
  • 50. al supervisedBy @1 al is in the domain of supervisedBy 1.PhD Student 2.PhD dom(supervisedBy) 3.range(supervisedBy) Professor 4.Professor domain(teaches) 5.PhD(al) @1 teaches @2 al is a Student every PhD is also a Student 1 al is a PhD 5 q(x) :- Student(x), supervisedBy(x,y), teaches(y,z) q(al) 14 DL Workshop - May 2008 - Dresden
  • 51. al supervisedBy @1 al is in the domain of supervisedBy every PhD is also in the domain of supervisedBy 2 al is a PhD 5 1.PhD Student 2.PhD dom(supervisedBy) 3.range(supervisedBy) Professor 4.Professor domain(teaches) 5.PhD(al) @1 teaches @2 al is a Student every PhD is also a Student 1 al is a PhD 5 q(x) :- Student(x), supervisedBy(x,y), teaches(y,z) q(al) 14 DL Workshop - May 2008 - Dresden
  • 52. al supervisedBy @1 al is in the domain of supervisedBy every PhD is also in the domain of supervisedBy 2 al is a PhD 5 1.PhD Student 2.PhD dom(supervisedBy) 3.range(supervisedBy) Professor 4.Professor domain(teaches) 5.PhD(al) @1 teaches @2 every Professor is in the domain of teaches 4 @1 is a Professor al is a Student every PhD is also a Student 1 al is a PhD 5 q(x) :- Student(x), supervisedBy(x,y), teaches(y,z) q(al) 14 DL Workshop - May 2008 - Dresden
  • 53. al supervisedBy @1 al is in the domain of supervisedBy every PhD is also in the domain of supervisedBy 2 al is a PhD 5 1.PhD Student 2.PhD dom(supervisedBy) 3.range(supervisedBy) Professor 4.Professor domain(teaches) 5.PhD(al) @1 teaches @2 every Professor is in the domain of teaches 4 @1 is a Professor @1 is in the range of supervisedBy everything in the range of supervisedBy is a Professor 3 al is a Student every PhD is also a Student 1 al is a PhD 5 q(x) :- Student(x), supervisedBy(x,y), teaches(y,z) q(al) 14 DL Workshop - May 2008 - Dresden
  • 54. al supervisedBy @1 al is in the domain of supervisedBy every PhD is also in the domain of supervisedBy 2 al is a PhD 5 1.PhD Student 2.PhD dom(supervisedBy) 3.range(supervisedBy) Professor 4.Professor domain(teaches) 5.PhD(al) @1 teaches @2 every Professor is in the domain of teaches 4 @1 is a Professor @1 is in the range of supervisedBy everything in the range of supervisedBy is a Professor 3 al is a Student every PhD is also a Student 1 al is a PhD 5 q(x) :- Student(x), supervisedBy(x,y), teaches(y,z) q(al) 14 DL Workshop - May 2008 - Dresden
  • 55. Query Answering 15 DL Workshop - May 2008 - Dresden
  • 56. Query Answering Successful queries Failed queries 15 DL Workshop - May 2008 - Dresden
  • 57. Query Answering Successful queries Failed queries Due to missing information 15 DL Workshop - May 2008 - Dresden
  • 58. Query Answering Successful queries Failed queries Due to missing information Due to unsatisability 15 DL Workshop - May 2008 - Dresden
  • 59. 1.PhD Student 2.range(supervisedBy) Professor 3.disjoint(Professor,Student) q(x):- PhD(x), supervisedBy(y, x) q inconsistent 16 DL Workshop - May 2008 - Dresden
  • 60. @1 is a Professor @1 is a Student 1.PhD Student 2.range(supervisedBy) Professor 3.disjoint(Professor,Student) q(x):- PhD(x), supervisedBy(y, x) q inconsistent q(@1) :- PhD(@1), supervisedBy(@2, @1) no Student can be a Professor 3 16 DL Workshop - May 2008 - Dresden
  • 61. @1 is a Professor @1 is a Student @1 is a PhD every PhD is also a Student 1 1.PhD Student 2.range(supervisedBy) Professor 3.disjoint(Professor,Student) q(x):- PhD(x), supervisedBy(y, x) q inconsistent q(@1) :- PhD(@1), supervisedBy(@2, @1) no Student can be a Professor 3 16 DL Workshop - May 2008 - Dresden
  • 62. @1 is a Professor @1 is a Student @1 is a PhD every PhD is also a Student 1 1.PhD Student 2.range(supervisedBy) Professor 3.disjoint(Professor,Student) q(x):- PhD(x), supervisedBy(y, x) q inconsistent q(@1) :- PhD(@1), supervisedBy(@2, @1) no Student can be a Professor 3 16 DL Workshop - May 2008 - Dresden
  • 63. @1 is a Professor @2 supervisedBy @1 everything in the range of supervisedBy is a Professor 2 @1 is a Student @1 is a PhD every PhD is also a Student 1 1.PhD Student 2.range(supervisedBy) Professor 3.disjoint(Professor,Student) q(x):- PhD(x), supervisedBy(y, x) q inconsistent q(@1) :- PhD(@1), supervisedBy(@2, @1) no Student can be a Professor 3 16 DL Workshop - May 2008 - Dresden
  • 64. @1 is a Professor @2 supervisedBy @1 everything in the range of supervisedBy is a Professor 2 @1 is a Student @1 is a PhD every PhD is also a Student 1 1.PhD Student 2.range(supervisedBy) Professor 3.disjoint(Professor,Student) q(x):- PhD(x), supervisedBy(y, x) q inconsistent q(@1) :- PhD(@1), supervisedBy(@2, @1) no Student can be a Professor 3 16 DL Workshop - May 2008 - Dresden
  • 65. Conclusions We addressed DL-Lite explanations can be given for traditional reasoning services (shortness of proof). Finite model case. Explaining conjunctive queries when reasoning is present by exploiting existing DL-Lite query rewriting algorithm. We looked into the problem of explaining failed answers to queries. 17 DL Workshop - May 2008 - Dresden
  • 66. Future Work Implementation for the QuOnto system. Explanation of failed answers to CQs over DL-Lite ontologies. Explanation in Ontology Based Data Access (presence of mappings). 18 DL Workshop - May 2008 - Dresden
  • 67. Finite Model Reasoning the set of TA is contained in student (2) the number of students < the number of TAs the number of students < the number of objects in the domain of tutors (3 + subset count inference rule) number of objects in the domain of tutors < number of objects in the range of tutors tutors is a function (ax 1) number of objects in the range of tutors < number of TAs (ax 4 + subset count inference rule) 19 TA Student
  • 68. Finite Model Reasoning the set of TA is contained in student (2) the number of students < the number of TAs the number of students < the number of objects in the domain of tutors (3 + subset count inference rule) number of objects in the domain of tutors < number of objects in the range of tutors tutors is a function (ax 1) number of objects in the range of tutors < number of TAs (ax 4 + subset count inference rule) 19 1) funct(tutors) 2) TA Student 3) Student range(tutors) 4) domain(tutors) TATA Student
  • 69. Finite Model Reasoning the set of TA is contained in student (2) the number of students < the number of TAs the number of students < the number of objects in the domain of tutors (3 + subset count inference rule) number of objects in the domain of tutors < number of objects in the range of tutors tutors is a function (ax 1) number of objects in the range of tutors < number of TAs (ax 4 + subset count inference rule) 19 1) funct(tutors) 2) TA Student 3) Student range(tutors) 4) domain(tutors) TATA Student
  • 70. Why not? explaining directly why db |= lnot(exists y, v . A(b),R(b,y), B(y), S(y,w),C(w)). equiv to db |= forall y,v. not A(b) / not R(b,y) / B(y) Need to iterate through all values not in B! The following uses an "intensional" approach ~italian(b),friendof(b,y),woman(y),drives(y,z),ferrari(z) decreasing order to preference/brevity not italian(b) b not in domain(friendOf) no values in friendOf(b) are in Woman no values in friendOf(b) that are women are in domain(drives) no values in drives(friendOf(b)) are in ferrari X
  • 71. Failed answers italian(bob),friendOf(bob,y),woman(y),drives(y,z),ferrari(z) Why not? q(bob)