Towards Practical Deletion Repair of Inconsistent DL-programs - - PowerPoint PPT Presentation

towards practical deletion repair of inconsistent dl
SMART_READER_LITE
LIVE PREVIEW

Towards Practical Deletion Repair of Inconsistent DL-programs - - PowerPoint PPT Presentation

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion Towards Practical Deletion Repair of Inconsistent DL-programs Thomas Eiter Michael Fink Daria Stepanova Knowledge-Based


slide-1
SLIDE 1

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Towards Practical Deletion Repair of Inconsistent DL-programs

Thomas Eiter Michael Fink Daria Stepanova

Knowledge-Based Systems Group, Institute of Information Systems, Vienna University of Technology http://www.kr.tuwien.ac.at/

ECAI 2014 –August, 21, 2014

1 / 12

slide-2
SLIDE 2

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Motivation

  • DL-program: consistent ontology O + rules P

(loose coupling combination approach)

  • DL-atoms serve as query interfaces to O
  • Possibility to add information from P to O

prior to querying it allows for bidirectional information flow

1 / 12

slide-3
SLIDE 3

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Motivation

  • DL-program: consistent ontology O + rules P

(loose coupling combination approach)

  • DL-atoms serve as query interfaces to O
  • Possibility to add information from P to O

prior to querying it allows for bidirectional information flow However, information exchange between P and O can cause inconsistency of the DL-program (absence of answer sets). ! [Eiter et al, IJCAI’2013] Repair answer sets and algorithm for repairing

  • ntology data part, but the latter lacks practicality.

1 / 12

slide-4
SLIDE 4

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Motivation

  • DL-program: consistent ontology O + rules P

(loose coupling combination approach)

  • DL-atoms serve as query interfaces to O
  • Possibility to add information from P to O

prior to querying it allows for bidirectional information flow However, information exchange between P and O can cause inconsistency of the DL-program (absence of answer sets). ! [Eiter et al, IJCAI’2013] Repair answer sets and algorithm for repairing

  • ntology data part, but the latter lacks practicality.

In this work: Algorithm for DL-program repair based on support sets for DL-atoms. Effective for ontologies in DL-LiteA.

1 / 12

slide-5
SLIDE 5

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Overview

Motivation DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

2 / 12

slide-6
SLIDE 6

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

DL-LiteA

  • Lightweight Description Logic for accessing large data sources
  • Concepts and roles model sets of objects and their relationships

C → A | ∃R R → P|P−

  • A DL-LiteA ontology O = T , A consists of:
  • TBox T specifying constraints at the conceptual level

C1 ⊑ C2, C1 ⊑ ¬C2, R1 ⊑ R2, R1 ⊑ ¬R2, (funct R)

  • ABox A specifying the facts that hold in the domain

A(b) P(a, b)

3 / 12

slide-7
SLIDE 7

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

DL-LiteA

  • Lightweight Description Logic for accessing large data sources
  • Concepts and roles model sets of objects and their relationships

C → A | ∃R R → P|P−

  • A DL-LiteA ontology O = T , A consists of:
  • TBox T specifying constraints at the conceptual level

C1 ⊑ C2, C1 ⊑ ¬C2, R1 ⊑ R2, R1 ⊑ ¬R2, (funct R)

  • ABox A specifying the facts that hold in the domain

A(b) P(a, b)

Example

T =

  • Child ⊑ ∃hasParent

Female ⊑ ¬Male

  • A =
  • hasParent(john, pat)

Male(john)

  • 3 / 12
slide-8
SLIDE 8

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

DL-LiteA

  • Lightweight Description Logic for accessing large data sources
  • Concepts and roles model sets of objects and their relationships

C → A | ∃R R → P|P−

  • A DL-LiteA ontology O = T , A consists of:
  • TBox T specifying constraints at the conceptual level

C1 ⊑ C2, C1 ⊑ ¬C2, R1 ⊑ R2, R1 ⊑ ¬R2, (funct R)

  • ABox A specifying the facts that hold in the domain

