computing stable models for nonmonotonic existential rules

99
C OMPUTING S TABLE MODELS FOR NONMONOTONIC E XISTENTIAL RULES Despoina Magka , Markus Krötzsch, Ian Horrocks Department of Computer Science, University of Oxford IJCAI, 2013

Upload: despoina-magka

Post on 30-Jun-2015

916 views

Category:

Technology


0 download

DESCRIPTION

We consider function-free existential rules extended with nonmonotonic negation under a stable model semantics. We present new acyclicity and stratification conditions that identify a large class of rule sets having finite, unique stable models, and we show how the addition of constraints on the input facts can further extend this class. Checking these conditions is computationally feasible, and we provide tight complexity bounds. Finally, we demonstrate how these new methods allowed us to solve relevant reasoning problems over a real-world knowledge base from biochemistry using an off-the-shelf answer set programming engine.

TRANSCRIPT

Page 1: Computing Stable Models for Nonmonotonic Existential Rules

COMPUTING STABLE MODELS FOR

NONMONOTONIC EXISTENTIAL RULES

Despoina Magka, Markus Krötzsch, Ian Horrocks

Department of Computer Science, University of Oxford

IJCAI, 2013

Page 2: Computing Stable Models for Nonmonotonic Existential Rules

THE OWLS ARE NOT WHAT THEY SEEM

OWL widely used for authoring biomedical ontologies

Not marked for its ability to model cyclic structures

Such structures abound in life science (and other) domains

1

Page 3: Computing Stable Models for Nonmonotonic Existential Rules

THE OWLS ARE NOT WHAT THEY SEEM

OWL widely used for authoring biomedical ontologies

Not marked for its ability to model cyclic structures

Such structures abound in life science (and other) domains

1

Page 4: Computing Stable Models for Nonmonotonic Existential Rules

THE OWLS ARE NOT WHAT THEY SEEM

OWL widely used for authoring biomedical ontologies

Not marked for its ability to model cyclic structures

Such structures abound in life science (and other) domains

1

Page 5: Computing Stable Models for Nonmonotonic Existential Rules

THE OWLS ARE NOT WHAT THEY SEEM

OWL widely used for authoring biomedical ontologies

Not marked for its ability to model cyclic structures

Such structures abound in life science (and other) domains

1

Page 6: Computing Stable Models for Nonmonotonic Existential Rules

THE OWLS ARE NOT WHAT THEY SEEM

OWL widely used for authoring biomedical ontologies

Not marked for its ability to model cyclic structures

Such structures abound in life science (and other) domains

hasParticipant

locatedIn

reactantproduct

transportReaction 2-ketoglutarate-malate-antiport

2-ketoglutarate malate

2-ketoglutarate malate

mitochondrion

cytosol

1

Page 7: Computing Stable Models for Nonmonotonic Existential Rules

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

Page 8: Computing Stable Models for Nonmonotonic Existential Rules

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

Page 9: Computing Stable Models for Nonmonotonic Existential Rules

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

Page 10: Computing Stable Models for Nonmonotonic Existential Rules

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

Page 11: Computing Stable Models for Nonmonotonic Existential Rules

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

Page 12: Computing Stable Models for Nonmonotonic Existential Rules

NONMONOTONIC EXISTENTIAL RULES

Rules with nonmonotonic negation in the body andexistentials in the head

B1 ∧ . . . ∧ Bn ∧ not Bn+1 ∧ . . . ∧ not Bm → ∃y.H1 ∧ . . . ∧ Hk

Interpreted under stable model semantics

Good for representing non-tree-shaped structures

Existentials allow us to infer new structures

Nonmonotonicity adds extra expressivity in modelling

Stable model semantics supported by many tools: DLV,clasp, . . .

2

Page 13: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3 methanol v hasOxygen 3

3

Page 14: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3 methanol v hasOxygen 3

3

Page 15: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3 methanol v hasOxygen 3

3

Page 16: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3 methanol v hasOxygen 3

3

Page 17: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3

methanol v hasOxygen 3

3

Page 18: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3

methanol v hasOxygen 3

3

Page 19: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS I

C

O H

H

H

H

Methanol molecule

hasAtombond

c oh

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ c(y1) ∧ o(y2) ∧∧6

i=3h(yi)∧ ∧5i=2 bond(y1, yi) ∧ bond(y2, y6)

∧3i=1 hasAtom(x, zi) ∧ c(z1)∧o(z2) ∧

