odbase'08 dl-lite explanations
DESCRIPTION
Explanations for DL-Lite, OWL 2 QL, reasoning in query rewritingTRANSCRIPT
Explanations for DL-LiteAlexander Borgida 2
Diego Calvanese 1
Mariano Rodríguez-Muro 1
1
1 Free University of Bozen Bolzano2 Rutgers University
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Outline
• Explanations
• DL-Lite and Explanations for DL-Lite
• Explanations for traditional services
• Explanations for conjunctive queries
• Conclusions and future work
2 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Explanations
3 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
ExplanationsWhy explanations?
3 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
ExplanationsWhy explanations?
What are explanations?
3 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
ExplanationsWhy explanations?
What are explanations?
• Explanations are formal proofs, constructed from premises using rules of inference.
3 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
ExplanationsWhy explanations?
What are explanations?
• Explanations are formal proofs, constructed from premises using rules of inference.
3
Features of an explanation:
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
ExplanationsWhy explanations?
What are explanations?
• Explanations are formal proofs, constructed from premises using rules of inference.
3
Features of an explanation:
• Style
• Length
• Presentation
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Explanations (cont.)
4 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Explanations (cont.)
Audience: KB developer, End user
4 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Explanations (cont.)
Audience: KB developer, End user
4
1. Style. Understandable inference rules (NOT refutation or resolution)
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Explanations (cont.)
Audience: KB developer, End user
4
1. Style. Understandable inference rules (NOT refutation or resolution)
2. Length: 'shorter' preferred
ODBASE 08 - Monterrey, México
Thursday, August 8, 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)
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
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 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
DL-Litef
Is-A HierarchiesClass 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 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
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 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Reasoning services
7 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Reasoning services
• Standard Inferences
• TBox reasoning (concept consistency, subsumption)
• ABox reasoning (KB satisfiability, Instance checking*)
7 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Reasoning services
• Standard Inferences
• TBox reasoning (concept consistency, subsumption)
• ABox reasoning (KB satisfiability, Instance checking*)
✦ Finite model reasoning
7 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Reasoning services
• Standard Inferences
• TBox reasoning (concept consistency, subsumption)
• ABox reasoning (KB satisfiability, Instance checking*)
✦ Finite model reasoning
• Conjunctive Query Answering
7 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
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 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
B C
A
D
Concept Subsumption
8 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
B C
A
D
Concept Subsumption
• Hierarchy Traversing
8 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
B C
A
D
Concept Subsumption
• Hierarchy Traversing
A ⊑ D ⊓ C
8 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
B C
A
D
Concept Subsumption
• Hierarchy Traversing
A ⊑ D ⊓ CA ⊑ CA ⊑ B
B ⊑ D
8 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
B C
A
D
Concept Subsumption
• Hierarchy Traversing
A ⊑ D ⊓ CA ⊑ CA ⊑ B
B ⊑ D
• Minimal size explanations
8 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
B1
C2
C1
A
C3
B2
B3
disjoint
n j
9
A is unsatisfiable
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
B1
C2
C1
A
C3
B2
B3
disjoint
n j
9
Explanation length
n + j = 6
A is unsatisfiable
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
B1
C2
C1
A
E3
E2
E1D1
C3
E4
B2
B3
disjoint
disjoint
n j k l
10
A is unsatisfiable
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
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
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
KB is inconsistent
11
1. PhD ⊑ Student2. disjoint(Professor, Student)3. range(supervisedBy) ⊑ Professor4. PhD(al)5. supevisedBy(tim, al)
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
KB is inconsistent
11
1. PhD ⊑ Student2. disjoint(Professor, Student)3. range(supervisedBy) ⊑ Professor4. PhD(al)5. supevisedBy(tim, al)
al is a Student
al is a Professor
no Student can be a Professor ➔ 2
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
KB is inconsistent
11
1. PhD ⊑ Student2. disjoint(Professor, Student)3. range(supervisedBy) ⊑ Professor4. 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
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
KB is inconsistent
11
1. PhD ⊑ Student2. disjoint(Professor, Student)3. range(supervisedBy) ⊑ Professor4. 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 Professoreverything in the range of supervisedBy is also a Professor ➔ 3al is in range of supervisedBy
no Student can be a Professor ➔ 2
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
KB is inconsistent
11
1. PhD ⊑ Student2. disjoint(Professor, Student)3. range(supervisedBy) ⊑ Professor4. 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 Professoreverything in the range of supervisedBy is also a Professor ➔ 3al is in range of supervisedBy
tim supervisedBy al ➔ 5
no Student can be a Professor ➔ 2
ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Query Answering
• Successful queries
12 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
⋮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 DBsq(x) :- Student(x), supervisedBy(y,x), teaches(x,z)
13 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
⋮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 DBsq(x) :- Student(x), supervisedBy(y,x), teaches(x,z)
q(al)
13 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
⋮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 DBsq(x) :- Student(x), supervisedBy(y,x), teaches(x,z)
q(al)
Student(al), x=alsupervisedBy(tim, al), y=timteaches(al, ben), z = ben
13 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
1.PhD ⊑ Student2.PhD ⊑ dom(supervisedBy)3.range(supervisedBy) ⊑ Professor4.Professor ⊑ domain(teaches)5.PhD(al)
q(x) :- Student(x), supervisedBy(x,y), teaches(y,z)
14 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
1.PhD ⊑ Student2.PhD ⊑ dom(supervisedBy)3.range(supervisedBy) ⊑ Professor4.Professor ⊑ domain(teaches)5.PhD(al)
q(x) :- Student(x), supervisedBy(x,y), teaches(y,z)
q(al)
14 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
al supervisedBy @1!!
1.PhD ⊑ Student2.PhD ⊑ dom(supervisedBy)3.range(supervisedBy) ⊑ Professor4.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 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
al supervisedBy @1!!
1.PhD ⊑ Student2.PhD ⊑ dom(supervisedBy)3.range(supervisedBy) ⊑ Professor4.Professor ⊑ domain(teaches)5.PhD(al)
@1 teaches @2
al is a Studentevery PhD is also a Student ➔ 1al is a PhD ➔ 5
q(x) :- Student(x), supervisedBy(x,y), teaches(y,z)
q(al)
14 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
al supervisedBy @1!!al is in the domain of supervisedBy
1.PhD ⊑ Student2.PhD ⊑ dom(supervisedBy)3.range(supervisedBy) ⊑ Professor4.Professor ⊑ domain(teaches)5.PhD(al)
@1 teaches @2
al is a Studentevery PhD is also a Student ➔ 1al is a PhD ➔ 5
q(x) :- Student(x), supervisedBy(x,y), teaches(y,z)
q(al)
14 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
al supervisedBy @1!!al is in the domain of supervisedBy
every PhD is also in the domain of supervisedBy ➔ 2al is a PhD ➔ 5
1.PhD ⊑ Student2.PhD ⊑ dom(supervisedBy)3.range(supervisedBy) ⊑ Professor4.Professor ⊑ domain(teaches)5.PhD(al)
@1 teaches @2
al is a Studentevery PhD is also a Student ➔ 1al is a PhD ➔ 5
q(x) :- Student(x), supervisedBy(x,y), teaches(y,z)
q(al)
14 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
al supervisedBy @1!!al is in the domain of supervisedBy
every PhD is also in the domain of supervisedBy ➔ 2al is a PhD ➔ 5
1.PhD ⊑ Student2.PhD ⊑ dom(supervisedBy)3.range(supervisedBy) ⊑ Professor4.Professor ⊑ domain(teaches)5.PhD(al)
@1 teaches @2every Professor is in the domain of teaches ➔ 4 @1 is a Professor
al is a Studentevery PhD is also a Student ➔ 1al is a PhD ➔ 5
q(x) :- Student(x), supervisedBy(x,y), teaches(y,z)
q(al)
14 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
al supervisedBy @1!!al is in the domain of supervisedBy
every PhD is also in the domain of supervisedBy ➔ 2al is a PhD ➔ 5
1.PhD ⊑ Student2.PhD ⊑ dom(supervisedBy)3.range(supervisedBy) ⊑ Professor4.Professor ⊑ domain(teaches)5.PhD(al)
@1 teaches @2every Professor is in the domain of teaches ➔ 4 @1 is a Professor
@1 is in the range of supervisedByeverything in the range of supervisedBy is a Professor ➔ 3
al is a Studentevery PhD is also a Student ➔ 1al is a PhD ➔ 5
q(x) :- Student(x), supervisedBy(x,y), teaches(y,z)
q(al)
14 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
al supervisedBy @1!!al is in the domain of supervisedBy
every PhD is also in the domain of supervisedBy ➔ 2al is a PhD ➔ 5
1.PhD ⊑ Student2.PhD ⊑ dom(supervisedBy)3.range(supervisedBy) ⊑ Professor4.Professor ⊑ domain(teaches)5.PhD(al)
@1 teaches @2every Professor is in the domain of teaches ➔ 4 @1 is a Professor
@1 is in the range of supervisedByeverything in the range of supervisedBy is a Professor ➔ 3
al is a Studentevery PhD is also a Student ➔ 1al is a PhD ➔ 5
q(x) :- Student(x), supervisedBy(x,y), teaches(y,z)
q(al)
14 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Query Answering
15 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Query Answering
• Successful queries
• Failed queries
15 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Query Answering
• Successful queries
• Failed queries
• Due to missing information
15 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Query Answering
• Successful queries
• Failed queries
• Due to missing information
• Due to unsatisfiability
15 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
1.PhD ⊑ Student2.range(supervisedBy) ⊑ Professor3.disjoint(Professor,Student)
q(x):- PhD(x), supervisedBy(y, x)
q inconsistent
16 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
@1 is a Professor
@1 is a Student
1.PhD ⊑ Student2.range(supervisedBy) ⊑ Professor3.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 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
@1 is a Professor
@1 is a Student@1 is a PhD every PhD is also a Student ➔ 1
1.PhD ⊑ Student2.range(supervisedBy) ⊑ Professor3.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 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
@1 is a Professor
@1 is a Student@1 is a PhD every PhD is also a Student ➔ 1
1.PhD ⊑ Student2.range(supervisedBy) ⊑ Professor3.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 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
@1 is a Professor@2 supervisedBy @1everything 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 ⊑ Student2.range(supervisedBy) ⊑ Professor3.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 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
@1 is a Professor@2 supervisedBy @1everything 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 ⊑ Student2.range(supervisedBy) ⊑ Professor3.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 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
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 a) exploiting existing DL-Lite query rewriting algorithm and b) Prolog-based program.
• We looked into the problem of explaining failed answers to queries.
17 ODBASE 08 - Monterrey, México
Thursday, August 8, 13
Future Work
• Explanation of failed answers to CQs over DL-Lite ontologies.
• Integration of prototype with the QuOnto Reasoner.
• Explanation in Ontology Based Data Access (presence of mappings).
• Field testing of the algorithms.
18 ODBASE 08 - Monterrey, México
Thursday, August 8, 13