A(b) P(a, b)

  • For query derivation: single ABox assertion
  • For inconsistency: at most two ABox assertions
  • Classification is tractable

[Calvanese et al., 2007]

3 / 12

slide-9
SLIDE 9

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Example: DL-program

Π = O, P is a DL-program

O =    (1) Child ⊑ ∃hasParent (4) Male(pat) (2) Adopted ⊑ Child (5) Male(john) (3) Female ⊑ ¬Male (6) hasParent(john, pat)   

4 / 12

slide-10
SLIDE 10

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Example: DL-program

Π = O, P is a DL-program

O =    (1) Child ⊑ ∃hasParent (4) Male(pat) (2) Adopted ⊑ Child (5) Male(john) (3) Female ⊑ ¬Male (6) hasParent(john, pat)    P =    (7) ischildof(john, alex); (8) boy(john); (9) hasfather(john, pat) ← DL[Male ⊎ boy; Male](pat), DL[; hasParent](john, pat)   

4 / 12

slide-11
SLIDE 11

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Example: DL-program

Π = O, P is a DL-program

O =    (1) Child ⊑ ∃hasParent (4) Male(pat) (2) Adopted ⊑ Child (5) Male(john) (3) Female ⊑ ¬Male (6) hasParent(john, pat)    P =    (7) ischildof(john, alex); (8) boy(john); (9) hasfather(john, pat) ← DL[Male ⊎ boy; Male](pat), DL[; hasParent](john, pat)   

  • Interpretation: I = {ischildof(john, alex), boy(john), hasfather(john, pat)}
  • Satisfaction relation: I |

=O boy(john); I | =O DL[; hasParent](john, pat) I | =O DL[Male ⊎ boy; Male](pat)

  • Semantics: in terms of answer sets, i.e. founded models (weak, flp, . . . )
  • I is a weak and flp answer set

4 / 12

slide-12
SLIDE 12

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Example: Inconsistent DL-program

Π = O, P

O =    (1) Child ⊑ ∃hasParent (4) Male(pat) (2) Adopted ⊑ Child (5) Male(john) (3) Female ⊑ ¬Male (6) hasParent(john, pat)    P =                  (7) ischildof(john, alex); (8) boy(john); (9) hasfather(john, pat) ← DL[Male ⊎ boy; Male](pat), DL[; hasParent](john, pat); (10) ⊥ ← not DL[; Adopted](john), pat = alex, hasfather(john, pat), ischildof(john, alex), not DL[Child ⊎ boy; ¬Male](alex)                 

5 / 12

slide-13
SLIDE 13

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Example: Inconsistent DL-program

Π = O, P

O =    (1) Child ⊑ ∃hasParent (4) Male(pat) (2) Adopted ⊑ Child (5) Male(john) (3) Female ⊑ ¬Male (6) hasParent(john, pat)    P =                  (7) ischildof(john, alex); (8) boy(john); (9) hasfather(john, pat) ← DL[Male ⊎ boy; Male](pat), DL[; hasParent](john, pat); (10) ⊥ ← not DL[; Adopted](john), pat = alex, hasfather(john, pat), ischildof(john, alex), not DL[Child ⊎ boy; ¬Male](alex)                 

5 / 12

slide-14
SLIDE 14

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Example: Inconsistent DL-program

Π = O, P

O =    (1) Child ⊑ ∃hasParent (4) Male(pat) (2) Adopted ⊑ Child (5) Male(john) (3) Female ⊑ ¬Male (6) hasParent(john, pat)    P =                  (7) ischildof(john, alex); (8) boy(john); (9) hasfather(john, pat) ← DL[Male ⊎ boy; Male](pat), DL[; hasParent](john, pat); (10) ⊥ ← not DL[; Adopted](john), pat = alex, hasfather(john, pat), ischildof(john, alex), not DL[Child ⊎ boy; ¬Male](alex)                 