h(z3) ∧ bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

methanol v organicHydroxy 3 methanol v hasOxygen 3

3

Page 20: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS II

C

O H

Organic hydroxy group

hasAtombond

c oh

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ c(y1)

∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

organicHydroxy v hasOxygen 3

4

Page 21: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS II

C

O H

Organic hydroxy group

hasAtombond

c oh

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ c(y1)

∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

organicHydroxy v hasOxygen 3

4

Page 22: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS II

C

O H

Organic hydroxy group

hasAtombond

c oh

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ c(y1)

∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

organicHydroxy v hasOxygen 3

4

Page 23: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS II

C

O H

Organic hydroxy group

hasAtombond

c oh

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ c(y1)

∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

organicHydroxy v hasOxygen 3

4

Page 24: Computing Stable Models for Nonmonotonic Existential Rules

CLASSIFICATION OF STRUCTURED OBJECTS II

C

O H

Organic hydroxy group

hasAtombond

c oh

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ c(y1)

∧ o(y2) ∧ h(y3) ∧ bond(y1, y2)

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

organicHydroxy v hasOxygen 3

4

Page 25: Computing Stable Models for Nonmonotonic Existential Rules

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

Page 26: Computing Stable Models for Nonmonotonic Existential Rules

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

Page 27: Computing Stable Models for Nonmonotonic Existential Rules

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v organicHydroxy 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

Page 28: Computing Stable Models for Nonmonotonic Existential Rules

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v hasOxygen 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

Page 29: Computing Stable Models for Nonmonotonic Existential Rules

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

Page 30: Computing Stable Models for Nonmonotonic Existential Rules

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

organicHydroxy v hasOxygen 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

Page 31: Computing Stable Models for Nonmonotonic Existential Rules

INCORRECT MODELLING

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)g1(m)

g2(m) g3(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v hasOneCarbon 8

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3)→ organicHydroxy(x)

organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

5

Page 32: Computing Stable Models for Nonmonotonic Existential Rules

REPAIR WITH AUXILIARY PREDICATES

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v hasOneCarbon 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)6

Page 33: Computing Stable Models for Nonmonotonic Existential Rules

REPAIR WITH AUXILIARY PREDICATES

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v hasOneCarbon 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)6

Page 34: Computing Stable Models for Nonmonotonic Existential Rules

REPAIR WITH AUXILIARY PREDICATES

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

methanol v hasOneCarbon 3

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)6

Page 35: Computing Stable Models for Nonmonotonic Existential Rules

WHAT’S THE PROBLEM?

Reasoning is undecidable(even fact entailment, even without not )

many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .

Reasoning is hard (even for finite models)

stable models lead to non-determinismstratification conditions ensure determinism

Stratification

Stable model uniqueness

Deterministic reasoning

7

Page 36: Computing Stable Models for Nonmonotonic Existential Rules

WHAT’S THE PROBLEM?

Reasoning is undecidable(even fact entailment, even without not )

many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .

Reasoning is hard (even for finite models)

stable models lead to non-determinismstratification conditions ensure determinism

Stratification

Stable model uniqueness

Deterministic reasoning

7

Page 37: Computing Stable Models for Nonmonotonic Existential Rules

WHAT’S THE PROBLEM?

Reasoning is undecidable(even fact entailment, even without not )

many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .

Reasoning is hard (even for finite models)

stable models lead to non-determinismstratification conditions ensure determinism

Stratification

Stable model uniqueness

Deterministic reasoning

7

Page 38: Computing Stable Models for Nonmonotonic Existential Rules

WHAT’S THE PROBLEM?

Reasoning is undecidable(even fact entailment, even without not )

many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .

Reasoning is hard (even for finite models)stable models lead to non-determinismstratification conditions ensure determinism

Stratification

Stable model uniqueness

Deterministic reasoning

7

Page 39: Computing Stable Models for Nonmonotonic Existential Rules

WHAT’S THE PROBLEM?

Reasoning is undecidable(even fact entailment, even without not )

many known conditions for regaining decidabilityacyclicity conditions ensure finite models: (super)-weakacyclicity, joint acyclicity, aGRD, MSA, MFA, . . .

Reasoning is hard (even for finite models)stable models lead to non-determinismstratification conditions ensure determinism

Stratification

Stable model uniqueness

Deterministic reasoning

7

Page 40: Computing Stable Models for Nonmonotonic Existential Rules

WHAT’S OUR PROBLEM?

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

