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 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 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 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 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 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 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 =
Female ⊑ ¬Male
Male(john)
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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}
Td = T ∪ {Maleboy ⊑ Male}
- Compute classification Cl(Td) (e.g. using ASP techniques):
- Extract suport sets from Cl(Td):
8 / 12
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}
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 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}
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 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}
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 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}
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 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}
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 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 Π
Π 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 Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation Experiments Conclusion
Repair Answer Set Computation
9 / 12
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 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 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 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
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
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 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
∪, − ∩};
- 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 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 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 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