5 / 12

slide-15
SLIDE 15

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Example: Inconsistent DL-program

Π = O, P is inconsistent!

O =    (1) Child ⊑ ∃hasParent (4) Male(pat) (2) Adopted ⊑ Child (5) Male(john) (3) Female ⊑ ¬Male (6) hasParent(john, pat)    P =                  (7) ischildof(john, alex); (8) boy(john); (9) hasfather(john, pat) ← DL[Male ⊎ boy; Male](pat), DL[; hasParent](john, pat); (10) ⊥ ← not DL[; Adopted](john), pat = alex, hasfather(john, pat), ischildof(john, alex), not DL[Child ⊎ boy; ¬Male](alex).                  No answer sets

5 / 12

slide-16
SLIDE 16

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Example: Inconsistent DL-program

Π = O, P is consistent!

O =    (1) Child ⊑ ∃hasParent (2) Adopted ⊑ Child (5) Male(john) (3) Female ⊑ ¬Male (6) hasParent(john, pat)    P =                  (7) ischildof(john, alex); (8) boy(john); (9) hasfather(john, pat) ← DL[Male ⊎ boy; Male](pat), DL[; hasParent](john, pat); (10) ⊥ ← not DL[; Adopted](john), pat = alex, hasfather(john, pat), ischildof(john, alex), not DL[Child ⊎ boy; ¬Male](alex)                  I1 = {ischildof(john, alex), boy(john)}

5 / 12

slide-17
SLIDE 17

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Example: Inconsistent DL-program

Π = O, P is consistent!

O =    (1) Child ⊑ ∃hasParent (4) Male(pat) (2) Adopted ⊑ Child (5) Male(john) (3) Female ⊑ ¬Male    P =                  (7) ischildof(john, alex); (8) boy(john); (9) hasfather(john, pat) ← DL[Male ⊎ boy; Male](pat), DL[; hasParent](john, pat); (10) ⊥ ← not DL[; Adopted](john), pat = alex, hasfather(john, pat), ischildof(john, alex), not DL[Child ⊎ boy; ¬Male](alex)                  I1 = {ischildof(john, alex), boy(john)}

5 / 12

slide-18
SLIDE 18

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Ground Support Sets

d = DL[Male ⊎ boy; Male](pat); T = {Female ⊑ ¬Male} When is d true under interpretation I?

6 / 12

slide-19
SLIDE 19

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Ground Support Sets

d = DL[Male ⊎ boy; Male](pat); T = {Female ⊑ ¬Male} When is d true under interpretation I?

  • Male(pat) ∈ A
  • boy(pat) ∈ I
  • boy(alex) ∈ I; Female(alex) ∈ A

6 / 12

slide-20
SLIDE 20

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Ground Support Sets

d = DL[

λ

  • Male ⊎ boy; Male](pat); Td = {Female ⊑ ¬Male; Maleboy ⊑ Male}

When is d true under interpretation I?

  • Male(pat) ∈ A
  • Maleboy(pat) ∈ Ad, s.t. boy(pat) ∈ I
  • Maleboy(alex) ∈ Ad, s.t. boy(alex) ∈ I; Female(alex) ∈ A

where Ad = {Pp(t) | P ⊎ p ∈ λ} ∪ {¬Pp(t) | P − ∪ p ∈ λ}

6 / 12

slide-21
SLIDE 21

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Ground Support Sets

Definition

S ⊆ A ∪ Ad is a support set for d = DL[λ; Q](t) w.r.t. O = T , A if either (i) S = {P(c)} and Td ∪ S | = Q(t) or (ii) S = {P(c), P′(d)}, s.t. Td ∪ S is inconsistent. SuppO(d) is a set of all support sets for d. d = DL[Male ⊎ boy; Male](pat); Td = {Female ⊑ ¬Male; Maleboy ⊑ Male} Support sets:

  • S1 = {Male(pat)}, coherent with any I
  • S2 = {Maleboy(pat)}, coherent with I ⊇ boy(pat)
  • S3 = {Maleboy(alex); Female(alex)}, coherent with I ⊇ boy(alex)

