DL'12 dl-lite explanations

374 views

Published on

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

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

  • Be the first to like this

No Downloads
Views
Total views
374
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DL'12 dl-lite explanations

  1. 1. 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
  2. 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. 3. Explanations 3 DL Workshop - May 2008 - Dresden
  4. 4. Explanations Why explanations? 3 DL Workshop - May 2008 - Dresden
  5. 5. Explanations Why explanations? What are explanations? 3 DL Workshop - May 2008 - Dresden
  6. 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. 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. 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. 9. Explanations (cont.) 4 DL Workshop - May 2008 - Dresden
  10. 10. Explanations (cont.) Audience: KB developer, End user 4 DL Workshop - May 2008 - Dresden
  11. 11. Explanations (cont.) Audience: KB developer, End user 4 1. Style. Understandable inference rules (NOT refutation or resolution) DL Workshop - May 2008 - Dresden
  12. 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. 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. 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 find ‘explanation proofs’ 3. Proof size: 'shorter' preferred X
  15. 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. 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. 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. 18. Reasoning services 7 DL Workshop - May 2008 - Dresden
  19. 19. Reasoning services • Standard Inferences • TBox reasoning (concept consistency, subsumption) • ABox reasoning (KB satisfiability, Instance checking*) 7 DL Workshop - May 2008 - Dresden
  20. 20. Reasoning services • Standard Inferences • TBox reasoning (concept consistency, subsumption) • ABox reasoning (KB satisfiability, Instance checking*) ✦ Finite model reasoning 7 DL Workshop - May 2008 - Dresden
  21. 21. Reasoning services • Standard Inferences • TBox reasoning (concept consistency, subsumption) • ABox reasoning (KB satisfiability, Instance checking*) ✦ Finite model reasoning • Conjunctive Query Answering 7 DL Workshop - May 2008 - Dresden
  22. 22. Reasoning services • Standard Inferences • TBox reasoning (concept consistency, subsumption) • ABox reasoning (KB satisfiability, Instance checking*) ✦ Finite model reasoning • Conjunctive Query Answering • Successful queries • Failed queries 7 DL Workshop - May 2008 - Dresden
  23. 23. Generalized Inferece Rules <same cardinality> <rng compos> <dom compos> <func compos> X
  24. 24. B C A D Concept Subsumption 8 DL Workshop - May 2008 - Dresden
  25. 25. B C A D Concept Subsumption • Hierarchy Traversing 8 DL Workshop - May 2008 - Dresden
  26. 26. B C A D Concept Subsumption • Hierarchy Traversing A ⊑ D ⊓ C 8 DL Workshop - May 2008 - Dresden
  27. 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. 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. 29. B1 C2 C1 A C3 B2 B3 disjoint n j 9 A is unsatisfiable DL Workshop - May 2008 - Dresden
  30. 30. B1 C2 C1 A C3 B2 B3 disjoint n j 9 Explanation length n + j = 6 A is unsatisfiable DL Workshop - May 2008 - Dresden
  31. 31. B1 C2 C1 A E3 E2 E1D1 C3 E4 B2 B3 disjoint disjoint n j k l 10 A is unsatisfiable DL Workshop - May 2008 - Dresden
  32. 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 unsatisfiable DL Workshop - May 2008 - Dresden
  33. 33. B1 C2 C1 A E3 E2 E1D1 C3 E1 B2 B3 disjoint disjoint Explanation length k + l = 5 A is unsatisfiable Explanation length n + j = 6 n j k l X
  34. 34. B1 C2 C1 A E3 E2 E1D1 C3 E1 B2 B3 disjoint disjoint Explanation length k + l = 5 A is unsatisfiable Explanation length n + j = 6 n j k l X
  35. 35. B1 C2 C1 A E3 E2 E1D1 C3 E1 B2 B3 disjoint disjoint Explanation length k + l = 5 A is unsatisfiable Explanation length n + j = 6 n j k l X
  36. 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. 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. 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. 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. 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. 41. Query Answering • Successful queries 12 DL Workshop - May 2008 - Dresden
  42. 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. 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. 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. 45. CQs in DL-Lite q(x) :- Student(x), supervisedBy(y,x), teaches(x,z) X
  46. 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. 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. 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. 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. 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. 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. 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. 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. 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. 55. Query Answering 15 DL Workshop - May 2008 - Dresden
  56. 56. Query Answering • Successful queries • Failed queries 15 DL Workshop - May 2008 - Dresden
  57. 57. Query Answering • Successful queries • Failed queries • Due to missing information 15 DL Workshop - May 2008 - Dresden
  58. 58. Query Answering • Successful queries • Failed queries • Due to missing information • Due to unsatisfiability 15 DL Workshop - May 2008 - Dresden
  59. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 71. Failed answers italian(bob),friendOf(bob,y),woman(y),drives(y,z),ferrari(z) Why not? q(bob)

×