DL'12 dl-lite explanations
Preview:
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)