6 / 12

slide-22
SLIDE 22

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Ground Support Sets

Definition

S ⊆ A ∪ Ad is a support set for d = DL[λ; Q](t) w.r.t. O = T , A if either (i) S = {P(c)} and Td ∪ S | = Q(t) or (ii) S = {P(c), P′(d)}, s.t. Td ∪ S is inconsistent. SuppO(d) is a set of all support sets for d. I | =O d iff there exists S ∈ SuppO(d), which is coherent with I.

6 / 12

slide-23
SLIDE 23

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonground Support Sets

d = DL[Male ⊎ boy; Male](pat), Td = {Female ⊑ ¬Male; Maleboy ⊑ Male} Support sets:

  • S1 = {Male(pat)}
  • S2 = {Maleboy(pat)}
  • S3 = {Maleboy(c); Female(c)} c ∈ C

7 / 12

slide-24
SLIDE 24

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonground Support Sets

d = DL[Male ⊎ boy; Male](X), Td = {Female ⊑ ¬Male; Maleboy ⊑ Male} Nonground support sets:

  • S1 = {Male(X)}
  • S2 = {Maleboy(X)}
  • S3 = {Maleboy(Y); Female(Y)}

7 / 12

slide-25
SLIDE 25

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonground Support Sets

Definition

S = {P(Y), P′(Y′)} (S = {P(Y)}) is a nonground support set for a DL-atom d(X) w.r.t. T if for every θ : V → C it holds that Sθ is a support set for d(Xθ) w.r.t. OC = T , AC, where AC is a set of all possible assertions over C. d = DL[Male ⊎ boy; Male](X), Td = {Female ⊑ ¬Male; Maleboy ⊑ Male} Nonground support sets:

  • S1 = {Male(X)}
  • S2 = {Maleboy(X)}
  • S3 = {Maleboy(Y); Female(Y)}

7 / 12

slide-26
SLIDE 26

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonground Support Sets

Definition

S = {P(Y), P′(Y′)} (S = {P(Y)}) is a nonground support set for a DL-atom d(X) w.r.t. T if for every θ : V → C it holds that Sθ is a support set for d(Xθ) w.r.t. OC = T , AC, where AC is a set of all possible assertions over C. Nonground support sets are compact representations of ground ones.

7 / 12

slide-27
SLIDE 27

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonground Support Sets

Definition

S = {P(Y), P′(Y′)} (S = {P(Y)}) is a nonground support set for a DL-atom d(X) w.r.t. T if for every θ : V → C it holds that Sθ is a support set for d(Xθ) w.r.t. OC = T , AC, where AC is a set of all possible assertions over C. Nonground support sets are compact representations of ground ones. Completeness: family of nonground support sets S for d(X) is complete w.r.t. O if for every θ : X → C and S ∈ SuppO(d(Xθ)) some S′ ∈ S exists, s.t. S = S′θ′. Complete support families alow to avoid access to O during DL-atom evaluation.

7 / 12

slide-28
SLIDE 28

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonround Support Set Computation

d = DL[Male ⊎ boy; Male](X); T = {Female ⊑ ¬Male}

  • Construct Td:
  • Compute classification Cl(Td) (e.g. using ASP techniques):
  • Extract suport sets from Cl(Td):

8 / 12

slide-29
SLIDE 29

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonround Support Set Computation

d = DL[Male ⊎ boy; Male](X); T = {Female ⊑ ¬Male}

  • Construct Td:

Td = T ∪ {Maleboy ⊑ Male}

  • Compute classification Cl(Td) (e.g. using ASP techniques):
  • Extract suport sets from Cl(Td):

8 / 12

slide-30
SLIDE 30

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonround Support Set Computation

