Motivation DL-program: rules P + consistent ontology O DL-atom 1 - - PowerPoint PPT Presentation

motivation
SMART_READER_LITE
LIVE PREVIEW

Motivation DL-program: rules P + consistent ontology O DL-atom 1 - - PowerPoint PPT Presentation

Motivation Overview DL-programs Support Sets for DL-atoms Repair Answer Set Computation over EL Experiments Conclusion Computing Repairs for Inconsistent DL-programs over EL Ontologies Thomas Eiter Michael Fink Daria Stepanova


slide-1
SLIDE 1

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

Computing Repairs for Inconsistent DL-programs

  • ver EL Ontologies

Thomas Eiter Michael Fink Daria Stepanova

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

JELIA 2014–September, 26, 2014

1 / 13

slide-2
SLIDE 2

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

Motivation

  • DL-program: rules P + consistent ontology O

(loose coupling combination approach)

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

querying it: bidirectional data flow

P O

DL-atom 1 DL-atom 2 1 / 13

slide-3
SLIDE 3

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

Motivation

  • DL-program: rules P + consistent ontology O

(loose coupling combination approach)

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

querying it: bidirectional data flow

P O

DL-atom 1 DL-atom 2

However, information exchange between P and O can cause inconsistency of the DL-program (absence of answer sets).

1 / 13

slide-4
SLIDE 4

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

Motivation

  • DL-program: rules P + consistent ontology O

(loose coupling combination approach)

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

querying it: bidirectional data flow

P O

DL-atom 1 DL-atom 2

However, information exchange between P and O can cause inconsistency of the DL-program (absence of answer sets). Repair answer sets [E et al, IJCAI 2013] Algorithm based on complete support families [E et al, ECAI 2014] Effective for DL-LiteA (few small support sets per DL-atom) Not well suited for EL (might be many / large support sets . . . ) In this work: algorithm for repairing DL-programs over EL ontologies

1 / 13

slide-5
SLIDE 5

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

Overview

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

2 / 13

slide-6
SLIDE 6

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

EL Description Logic

  • Lightweight DL, widely used in biology, medicine and other domains
  • Concepts and roles model sets of objects and their relationships
  • EL-concept is formed according to the rule

C ::= A | ⊤ | C ⊓ C | ∃R.C

  • An EL ontology O = T , A consists of
  • TBox T specifying inclusions/equivalence between EL-concepts

C ⊑ D C ≡ D

  • ABox A specifying facts that hold in the domain

A(b) R(a, b)

Example

T =

  • Blacklisted ⊑ Staff

BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubject.Blacklisted

  • A =
  • StaffRequest(r1)

hasSubject(r1, john) Blacklisted(john)

3 / 13

slide-7
SLIDE 7

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

EL Description Logic

  • Lightweight DL, widely used in biology, medicine and other domains
  • Concepts and roles model sets of objects and their relationships
  • EL-concept is formed according to the rule

C ::= A | ⊤ | C ⊓ C | ∃R.C

  • An EL ontology O = T , A consists of
  • TBox T specifying inclusions/equivalence between EL-concepts

C ⊑ D C ≡ D

  • ABox A specifying facts that hold in the domain

A(b) R(a, b)

  • Normalized TBox Tnorm contains only inclusions of the form

A1 ⊑ A2 A1 ⊓ A2 ⊑ A3 ∃R.A1 ⊑ A2 A1 ⊑ R.A21

1Ai is an atomic concept 3 / 13

slide-8
SLIDE 8

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

Example: DL-program

Π = O, P is a DL-program

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Actqcap∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =    (7) projfile(p1); (8) hasowner(p1, john); (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1)   

4 / 13

slide-9
SLIDE 9

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

Example: DL-program

Π = O, P is a DL-program

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Actqcap∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =    (7) projfile(p1); (8) hasowner(p1, john); (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1)   

  • Interpretation: I = {projfile(p1), hasowner(p1, john), deny(r1)}
  • Satisfaction relation: I |

=O projfile(p1); I | =O DL[Proj ⊎ projfile; StaffRequest](r1) I | =O DL[; BLStaffRequest](r1)

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

4 / 13

slide-10
SLIDE 10

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

Example: DL-program

Π = O, P is a DL-program

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Actqcap∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =    (7) projfile(p1); (8) hasowner(p1, john); (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1)   

  • Interpretation: I = {projfile(p1), hasowner(p1, john), deny(r1)}
  • Satisfaction relation: I |

