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
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
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
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
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
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
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