d = DL[Male ⊎ boy; Male](X); T = {Female ⊑ ¬Male}

  • Construct Td:

Td = T ∪ {Maleboy ⊑ Male}

  • Compute classification Cl(Td) (e.g. using ASP techniques):

cl(Td) = Td ∪{Male ⊑ ¬Female; Maleboy ⊑ ¬Female}∪{P ⊑ P | P ∈ P}

  • Extract suport sets from Cl(Td):

8 / 12

slide-31
SLIDE 31

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonround Support Set Computation

d = DL[Male ⊎ boy; Male](X); T = {Female ⊑ ¬Male}

  • Construct Td:

Td = T ∪ {Maleboy ⊑ Male}

  • Compute classification Cl(Td) (e.g. using ASP techniques):

cl(Td) = Td ∪{Male ⊑ ¬Female; Maleboy ⊑ ¬Female}∪{P ⊑ P | P ∈ P}

  • Extract suport sets from Cl(Td):
  • S1 = {Male(X)}
  • S2 = {Maleboy(X)}
  • S3 = {Maleboy(Y), ¬Male(Y)}
  • S4 = {Maleboy(Y), Female(Y)}
  • S5 = {Male(Y), ¬Male(Y)}
  • S6 = {Male(Y), Female(Y)}

8 / 12

slide-32
SLIDE 32

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonround Support Set Computation

d = DL[Male ⊎ boy; Male](X); T = {Female ⊑ ¬Male}

  • Construct Td:

Td = T ∪ {Maleboy ⊑ Male}

  • Compute classification Cl(Td) (e.g. using ASP techniques):

cl(Td) = Td ∪{Male ⊑ ¬Female; Maleboy ⊑ ¬Female}∪{P ⊑ P | P ∈ P}

  • Extract suport sets from Cl(Td):
  • S1 = {Male(X)}
  • S2 = {Maleboy(X)}
  • S3 = {Maleboy(Y), ¬Male(Y)}
  • S4 = {Maleboy(Y), Female(Y)}
  • S5 = {Male(Y), ¬Male(Y)}
  • S6 = {Male(Y), Female(Y)}

8 / 12

slide-33
SLIDE 33

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonround Support Set Computation

d = DL[Male ⊎ boy; Male](X); T = {Female ⊑ ¬Male}

  • Construct Td:

Td = T ∪ {Maleboy ⊑ Male}

  • Compute classification Cl(Td) (e.g. using ASP techniques):

cl(Td) = Td ∪{Male ⊑ ¬Female; Maleboy ⊑ ¬Female}∪{P ⊑ P | P ∈ P}

  • Extract suport sets from Cl(Td):
  • S1 = {Male(X)}
  • S2 = {Maleboy(X)}
  • S3 = {Maleboy(Y), ¬Male(Y)}
  • S4 = {Maleboy(Y), Female(Y)}
  • ✭✭✭✭✭✭✭✭✭✭✭✭

S5 = {Male(Y), ¬Male(Y)}

  • ✭✭✭✭✭✭✭✭✭✭✭✭

✭ S6 = {Male(Y), Female(Y)}

  • O is consistent!

8 / 12

slide-34
SLIDE 34

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Nonround Support Set Computation

d = DL[Male ⊎ boy; Male](X); T = {Female ⊑ ¬Male}

  • Construct Td:

Td = T ∪ {Maleboy ⊑ Male}

  • Compute classification Cl(Td) (e.g. using ASP techniques):

cl(Td) = Td ∪{Male ⊑ ¬Female; Maleboy ⊑ ¬Female}∪{P ⊑ P | P ∈ P}

  • Extract suport sets from Cl(Td):
  • S1 = {Male(X)}
  • S2 = {Maleboy(X)}
  • S3 = {Maleboy(Y), ¬Male(Y)}
  • S4 = {Maleboy(Y), Female(Y)}

       {S1, S2, S3, S4} is complete!

8 / 12