=O projfile(p1); I | =O DL[Proj ⊎ projfile; StaffRequest](r1) I | =O DL[; BLStaffRequest](r1)

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

4 / 13

slide-11
SLIDE 11

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

Example: DL-program

Π = O, P is a DL-program

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Actqcap∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =    (7) projfile(p1); (8) hasowner(p1, john); (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1)   

  • Interpretation: I = {projfile(p1), hasowner(p1, john), deny(r1)}
  • Satisfaction relation: I |

=O projfile(p1); I | =O DL[Proj ⊎ projfile; StaffRequest](r1) I | =O DL[; BLStaffRequest](r1)

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

4 / 13

slide-12
SLIDE 12

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

Example: DL-program

Π = O, P is a DL-program

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Actqcap∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =    (7) projfile(p1); (8) hasowner(p1, john); (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1)   

  • Interpretation: I = {projfile(p1), hasowner(p1, john), deny(r1)}
  • Satisfaction relation: I |

=O projfile(p1); I | =O DL[Proj ⊎ projfile; StaffRequest](r1) I | =O DL[; BLStaffRequest](r1)

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

4 / 13

slide-13
SLIDE 13

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

Example: Inconsistent DL-program

Π = O, P

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Act ⊓ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =            (7) projfile(p1) (8) hasowner(p1, john) (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1) (11) ⊥ ← projfile(p1), hasowner(p1, john), DL[; hasSubj](r1, john), not grant(r1)           

5 / 13

slide-14
SLIDE 14

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

Example: Inconsistent DL-program

Π = O, P

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Act ⊓ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =            (7) projfile(p1) (8) hasowner(p1, john) (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1) (11) ⊥ ← projfile(p1), hasowner(p1, john), DL[; hasSubj](r1, john), not grant(r1)           

5 / 13

slide-15
SLIDE 15

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

Example: Inconsistent DL-program

Π = O, P

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Act ⊓ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =            (7) projfile(p1) (8) hasowner(p1, john) (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1) (11) ⊥ ← projfile(p1), hasowner(p1, john), DL[; hasSubj](r1, john), not grant(r1)           

5 / 13

slide-16
SLIDE 16

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

Example: Inconsistent DL-program

Π = O, P

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Act ⊓ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =            (7) projfile(p1) (8) hasowner(p1, john) (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1) (11) ⊥ ← projfile(p1), hasowner(p1, john), DL[; hasSubj](r1, john), not grant(r1)           

5 / 13

slide-17
SLIDE 17

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

Example: Inconsistent DL-program

Π = O, P

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Act ⊓ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =            (7) projfile(p1) (8) hasowner(p1, john) (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1) (11) ⊥ ← projfile(p1), hasowner(p1, john), DL[; hasSubj](r1, john), not grant(r1)           

5 / 13

slide-18
SLIDE 18

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

Example: Inconsistent DL-program

Π = O, P is inconsistent!

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Act ⊓ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =            (7) projfile(p1) (8) hasowner(p1, john) (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1) (11) ⊥ ← projfile(p1), hasowner(p1, john), DL[; hasSubj](r1, john), not grant(r1)           

5 / 13

slide-19
SLIDE 19

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

Example: Inconsistent DL-program

Π = O, P is consistent!

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Act ⊓ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (6) Blacklisted(john)        P =            (7) projfile(p1) (8) hasowner(p1, john) (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1) (11) ⊥ ← projfile(p1), hasowner(p1, john), DL[; hasSubj](r1, john), not grant(r1)            I = {projfile(p1), hasowner(p1, john), grant(r1)} is a repair answer set of Π.

5 / 13

slide-20
SLIDE 20

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

Example: Inconsistent DL-program

Π = O, P is consistent!

O =        (1) Blacklisted ⊑ Staff (2) StaffRequest ≡ ∃hasAct.Act ⊓ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj (3) BLStaffRequest ≡ StaffRequest ⊓ ∃hasSubj.Blacklisted (4) StaffRequest(r1) (5) hasSubj(r1, john) (6) Blacklisted(john)        P =            (7) projfile(p1) (8) hasowner(p1, john) (9) grant(r1) ← DL[Proj ⊎ projfile; StaffRequest](r1), not deny(r1) (10) deny(r1) ← DL[; BLStaffRequest](r1) (11) ⊥ ← projfile(p1), hasowner(p1, john), DL[; hasSubj](r1, john), not grant(r1)            I = {projfile(p1), hasowner(p1, john), grant(r1)} is a repair answer set of Π. Further repair for I: e.g. remove Blacklisted(john)

