60
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 ODBASE 08 - Monterrey, México Thursday, August 8, 13

ODBASE'08 dl-lite explanations

Embed Size (px)

DESCRIPTION

Explanations for DL-Lite, OWL 2 QL, reasoning in query rewriting

Citation preview

Page 1: ODBASE'08 dl-lite explanations

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

Page 2: ODBASE'08 dl-lite explanations

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

Page 3: ODBASE'08 dl-lite explanations

Explanations

3 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 4: ODBASE'08 dl-lite explanations

ExplanationsWhy explanations?

3 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 5: ODBASE'08 dl-lite explanations

ExplanationsWhy explanations?

What are explanations?

3 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 6: ODBASE'08 dl-lite explanations

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

Page 7: ODBASE'08 dl-lite explanations

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

Page 8: ODBASE'08 dl-lite explanations

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

Page 9: ODBASE'08 dl-lite explanations

Explanations (cont.)

4 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 10: ODBASE'08 dl-lite explanations

Explanations (cont.)

Audience: KB developer, End user

4 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 11: ODBASE'08 dl-lite explanations

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

Page 12: ODBASE'08 dl-lite explanations

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

Page 13: ODBASE'08 dl-lite explanations

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

Page 14: ODBASE'08 dl-lite explanations

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

Page 15: ODBASE'08 dl-lite explanations

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

Page 16: ODBASE'08 dl-lite explanations

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

Page 17: ODBASE'08 dl-lite explanations

Reasoning services

7 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 18: ODBASE'08 dl-lite explanations

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

Page 19: ODBASE'08 dl-lite explanations

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

Page 20: ODBASE'08 dl-lite explanations

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

Page 21: ODBASE'08 dl-lite explanations

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

Page 22: ODBASE'08 dl-lite explanations

B C

A

D

Concept Subsumption

8 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 23: ODBASE'08 dl-lite explanations

B C

A

D

Concept Subsumption

• Hierarchy Traversing

8 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 24: ODBASE'08 dl-lite explanations

B C

A

D

Concept Subsumption

• Hierarchy Traversing

A ⊑ D ⊓ C

8 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 25: ODBASE'08 dl-lite explanations

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

Page 26: ODBASE'08 dl-lite explanations

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

Page 27: ODBASE'08 dl-lite explanations

B1

C2

C1

A

C3

B2

B3

disjoint

n j

9

A is unsatisfiable

ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 28: ODBASE'08 dl-lite explanations

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

Page 29: ODBASE'08 dl-lite explanations

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

Page 30: ODBASE'08 dl-lite explanations

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

Page 31: ODBASE'08 dl-lite explanations

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

Page 32: ODBASE'08 dl-lite explanations

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

Page 33: ODBASE'08 dl-lite explanations

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

Page 34: ODBASE'08 dl-lite explanations

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

Page 35: ODBASE'08 dl-lite explanations

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

Page 36: ODBASE'08 dl-lite explanations

Query Answering

• Successful queries

12 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 37: ODBASE'08 dl-lite explanations

⋮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

Page 38: ODBASE'08 dl-lite explanations

⋮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

Page 39: ODBASE'08 dl-lite explanations

⋮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

Page 40: ODBASE'08 dl-lite explanations

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

Page 41: ODBASE'08 dl-lite explanations

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

Page 42: ODBASE'08 dl-lite explanations

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

Page 43: ODBASE'08 dl-lite explanations

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

Page 44: ODBASE'08 dl-lite explanations

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

Page 45: ODBASE'08 dl-lite explanations

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

Page 46: ODBASE'08 dl-lite explanations

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

Page 47: ODBASE'08 dl-lite explanations

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

Page 48: ODBASE'08 dl-lite explanations

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

Page 49: ODBASE'08 dl-lite explanations

Query Answering

15 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 50: ODBASE'08 dl-lite explanations

Query Answering

• Successful queries

• Failed queries

15 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 51: ODBASE'08 dl-lite explanations

Query Answering

• Successful queries

• Failed queries

• Due to missing information

15 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 52: ODBASE'08 dl-lite explanations

Query Answering

• Successful queries

• Failed queries

• Due to missing information

• Due to unsatisfiability

15 ODBASE 08 - Monterrey, México

Thursday, August 8, 13

Page 53: ODBASE'08 dl-lite explanations

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

Page 54: ODBASE'08 dl-lite explanations

@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

Page 55: ODBASE'08 dl-lite explanations

@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

Page 56: ODBASE'08 dl-lite explanations

@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

Page 57: ODBASE'08 dl-lite explanations

@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

Page 58: ODBASE'08 dl-lite explanations

@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

Page 59: ODBASE'08 dl-lite explanations

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

Page 60: ODBASE'08 dl-lite explanations

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