slide-35
SLIDE 35

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Repair Answer Set Computation

Compute complete support families S for all DL-atoms of Π

  • Construct ˆ

Π from Π = O, P:

  • Replace all DL-atoms a with normal atoms ea
  • Add guessing rules on values of a: ea ∨ nea
  • For all ˆ

I ∈ AS(ˆ

Π) : Dp = {a | ea ∈ ˆ

I}; Dn = {a | nea ∈ ˆ I}

Ground support sets in S wrt. ˆ

I and A: Sˆ

I gr ← Gr(S,ˆ

I, A)

Find A′, such that For all a ∈ Dp: there is S ∈ Sˆ

I gr(a), s.t.

S ∩ A′ = ∅ or S ⊆ Aa

For all a′ ∈ Dn: for all S ∈ Sˆ

I gr(a′):

S ∩ A′ = ∅ and S ⊆ Aa′

Minimality check of ˆ

I|Π wrt. Π′ = O′, P, O′ = T , A′

9 / 12

slide-36
SLIDE 36

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Repair Answer Set Computation

9 / 12

slide-37
SLIDE 37

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Repair Answer Set Computation SupRAnsSet is sound and complete

  • wrt. deletion repair answer sets!

9 / 12

slide-38
SLIDE 38

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Experiments

5 10 15 20 25 30 35 20 40 60 instance seconds A50 AS A50 rep A1000 AS A1000 rep 20 40 60 80 100 20 40 60 instance seconds Pcon AS Pcon rep Pguess AS Pguess rep 10 / 12

slide-39
SLIDE 39

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Related Work

Inconsistenies in DL-LiteA ontologies:

  • Consistent query answering over DL-Lite ontologies

based on repair technique [Lembo et al., 2010], [Bienvenu, 2012]

  • QA to DL-LiteA ontologies that miss expected tuples

(abductive explanations corresponding to repairs) [Calvanese et al., 2012]

Support sets in other works:

  • Support sets for HEX-programs [Eiter et al, AAAI’2014]

as more abstract structures

11 / 12

slide-40
SLIDE 40

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion

Conclusion and Future Work

Conclusions:

  • Ground and nonground support sets for DL-atoms
  • Allow evaluation of DL-atoms avoiding ontology access
  • Support sets for DL-LiteA are small and efficiently computable
  • Effective sound and complete algorithm SupRAnsSet for deletion

repair computation based on support sets

  • Implementation in DLVHEX and evaluation on a set of benchmarks

Further and future work:

  • Extensions to other DLs (e.g. EL)
  • Computing preferred repairs

(e.g. σ-selection [Eiter et al, IJCAI’2013])

12 / 12

slide-41
SLIDE 41

References I

Meghyn Bienvenu. On the complexity of consistent query answering in the presence of simple ontologies. In Proceedings of the 26th AAAI Conference on Artificial Intelligence, pages 705–711, Toronto, Ontario, Canada, July 2012. American Association for Artificial Intelligence. Diego Calvanese, Domenico Lembo, Maurizio Lenzerini, and Riccardo Rosati. Tractable reasoning and efficient query answering in description logics: The DL-Lite family. Journal of Automated Reasoning, 39(3):385–429, October 2007.

slide-42
SLIDE 42

References II

Diego Calvanese, Magdalena Ortiz, Mantas Simkus, and Giorgio Stefanoni. The complexity of explaining negative query answers in DL-Lite. In Proceedings of the 13th International Conference on the Principles of Knowledge Representation and Reasoning, Rome, Italy, June 2012. American Association for Artificial Intelligence. Domenico Lembo, Maurizio Lenzerini, Riccardo Rosati, Marco Ruzzi, and Domenico Fabio Savo. Inconsistency-tolerant semantics for description logic ontologies. In Proceedings of the 19th Italian Symposium on Advanced Database Systems, pages 103–117, Bressanone/Brixen, Italy, September 2010. Springer.