5 / 13

slide-21
SLIDE 21

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

Support Sets for DL-atoms

O =

  • T
  • (1) StaffRequest ≡ ∃hasTarg.Proj

A

  • (2) hasTarg(r1, p1)
  • d = DL[Proj ⊎ projfile; StaffRequest](r1)
  • Support Sets encode partial info about O, relevant for value of d

6 / 13

slide-22
SLIDE 22

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

Support Sets for DL-atoms

O =

  • T
  • (1) StaffRequest ≡ ∃hasTarg.Proj

A

  • (2) hasTarg(r1, p1)
  • d = DL[Proj ⊎ projfile; StaffRequest](r1)
  • Support Sets encode partial info about O, relevant for value of d
  • Ground Support Set for d is set S of atoms over projfile such that for all

interpretations I ⊇ S, it holds that I | = d (“implicant”) E.g., S = {projfile(p1)}

6 / 13

slide-23
SLIDE 23

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

Support Sets for DL-atoms

O =

  • T
  • (1) StaffRequest ≡ ∃hasTarg.Proj

A

  • (2) hasTarg(r1, p1)
  • d = DL[Proj ⊎ projfile; StaffRequest](r1)
  • Support Sets encode partial info about O, relevant for value of d
  • Ground Support Set for d is set S of atoms over projfile such that for all

interpretations I ⊇ S, it holds that I | = d (“implicant”) E.g., S = {projfile(p1)}

  • Complete Support Family S for d consists of S’s s.t.

whenever I | = d, some S ∈ S with I ⊇ S exists

6 / 13

slide-24
SLIDE 24

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

Support Sets for DL-atoms

O =

  • T
  • (1) StaffRequest ≡ ∃hasTarg.Proj

A

  • (2) hasTarg(r1, p1)
  • d = DL[Proj ⊎ projfile; StaffRequest](X)
  • Support Sets encode partial info about O, relevant for value of d
  • Ground Support Set for d is set S of atoms over projfile such that for all

interpretations I ⊇ S, it holds that I | = d (“implicant”) E.g., S = {projfile(p1)}

  • Complete Support Family S for d consists of S’s s.t.

whenever I | = d, some S ∈ S with I ⊇ S exists

  • Nonground Support Set for d(X) is S = N, γ, where

N: set of nonground literals over input predicates of d(X) γ : “guard” function, selects from groundings of N support sets for d(c)

6 / 13

slide-25
SLIDE 25

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

Support Sets for DL-atoms

O =

  • T
  • (1) StaffRequest ≡ ∃hasTarg.Proj

A

  • (2) hasTarg(r1, p1)
  • d = DL[Proj ⊎ projfile; StaffRequest](X)
  • Support Sets encode partial info about O, relevant for value of d
  • Ground Support Set for d is set S of atoms over projfile such that for all

interpretations I ⊇ S, it holds that I | = d (“implicant”) E.g., S = {projfile(p1)}

  • Complete Support Family S for d consists of S’s s.t.

whenever I | = d, some S ∈ S with I ⊇ S exists

  • Nonground Support Set for d(X) is S =

N

  • projfile(Y), γ, where

N: set of nonground literals over input predicates of d(X) γ : C × grndC(projfile(Y)) → {0, 1} where γ(c, projfile(c′)) = 1 if hasTarg(c, c′) ∈ A

6 / 13

slide-26
SLIDE 26

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

Nonground Support Set Computation

T = {StaffRequest ≡ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj} d = DL[Proj ⊎ projfile; StaffRequest](X)

7 / 13

slide-27
SLIDE 27

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

Nonground Support Set Computation

T = {StaffRequest ≡ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj} d = DL[Proj ⊎ projfile; StaffRequest](X)

  • Construct Td by compiling info about input predicates of d into T :

Td = T ∪ {Projprojfile ⊑ Proj}

7 / 13

slide-28
SLIDE 28

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

Nonground Support Set Computation

T = {StaffRequest ≡ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj} d = DL[Proj ⊎ projfile; StaffRequest](X)

  • Construct Td by compiling info about input predicates of d into T :

Td = T ∪ {Projprojfile ⊑ Proj}

  • Rewrite DL-query over normalized Td into a datalog program:

Tdnorm =      (1) StaffRequest ⊑ ∃hasSubj.Staff (2) Projprojfile ⊑ Proj (3) StaffRequest ⊑ hasTarg.Proj (4) ∃hasSubj.Staff ⊑ C1 (5) ∃hasTarg.Proj ⊑ C2 (6) C1 ⊓ C2 ⊑ StaffRequest     