Repaired program not stratified

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)8

Page 41: Computing Stable Models for Nonmonotonic Existential Rules

WHAT’S OUR PROBLEM?

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

Repaired program not stratified

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)8

Page 42: Computing Stable Models for Nonmonotonic Existential Rules

WHAT’S OUR PROBLEM?

mmethanol

f1(m)

f2(m) f3(m)

f4(m)

f5(m)

f6(m)

organicHydroxy

hasOxygen

horganicHydroxy

g1(h)

g2(h) g3(h)

hasOxygen

Repaired program not stratified

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y6)∧3

i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)

∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)8

Page 43: Computing Stable Models for Nonmonotonic Existential Rules

RESULTS OVERVIEW

1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check

2 Complexity of reasoning

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

3 Generalise R-acyclicity and R-stratification with constraints new conditions ΠP

2 -complete to check4 Experiments over ChEBI with DLV

Performance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology

9

Page 44: Computing Stable Models for Nonmonotonic Existential Rules

RESULTS OVERVIEW

1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check

2 Complexity of reasoning

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

3 Generalise R-acyclicity and R-stratification with constraints new conditions ΠP

2 -complete to check4 Experiments over ChEBI with DLV

Performance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology

9

Page 45: Computing Stable Models for Nonmonotonic Existential Rules

RESULTS OVERVIEW

1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check

2 Complexity of reasoning

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

3 Generalise R-acyclicity and R-stratification with constraints new conditions ΠP

2 -complete to check

4 Experiments over ChEBI with DLVPerformance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology

9

Page 46: Computing Stable Models for Nonmonotonic Existential Rules

RESULTS OVERVIEW

1 R-acyclicity and R-stratification conditionsR-stratification ensures stable model uniquenessBoth coNP-complete to check

2 Complexity of reasoning

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

3 Generalise R-acyclicity and R-stratification with constraints new conditions ΠP

2 -complete to check4 Experiments over ChEBI with DLV

Performance gains in DLV using R-stratificationMissing subsumptions from ChEBI ontology

9

Page 47: Computing Stable Models for Nonmonotonic Existential Rules

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2 but r2 6

+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

Page 48: Computing Stable Models for Nonmonotonic Existential Rules

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2 but r2 6

+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

Page 49: Computing Stable Models for Nonmonotonic Existential Rules

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2

but r2 6+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

Page 50: Computing Stable Models for Nonmonotonic Existential Rules

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2 but r2 6

+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

Page 51: Computing Stable Models for Nonmonotonic Existential Rules

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2 but r2 6

+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

Page 52: Computing Stable Models for Nonmonotonic Existential Rules

POSITIVE RELIANCES

Rule r2 positively relies on r1 (written r1+−→ r2): there is a

situation when r1 can trigger r2 to derive something new

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧

c(z1) ∧ o(z2) ∧ h(z3) ∧bond(z1, z2) ∧ bond(z2, z3)→ organicHydroxy(x)

