DL'12 dl-lite explanations

  • 54 views
Uploaded on

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

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

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
54
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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. 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 find ‘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 satisfiability, Instance checking*) 7 DL Workshop - May 2008 - Dresden
  • 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. 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. 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. Generalized Inferece Rules <same cardinality> <rng compos> <dom compos> <func compos> 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 unsatisfiable DL Workshop - May 2008 - Dresden
  • 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. 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. 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. 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. 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. 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. 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 unsatisfiability 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)