7 / 13

slide-29
SLIDE 29

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

Nonground Support Set Computation

T = {StaffRequest ≡ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj} d = DL[Proj ⊎ projfile; StaffRequest](X)

  • Construct Td by compiling info about input predicates of d into T :

Td = T ∪ {Projprojfile ⊑ Proj}

  • Rewrite DL-query over normalized Td into a datalog program:

PTdnorm =          (1*) StaffRequest(X) ← C1(X), C2(X) (2*) C1(X) ← hasSubj(X, Y), Staff(Y) (3*) C2(X) ← hasTarg(X, Y), Proj(Y) (4*) Proj(X) ← Projprojfile(X)         

7 / 13

slide-30
SLIDE 30

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

Nonground Support Set Computation

T = {StaffRequest ≡ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj} d = DL[Proj ⊎ projfile; StaffRequest](X)

  • Construct Td by compiling info about input predicates of d into T :

Td = T ∪ {Projprojfile ⊑ Proj}

  • Rewrite DL-query over normalized Td into a datalog program:

PTdnorm =          (1*) StaffRequest(X) ← C1(X), C2(X) (2*) C1(X) ← hasSubj(X, Y), Staff(Y) (3*) C2(X) ← hasTarg(X, Y), Proj(Y) (4*) Proj(X) ← Projprojfile(X)         

  • Unfold the DL-query and extract support sets:

StaffRequest(X) ← hasSubj(X, Y), Staff(Y), hasTarg(X, Z), Proj(Z) StaffRequest(X) ← hasSubj(X, Y), Staff(Y), hasTarg(X, Z), Projprojfile(Z)

7 / 13

slide-31
SLIDE 31

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

Nonground Support Set Computation

T = {StaffRequest ≡ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj} d = DL[Proj ⊎ projfile; StaffRequest](X)

  • Construct Td by compiling info about input predicates of d into T :

Td = T ∪ {Projprojfile ⊑ Proj}

  • Rewrite DL-query over normalized Td into a datalog program:

PTdnorm =          (1*) StaffRequest ← C1(X), C2(X) (2*) C1(X) ← hasSubj(X, Y), Staff(Y) (3*) C2(X) ← hasTarg(X, Y), Proj(Y) (4*) Proj(X) ← Projprojfile(X)         

  • Unfold the DL-query and extract support sets:

S1 = ∅, γ (i.e., N = ∅) and γ(c, ∅) = 1 if for some c′, c′′, we have hasSubj(c, c′), Staff(c′), hasTarg(c, c′′), Proj(c′′) ∈ A S2 = projfile(X), γ (i.e., N = {projfile(X)}), and γ(c, projfile(c′)) = 1 if for some c′′, we have hasSubj(c, c′′), Staff(c′′), hasTarg(c, c′) ∈ A

7 / 13

slide-32
SLIDE 32

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

Nonground Support Set Computation

T = {StaffRequest ≡ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj} d = DL[Proj ⊎ projfile; StaffRequest](X)

  • Construct Td by compiling info about input predicates of d into T :

Td = T ∪ {Projprojfile ⊑ Proj}

  • Rewrite DL-query over normalized Td into a datalog program:

PTdnorm =          (1*) StaffRequest ← C1(X), C2(X) (2*) C1(X) ← hasSubj(X, Y), Staff(Y) (3*) C2(X) ← hasTarg(X, Y), Proj(Y) (4*) Proj(X) ← Projprojfile(X)         

  • Unfold the DL-query and extract support sets:

S1 = {hasSubj(X, Y), Staff(X), hasTarg(X, Z), Proj(Z)} S2 = {hasSubj(X, Y), Staff(X), hasTarg(X, Z), Projprojfile(Z)}

7 / 13

slide-33
SLIDE 33

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

Nonground Support Set Computation

T = {StaffRequest ≡ ∃hasSubj.Staff ⊓ ∃hasTarg.Proj} d = DL[Proj ⊎ projfile; StaffRequest](X)

  • Construct Td by compiling info about input predicates of d into T :

Td = T ∪ {Projprojfile ⊑ Proj}

  • Rewrite DL-query over normalized Td into a datalog program:

PTdnorm =          (1*) StaffRequest ← C1(X), C2(X) (2*) C1(X) ← hasSubj(X, Y), Staff(Y) (3*) C2(X) ← hasTarg(X, Y), Proj(Y) (4*) Proj(X) ← Projprojfile(X)         

  • Unfold the DL-query and extract support sets:

− infinitely many support sets (axioms ∃R.A ⊑ A) − exponentially many for acyclic T

  • Completeness is costly!
  • Compute partial support families: bound size/number

7 / 13

slide-34
SLIDE 34

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

Repair Answer Set Computation

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

8 / 13

slide-35
SLIDE 35

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

Repair Answer Set Computation

Compute partial 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

8 / 13

slide-36
SLIDE 36

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

Repair Answer Set Computation

Compute partial 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)

8 / 13

slide-37
SLIDE 37

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

Repair Answer Set Computation

Compute partial 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)

For all HS H ⊆ A of support families for all a ∈ Dn: If all a ∈ Dp have at least one S ∈ Sˆ

I gr, s.t.

S ∩ H = ∅, then do eval. postcheck on Dn (evaluate atoms from Dn over I and A\H)

Else do eval. postcheck on Dn and Dp Check minimality of ˆ

I|Π wrt. Π′ = T , A\H, P

8 / 13

slide-38
SLIDE 38

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

Repair Answer Set Computation

Compute partial 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)

For all HS H ⊆ A of support families for all a ∈ Dn: If all a ∈ Dp have at least one S ∈ Sˆ

I gr, s.t.

S ∩ H = ∅, then do eval. postcheck on Dn (evaluate atoms from Dn over I and A\H)

Else do eval. postcheck on Dn and Dp Check minimality of ˆ

I|Π wrt. Π′ = T , A\H, P

Sound wrt. deletion repair answer sets, complete if all support families are complete!

8 / 13

slide-39
SLIDE 39

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

Declarative Implementation

  • Implementation within
  • tool is used for support set computation
  • Repair is computed in a declarative manner using ASP techniques:

(1) Sa(X) ← SP

a (Y)

(2) Sa(X) ← SA,P

a

(Y)

(3) SP

a (Y) ← rb(Sp a(Y))

(4) SA,P

a

(Y) ← rb(SA,P

a

(Y)), nd(SA,P(Y))

(5) ⊥ ← nea(X), SP

a (Y)

(6)

¯

P1a(Y) ∨ . . . ∨ ¯ Pna(Y) ← nea(X), SA,P

a

(Y)

(7) evala(X) ← ea(X), not Ca(X), not Sa(X) (8) evala(X) ← nea(X), not Ca(X)

9 / 13

slide-40
SLIDE 40

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

Benchmarks-Policy

  • Add axiom Blacklisted ⊑ Unauthorized
  • ABoxes A: staff size n, 30% unauthorized 20% blacklisted
  • hasowner(pi, si) with probability p (x-axis)
  • Complete vs partial support families, with bounded/unbounded number/size of

supports (2, ∞)

  • Few support sets, but size > 2

10 / 13

slide-41
SLIDE 41

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

Benchmarks-Open Street Map

O =

  • (1) BuildingFeature ⊓ ∃isLocatedInside.Private ⊑ NoPublicAccess

(2) BusStop ⊓ Roofed ⊑ CoveredBusStop

  • P =

       (9) publicstation(X) ← DL[BusStop ⊎ busstop; CoveredBusStop](X); not DL[; Private](X); (10) ⊥ ← DL[BuildingFeature ⊎ publicstation; NoPublicAccess](X), publicstation(X).       

  • Rules on top of the MyITS ontology:2
  • personalized route planning with semantic information
  • TBox with 406 axioms
  • O (part): building features located inside private areas are not publicly

accessible, covered bus stops are those with roof.

  • P checks that public stations don’t lack public access, using CWA on

private areas.

2http://www.kr.tuwien.ac.at/research/projects/myits/ 11 / 13

slide-42
SLIDE 42

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

Benchmarks-Open Street Map

  • ABox A with bus stops (285) and leisure areas (682) of Cork, plus role

isLocatedInside on them (9)

  • Randomly made 80% bus stops roofed, 60% leisure areas private
  • For isLocatedInside(bs, la) make bs a bus stop with p chance (x-axis)
  • Many support sets have size ≤ 2

12 / 13

slide-43
SLIDE 43

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

Conclusion and Future Work

Conclusions:

  • Generalization of repair answer set computation for EL
  • Partial support families: restricting support sets size/number
  • Formal definition of support sets for EL and their computation
  • Declarative realization within DLVHEX
  • Evaluation on a set of benchmarks

Further and future work:

  • Computing preferred repairs
  • Syntactic conditions ensuring support families completeness
  • Repair by bounded addition..

13 / 13