slide-43
SLIDE 43

DL-program: syntax

Signature: Σ = C, I, P, C, R, where

  • Σ0 = I, C, R is a DL signature;
  • C ⊇ I is a set of constant symbols;
  • P is a finite set of predicate symbols of arity ≥ 0, s.t. P ∩ {C ∪ R} = ∅.

DL-atom is of the form DL[S1op1p1, . . . , Smopmpm; Q](t), m ≥ 0, where

  • Si ∈ C ∪ R;
  • opi ∈ {⊎, −

∪, − ∩};

  • pi ∈ P (unary or binary);
  • Q(t) is a DL-query:
  • C(t1), ¬C(t1), t = t1, where C ∈ C;
  • R(t1, t2), ¬R(t1, t2), t = t1, t2, where R ∈ R.
  • C ⊑ D, C ⊑ D, t = ǫ, where C, D ∈ C ∪ {⊤, ⊥};

DL-program: Π = O, P, O is a DL ontology, P is a set of DL-rules: a1 ∨ . . . ∨ an ← b1, . . . bk, not bk+1, . . . , not bm, m ≥ k ≥ 0, ai is a classical literal; bi is a classical literal or a DL-atom.

2 / 4

slide-44
SLIDE 44

DL-program: semantics

Consider grounding grd(Π)= O, grd(P) of Π = O, P over C and P. Interpretation I is a consistent set of ground literals over C and P.

  • for ground literal ℓ: I |

=O ℓ iff ℓ ∈ I;

  • for ground DL-atom a = DL[S1op1p1, . . . , Smopmpm; Q](c):

I | =O a iff τ(T , A ∪ λI(a)) | = Q(c), where τ(O) is a modular translation of O to FOL, λI(a) = m

i=1 Ai(I) is a DL-update of O under I by a:

  • Ai(I) = {Si(t) | pi(t) ∈ I}, for opi = ⊎;
  • Ai(I) = {¬Si(t) | pi(t) ∈ I}, for opi = −

∪;

  • Ai(I) = {¬Si(t) | pi(t) ∈ I}, for −

∩. FLP-reduct ρflpPI of P is a set of ground DL-rules r s.t. I | = b+(r), I | = b−(r). Weak-reduct ρweakPI of P: removes all DL-atoms bi, 1 ≤ i ≤ k and all not bj, k < j ≤ m from the rules of ρflpPI. I is an x-answer set of P iff I is a minimal model of its x-reduct.

3 / 4

slide-45
SLIDE 45

Network Benchmark

O =    (1) ∃forbid ⊑ Block (4) edge(ni, nj) (2) Broken ⊑ Block (5) . . . (3) Block ⊑ ¬Avail (6) . . .    Pguess =                (1) go(X, Y) ← open(X), open(Y), DL[; edge](X, Y). (2) route(X, Z) ← route(X, Y), route(Y, Z). (3) route(X, Y) ← not DL[Block ⊎ block; forbid](X, Y), go(X, Y). (4) open(X) ∨ block(X) ← not DL[; ¬Avail](X), node(X). (5) negIs(X) ← node(X), route(X, Y), X = Y. (6) ⊥ ← node(X), not negIs(X).               

4 / 4

slide-46
SLIDE 46

Network Benchmark

O =    (1) ∃forbid ⊑ Block (4) edge(ni, nj) (2) Broken ⊑ Block (5) . . . (3) Block ⊑ ¬Avail (6) . . .    Pcon =                (1) go(X, Y) ← open(X), open(Y), DL[; edge](X, Y). (2) route(X, Z) ← route(X, Y), route(Y, Z). (3′) route(X, Y) ← go(X, Y), not DL[; forbid](X, Y). (4′) open(X) ← node(X), not DL[; ¬Avail](X). (5) negIs(X) ← node(X), route(X, Y), X = Y. (6′) ⊥ ← in(X), out(Y), not route(X, Y).               

4 / 4