1. The document discusses explanations for reasoning services in Description Logics, specifically DL-Lite. It defines explanations as formal proofs constructed from premises using rules of inference.
2. It examines how to generate explanations for traditional reasoning services like concept subsumption and instance checking, as well as for answering conjunctive queries in DL-Lite knowledge bases.
3. The goal is to generate explanations that are understandable by knowledge base developers and end users, are in a readable style using simple inference rules, and are as short as possible while still being complete.
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
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
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
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
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