r2 : organicHydroxy(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

r1+−→ r2 but r2 6

+−→ r1

NP-complete to check(but only w.r.t. the size of the rules)

10

Page 53: Computing Stable Models for Nonmonotonic Existential Rules

R-ACYCLICITY

A program is R-acyclic: there is no cycle of positivereliances that involves a rule with an existential

Checking R-acyclicity is coNP-complete

Similar to ≺-stratification [Deutsch et al., PODS, 2008];extension of aGRD [Baget et al., RR, 2011]

Fact entailment for R-acyclic programs

Stable models bounded in size (double exp),but many models possible

coN2ExpTime-complete w.r.t. program complexity

coNP-complete w.r.t. data complexity

11

Page 54: Computing Stable Models for Nonmonotonic Existential Rules

R-ACYCLICITY

A program is R-acyclic: there is no cycle of positivereliances that involves a rule with an existential

Checking R-acyclicity is coNP-complete

Similar to ≺-stratification [Deutsch et al., PODS, 2008];extension of aGRD [Baget et al., RR, 2011]

Fact entailment for R-acyclic programs

Stable models bounded in size (double exp),but many models possible

coN2ExpTime-complete w.r.t. program complexity

coNP-complete w.r.t. data complexity

11

Page 55: Computing Stable Models for Nonmonotonic Existential Rules

R-ACYCLICITY

A program is R-acyclic: there is no cycle of positivereliances that involves a rule with an existential

Checking R-acyclicity is coNP-complete

Similar to ≺-stratification [Deutsch et al., PODS, 2008];extension of aGRD [Baget et al., RR, 2011]

Fact entailment for R-acyclic programs

Stable models bounded in size (double exp),but many models possible

coN2ExpTime-complete w.r.t. program complexity

coNP-complete w.r.t. data complexity

11

Page 56: Computing Stable Models for Nonmonotonic Existential Rules

R-ACYCLICITY

A program is R-acyclic: there is no cycle of positivereliances that involves a rule with an existential

Checking R-acyclicity is coNP-complete

Similar to ≺-stratification [Deutsch et al., PODS, 2008];extension of aGRD [Baget et al., RR, 2011]

Fact entailment for R-acyclic programs

Stable models bounded in size (double exp),but many models possible

coN2ExpTime-complete w.r.t. program complexity

coNP-complete w.r.t. data complexity

11

Page 57: Computing Stable Models for Nonmonotonic Existential Rules

R-ACYCLICITY

A program is R-acyclic: there is no cycle of positivereliances that involves a rule with an existential

Checking R-acyclicity is coNP-complete

Similar to ≺-stratification [Deutsch et al., PODS, 2008];extension of aGRD [Baget et al., RR, 2011]

Fact entailment for R-acyclic programs

Stable models bounded in size (double exp),but many models possible

coN2ExpTime-complete w.r.t. program complexity

coNP-complete w.r.t. data complexity

11

Page 58: Computing Stable Models for Nonmonotonic Existential Rules

NEGATIVE RELIANCES

Rule r2 negatively relies on r1 (written r1−−→ r2): there is a

situation when r1 can inhibit the application of r2

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧ c(z1) ∧

o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧bond(z2, z3) ∧ not gh(z1) ∧

not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

r2 : organicHydroxy(x) ∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi)

∧ c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

∧ gh(y1) ∧ gh(y2) ∧ gh(y3)

r1−−→ r2 but r2 6

−−→ r1

Polynomial time to check

12

Page 59: Computing Stable Models for Nonmonotonic Existential Rules

NEGATIVE RELIANCES

Rule r2 negatively relies on r1 (written r1−−→ r2): there is a

situation when r1 can inhibit the application of r2

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧ c(z1) ∧

o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧bond(z2, z3) ∧ not gh(z1) ∧

not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

r2 : organicHydroxy(x) ∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi)

∧ c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

∧ gh(y1) ∧ gh(y2) ∧ gh(y3)

r1−−→ r2 but r2 6

−−→ r1

Polynomial time to check

12

Page 60: Computing Stable Models for Nonmonotonic Existential Rules

NEGATIVE RELIANCES

Rule r2 negatively relies on r1 (written r1−−→ r2): there is a

situation when r1 can inhibit the application of r2

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧ c(z1) ∧

o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧bond(z2, z3) ∧ not gh(z1) ∧

not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

r2 : organicHydroxy(x) ∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi)

∧ c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

∧ gh(y1) ∧ gh(y2) ∧ gh(y3)

r1−−→ r2

but r2 6−−→ r1

Polynomial time to check

12

Page 61: Computing Stable Models for Nonmonotonic Existential Rules

NEGATIVE RELIANCES

Rule r2 negatively relies on r1 (written r1−−→ r2): there is a

situation when r1 can inhibit the application of r2

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧ c(z1) ∧

o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧bond(z2, z3) ∧ not gh(z1) ∧

not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

r2 : organicHydroxy(x) ∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi)

∧ c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

∧ gh(y1) ∧ gh(y2) ∧ gh(y3)

r1−−→ r2 but r2 6

−−→ r1

Polynomial time to check

12

Page 62: Computing Stable Models for Nonmonotonic Existential Rules

NEGATIVE RELIANCES

Rule r2 negatively relies on r1 (written r1−−→ r2): there is a

situation when r1 can inhibit the application of r2

EXAMPLE

r1 : ∧3i=1 hasAtom(x, zi) ∧ c(z1) ∧

o(z2) ∧ h(z3) ∧ bond(z1, z2) ∧bond(z2, z3) ∧ not gh(z1) ∧

not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

r2 : organicHydroxy(x) ∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi)

∧ c(y1) ∧ o(y2) ∧ h(y3) ∧bond(y1, y2) ∧ bond(y2, y3)

∧ gh(y1) ∧ gh(y2) ∧ gh(y3)

r1−−→ r2 but r2 6

−−→ r1

Polynomial time to check12

Page 63: Computing Stable Models for Nonmonotonic Existential Rules

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

Page 64: Computing Stable Models for Nonmonotonic Existential Rules

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

EXAMPLE

r2r1 ++

r3 r4 r5

r6

P1

P2

P3

S1~P= TP1(F)

S2~P= TP2(S

1~P)

S3~P= TP3(S

2~P)

++

+

+

+

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

Page 65: Computing Stable Models for Nonmonotonic Existential Rules

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

EXAMPLE

r2r1 ++

r3 r4 r5

r6

P1

P2

P3

S1~P= TP1(F)

S2~P= TP2(S

1~P)

S3~P= TP3(S

2~P)

++

+

+

+

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

Page 66: Computing Stable Models for Nonmonotonic Existential Rules

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

EXAMPLE

r2r1 ++

r3 r4 r5

r6

P1

P2

P3

S1~P= TP1(F)

S2~P= TP2(S

1~P)

S3~P= TP3(S

2~P)

++

+

+

+

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

Page 67: Computing Stable Models for Nonmonotonic Existential Rules

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

EXAMPLE

r2r1 ++

r3 r4 r5

r6

P1

P2

P3

S1~P= TP1(F)

S2~P= TP2(S

1~P)

S3~P= TP3(S

2~P)

++

+

+

+

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

Page 68: Computing Stable Models for Nonmonotonic Existential Rules

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programs

Stable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

Page 69: Computing Stable Models for Nonmonotonic Existential Rules

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programsStable models bounded in size (double exp),and at most one stable model

2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

Page 70: Computing Stable Models for Nonmonotonic Existential Rules

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programsStable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexity

PTime-complete w.r.t. data complexity

13

Page 71: Computing Stable Models for Nonmonotonic Existential Rules

R-STRATIFICATION

A program P is R-stratified if there is a partition P1, . . . ,Pn ofP such that for Pi,Pj and rules r1 ∈ Pi and r2 ∈ Pj, we have:

if r1+−→ r2 then i ≤ j and if r1

−−→ r2 then i < j.

Strictly extends ‘classical’ stratification ensures stable model uniquenesscoNP-complete to check

Fact entailment for R-acyclic, R-stratified programsStable models bounded in size (double exp),and at most one stable model2ExpTime-complete w.r.t. program complexityPTime-complete w.r.t. data complexity

13

Page 72: Computing Stable Models for Nonmonotonic Existential Rules

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z)

∧ c(z)

→ ⊥}r1−−→ r2

+−→ r3+−→ r1 but r3 6

+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

Page 73: Computing Stable Models for Nonmonotonic Existential Rules

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z)

∧ c(z)

→ ⊥}r1−−→ r2

+−→ r3+−→ r1 but r3 6

+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

Page 74: Computing Stable Models for Nonmonotonic Existential Rules

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z)

∧ c(z)

→ ⊥}

r1−−→ r2

+−→ r3+−→ r1

but r3 6+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

Page 75: Computing Stable Models for Nonmonotonic Existential Rules

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z) ∧ c(z)→ ⊥}r1−−→ r2

+−→ r3+−→ r1

but r3 6+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

Page 76: Computing Stable Models for Nonmonotonic Existential Rules

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z) ∧ c(z)→ ⊥}r1−−→ r2

+−→ r3+−→ r1 but r3 6

+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

Page 77: Computing Stable Models for Nonmonotonic Existential Rules

RELIANCES UNDER CONSTRAINTS

Restrict input sets of facts to relax R-acyclicity andR-stratification using constraints

EXAMPLE

r1 : mol(x) ∧ hasAtom(x, z) ∧ c(z)→ organic(x)

r2 : mol(x) ∧ not organic(x)→ inorganic(x)

r3 : inorganic(x)→ mol(x) ∧ geoOrigin(x)

C = {inorganic(x) ∧ hasAtom(x, z) ∧ c(z)→ ⊥}r1−−→ r2

+−→ r3+−→ r1 but r3 6

+−→C r1

Slightly more complex to check:

Positive reliance Negative reliance R-acyclicity/R-stratificationΣP

2 -complete in ∆P2 ΠP

2 -complete

ΣP2 -hardness follows from satisfiability of a QBF ∃~p.∀~q.ϕ

14

Page 78: Computing Stable Models for Nonmonotonic Existential Rules

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

Page 79: Computing Stable Models for Nonmonotonic Existential Rules

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

Page 80: Computing Stable Models for Nonmonotonic Existential Rules

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules

EXAMPLE

methanol(x)→ ∃6i=1yi. ∧6

i=1 hasAtom(x, yi) ∧ . . . ∧ bond(y2, y6)

30 molecular part descriptions50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

Page 81: Computing Stable Models for Nonmonotonic Existential Rules

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions

EXAMPLE

∧3i=1 hasAtom(x, zi) ∧ . . .∧bond(z2, z3) ∧ not gh(z1)∧ not gh(z2) ∧ not gh(z3)→ organicHydroxy(x) ∧ rh(x)

organicHydroxy(x)∧ not rh(x)→ ∃3i=1yi. ∧3

i=1 hasAtom(x, yi) ∧ . . .

∧ bond(y2, y3) ∧ ∧3i=1gh(yi)

50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

Page 82: Computing Stable Models for Nonmonotonic Existential Rules

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions50 chemical class descriptions

EXAMPLE

hasAtom(x, z) ∧ o(z)→ hasOxygen(x)

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

Page 83: Computing Stable Models for Nonmonotonic Existential Rules

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

Page 84: Computing Stable Models for Nonmonotonic Existential Rules

EXPERIMENTAL SETUP

Chemical Entities of Biological InterestReference terminology adopted for chemical annotation bymajor bio-ontologies~20,000 molecule and ~8,000 chemical class descriptionsChEBI taxonomy manually curated

Our knowledge base consisted of rules derived from ChEBIthat represented

500 molecules30 molecular part descriptions50 chemical class descriptions

78,957 rules in total (R-stratified and R-acyclic)

Used DLV for stable model computation

15

Page 85: Computing Stable Models for Nonmonotonic Existential Rules

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)

Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

Page 86: Computing Stable Models for Nonmonotonic Existential Rules

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification

Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

Page 87: Computing Stable Models for Nonmonotonic Existential Rules

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification

Split into lowest R-stratum P1and remaining four upper R-strata P5

2

Computed stable model S1~P

of P1 ∪ F

Computed stable model S5~P

of P52 ∪ S1

~P

Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

Page 88: Computing Stable Models for Nonmonotonic Existential Rules

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification

Split into lowest R-stratum P1and remaining four upper R-strata P5

2

Computed stable model S1~P

of P1 ∪ F

Computed stable model S5~P

of P52 ∪ S1

~P

Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

Page 89: Computing Stable Models for Nonmonotonic Existential Rules

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratification

Split into lowest R-stratum P1and remaining four upper R-strata P5

2

Computed stable model S1~P

of P1 ∪ F

Computed stable model S5~P

of P52 ∪ S1

~P

Computed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

Page 90: Computing Stable Models for Nonmonotonic Existential Rules

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secs

Revealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

Page 91: Computing Stable Models for Nonmonotonic Existential Rules

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

Page 92: Computing Stable Models for Nonmonotonic Existential Rules

EMPIRICAL RESULTS

First attempt to compute the stable model of the overallprogram P failed (no result after 600 secs)Second attempt exploited partition of the program into tworule sets according to R-stratificationComputed 8,639 subclass relations in 13.5 secsRevealed missing subsumptions from the ChEBI ontology

E.g. organicHydroxy v organoOxygenCompound 3

8

16

Page 93: Computing Stable Models for Nonmonotonic Existential Rules

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

Page 94: Computing Stable Models for Nonmonotonic Existential Rules

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

Page 95: Computing Stable Models for Nonmonotonic Existential Rules

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

Page 96: Computing Stable Models for Nonmonotonic Existential Rules

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

Page 97: Computing Stable Models for Nonmonotonic Existential Rules

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]

Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

Page 98: Computing Stable Models for Nonmonotonic Existential Rules

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17

Page 99: Computing Stable Models for Nonmonotonic Existential Rules

CONCLUSIONS

R-acyclicity and R-stratification conditions(coNP-complete to check)

Fact entailment Program comp. Data comp.R-acyclic coN2ExpTime-complete coNP-completeR-acyclic+R-stratified 2ExpTime-complete PTime-complete

Generalise with constraints (ΠP2 -complete to check)

Performance gains in DLV & new subsumptions in ChEBI

Future directions:More general notions of ‘rule’ + equality in rule heads[LPNMR’13]Compare performance with other ASP solvers[chemical classification problem, ASPCOMP’13]

Thank you! Questions?!?

17