• Keine Ergebnisse gefunden

Tractable Query Answering for Expressive Ontologies and Rules*

N/A
N/A
Protected

Academic year: 2022

Aktie "Tractable Query Answering for Expressive Ontologies and Rules*"

Copied!
94
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Tractable Query Answering for Expressive Ontologies and Rules*

David Carral, Irina Dragoste, Markus Krötzsch

Knowledge-Based Systems Group at

(2)

Disjunctive Existential Rules

(3)

Disjunctive Existential Rules

Facts

(4)

HasParent (x, y) ∧ HasSister (y, z) → HasAunt (x, z) Human (x) → ∃ y . HasParent (x, y) ∧ Human (y)

Animal (x) → Herbivore (x) ∨ Carnivore (x) ∨ Omnivore (x) P (x, a , y) ∧ R ( y, w) ∧ S (w, x) → ∃ v . ( R (w, v) ∧ A (v)) ∨ D (x)

Disjunctive Existential Rules

Facts

(5)

HasParent (x, y) ∧ HasSister (y, z) → HasAunt (x, z) Human (x) → ∃ y . HasParent (x, y) ∧ Human (y)

Animal (x) → Herbivore (x) ∨ Carnivore (x) ∨ Omnivore (x) P (x, a , y) ∧ R ( y, w) ∧ S (w, x) → ∃ v . ( R (w, v) ∧ A (v)) ∨ D (x)

Disjunctive Existential Rules

Facts

HasFriend ( stan , kyle ) Dead ( kenny )

P ( a , c , d )

(6)

HasParent (x, y) ∧ HasSister (y, z) → HasAunt (x, z) Human (x) → ∃ y . HasParent (x, y) ∧ Human (y)

Animal (x) → Herbivore (x) ∨ Carnivore (x) ∨ Omnivore (x) P (x, a , y) ∧ R ( y, w) ∧ S (w, x) → ∃ v . ( R (w, v) ∧ A (v)) ∨ D (x)

Disjunctive Existential Rules

Facts

HasFriend ( stan , kyle ) Dead ( kenny )

P ( a , c , d )

Remark. If normalised, SROIQ

ontologies can be translated into

equivalent programs of disjunctive

existential rules.

(7)

The Disjunctive Chase

(8)

Director (x) → ∃ y . Directs (x, y) ∧ Film (y)

The Disjunctive Chase

Film (x) → ∃ z . IsDirectedBy (x, z) ∧ Director (z)

Film ( ai )

(9)

Director (x) → ∃ y . Directs (x, y) ∧ Film (y)

Film (x) → ∃ z . IsDirectedBy (x, z) ∧ Director (z) Film ( ai )

The Skolem Disjunctive Chase

(10)

Director (x) → Directs (x, f y (x)) ∧ Film ( f y (x))

Film (x) → IsDirectedBy (x, f z (x)) ∧ Director ( f z (x)) Film ( ai )

The Skolem Disjunctive Chase

(11)

Film ( ai )

Director (x) → Directs (x, y(x)) ∧ Film (y(x))

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x))

The Skolem Disjunctive Chase

(12)

Film ( ai )

ai : Film

Director (x) → Directs (x, y(x)) ∧ Film (y(x))

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x))

The Skolem Disjunctive Chase

(13)

Film ( ai )

ai : Film

z(ai) : Director

Director (x) → Directs (x, y(x)) ∧ Film (y(x))

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x))

DirectedBy

The Skolem Disjunctive Chase

(14)

Film ( ai )

ai : Film

z(ai) : Director

Director (x) → Directs (x, y(x)) ∧ Film (y(x))

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x))

DirectedBy

Directs

z(y(ai)) : Film

The Skolem Disjunctive Chase

(15)

Film ( ai )

ai : Film

z(ai) : Director

Director (x) → Directs (x, y(x)) ∧ Film (y(x))

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x))

DirectedBy DirectedBy

Directs

z(y(ai)) : Film

y(z(y(ai))) : Director

The Skolem Disjunctive Chase

(16)

Film ( ai )

ai : Film

z(ai) : Director

Director (x) → Directs (x, y(x)) ∧ Film (y(x))

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x))

DirectedBy DirectedBy

Directs

z(y(ai)) : Film

y(z(y(ai))) : Director

The Skolem Disjunctive Chase

(17)

Film ( ai )

ai : Film

z(ai) : Director

Director (x) → Directs (x, y(x)) ∧ Film (y(x))

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x))

DirectedBy DirectedBy

Directs

z(y(ai)) : Film

y(z(y(ai))) : Director

The Skolem Disjunctive Chase

(18)

Film ( ai )

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x)) Director (x) → Directs (x, y(x)) ∧ Film (y(x))

The Skolem Disjunctive Chase

(19)

Film ( ai )

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x)) Director (x) → Directs (x, y(x)) ∧ Film (y(x))

ai : F

The Skolem Disjunctive Chase

(20)

Film ( ai )

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x)) Director (x) → Directs (x, y(x)) ∧ Film (y(x))

ai : F ai : F

y(ai) : F

DB

The Skolem Disjunctive Chase

(21)

Film ( ai )

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x)) Director (x) → Directs (x, y(x)) ∧ Film (y(x))

ai : F ai : F

y(ai) : F

DB

D

z(y(ai)) : F ai : F

y(ai) : F

DB

The Skolem Disjunctive Chase

(22)

Film ( ai )

ai : F

y(ai) : F

DB

D DB

z(y(ai)) : F

y(z(y(ai))) : D

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x)) Director (x) → Directs (x, y(x)) ∧ Film (y(x))

ai : F ai : F

y(ai) : F

DB

D

z(y(ai)) : F ai : F

y(ai) : F

DB

The Skolem Disjunctive Chase

(23)

Film ( ai )

ai : F

y(ai) : F

DB

D DB

z(y(ai)) : F

y(z(y(ai))) : D

Film (x) → IsDirectedBy (x, z(x)) ∧ Director (z(x)) Director (x) → Directs (x, y(x)) ∧ Film (y(x))

ai : F ai : F

y(ai) : F

DB

D

z(y(ai)) : F ai : F

y(ai) : F

DB

The Skolem Disjunctive Chase

(24)

Animal ( a ) Animal ( b )

Animal (x) → Vertebrate (x) ∨ Invertebrate (x)

The Skolem Disjunctive Chase

(25)

Animal ( a ) Animal ( b )

Animal (x) → Vertebrate (x) ∨ Invertebrate (x)

A : a b : A

The Skolem Disjunctive Chase

(26)

Animal ( a ) Animal ( b )

Animal (x) → Vertebrate (x) ∨ Invertebrate (x)

A : a b : A

V, A : a b : A

b : A I, A : a

The Skolem Disjunctive Chase

(27)

Animal ( a ) Animal ( b )

Animal (x) → Vertebrate (x) ∨ Invertebrate (x)

A : a b : A

V, A : a b : A

b : A I, A : a

V, A : a b : A, V

V, A : a b : A, I

The Skolem Disjunctive Chase

(28)

Animal ( a ) Animal ( b )

Animal (x) → Vertebrate (x) ∨ Invertebrate (x)

A : a b : A

V, A : a b : A

b : A I, A : a

V, A : a b : A, V

V, A : a b : A, I I, A : a b : A, V

I, A : a b : A, I

The Skolem Disjunctive Chase

(29)

Ensuring Tractability of

the Disjunctive Chase

(30)

Existential Dependency Graph

A (x) → ∃ y . S (x, y) ∧ B ( y) B (x) → ∃ z . R (x, z) ∧ D (z) D (x) → E (x)

E (x) → ∃ w . R (x, w) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

(31)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

(32)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z

w

(33)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z

w

(34)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z w

A (c)

S (c, y(c)), B( y(c))

R (y(c), z( y(c))), D(z(y(c)))

(35)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z w

A (c)

S (c, y(c)), B( y(c))

R (y(c), z( y(c))), D(z(y(c)))

z( y(c))

(36)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z w

z( y(c))

(37)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z w

z( y(c))

(38)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z w

z( y(c)) B (c)

R (c, z(c)), D(z(c)),

E (z(c)),

(39)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z w

z( y(c)) w(z(c))

B (c)

R (c, z(c)), D(z(c)),

E (z(c)),

(40)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z w

z( y(c))

w(z(c))

(41)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z w

z( y(c))

w(z(c))

(42)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z w

z( y(c)) w(z(c))

A (c)

S (c, y(c)), B ( y(c)), C (y(c)),

E (y(c)),

(43)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z w

z( y(c)) w(z(c))

A (c)

S (c, y(c)), B ( y(c)), C (y(c)),

E (y(c)),

w(y(c))

(44)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z w

z( y(c))

w(z(c))

w(y(c))

(45)

A (x) → S (x, y(x)) ∧ B ( y(x)) B (x) → R (x, z(x)) ∧ D (z(x)) D (x) → E (x)

E (x) → R (x, w(x)) B (x) ∧ C (x) → E (x)

S (x, y) → C (x)

Existential Dependency Graph

y

z

w

(46)

(a) Acyclicity

y

w z

(47)

(a) Acyclicity

y

w z z(c)

(48)

(a) Acyclicity

y

w z z(c)

w(z(c))

(49)

(a) Acyclicity

y

w z z(c) y(w(z(c)))

w(z(c))

(50)

(a) Acyclicity

y w z

z( y(w(z(c)))) y(w(z(c))) z(c)

w(z(c))

(51)

(a) Acyclicity

y w z

z( y(w(z(c)))) y(w(z(c))) z(c)

w(z(c)) w(z( y(w(z(c)))))

(52)

(a) Acyclicity

y w z

z( y(w(z(c)))) y(w(z(c))) z(c)

w(z(c)) w(z( y(w(z(c)))))

………

(53)

(a) Acyclicity

y

w z Remark. If the existential

dependency graph of a given set of rules is acyclic, then the set of terms introduced during the

computation of the chase is finite.

(54)

(f) Arity at Most 1

Film (x) → ∃ y . IsFilmDirectedBy (x, y) ∧ Director (y)

A (x) ∧ B (x, w) ∧ C (x, z) → ∃ z . R (x, w, z)

(55)

(f) Arity at Most 1

Film (x) → ∃ y . IsFilmDirectedBy (x, y) ∧ Director (y) Film (x) → IsFilmDirectedBy (x, y(x)) ∧ Director (y(x))

A (x) ∧ B (x, y) ∧ C (x, z) → ∃ z . R (x, y, z)

A (x) ∧ B (x, w) ∧ C (x, z) → R (x, w, z(x, w))

(56)

(f) Arity at Most 1

Film (x) → ∃ y . IsFilmDirectedBy (x, y) ∧ Director (y) Film (x) → IsFilmDirectedBy (x, y(x)) ∧ Director (y(x))

A (x) ∧ B (x, y) ∧ C (x, z) → ∃ z . R (x, y, z) A (x) ∧ B (x, w) ∧ C (x, z) → R (x, w, z(x, w))

Remark. If the arity of every function symbol in the

skolemisation of a program is at most 1, then every term

in the chase is of the form x1(…xn(c)…) with c constant.

(57)

(f) Arity at Most 1

Remark. If the arity of every function symbol in the

skolemisation of a program is at most 1, then every term

in the chase is of the form x1(…xn(c)…) with c constant.

(58)

(f) Arity at Most 1

Remark. If the arity of every function symbol in the

skolemisation of a program is at most 1, then every term in the chase is of the form x1(…xn(c)…) with c constant.

Corollary. Every term occurring in the chase corresponds to a path in the dependency

graph and a constant.

(59)

(f) Arity at Most 1

Remark. If the arity of every function symbol in the

skolemisation of a program is at most 1, then every term in the chase is of the form x1(…xn(c)…) with c constant.

Corollary. Every term occurring in the chase corresponds to a path in the dependency

graph and a constant.

z w

v

(60)

(f) Arity at Most 1

Remark. If the arity of every function symbol in the

skolemisation of a program is at most 1, then every term in the chase is of the form x1(…xn(c)…) with c constant.

Corollary. Every term occurring in the chase corresponds to a path in the dependency

graph and a constant.

z w

v

v(w(z(y(c)))

y(v(c))

(61)

Ensuring Tractability

(62)

(a) The dependency graph is acyclic.

Ensuring Tractability

(63)

(a) The dependency graph is acyclic.

(f) The arity of all function symbols in the skolemisation of the program is at most 1.

Ensuring Tractability

(64)

(a) The dependency graph is acyclic.

(f) The arity of all function symbols in the skolemisation of the program is at most 1.

All skolem terms

correspond to some path in the dependency graph and some constant

Ensuring Tractability

(65)

(a) The dependency graph is acyclic.

(f) The arity of all function symbols in the skolemisation of the program is at most 1.

(w) The number of variables per rule is bounded.

All skolem terms

correspond to some path in the dependency graph and some constant

Ensuring Tractability

(66)

(a) The dependency graph is acyclic.

(f) The arity of all function symbols in the skolemisation of the program is at most 1.

(w) The number of variables per rule is bounded.

Rules can be applied in polynomial time

The number of facts is polynomial in the

All skolem terms

correspond to some path in the dependency graph and some constant

Ensuring Tractability

(67)

(a) The dependency graph is acyclic.

(f) The arity of all function symbols in the skolemisation of the program is at most 1.

(w) The number of variables per rule is bounded.

Rules can be applied in polynomial time

The number of facts is polynomial in the

All skolem terms

correspond to some path in the dependency graph and some constant

The number of paths in the dependency graph is polynomial

Ensuring Tractability

(68)

(a) The dependency graph is acyclic.

(f) The arity of all function symbols in the skolemisation of the program is at most 1.

(w) The number of variables per rule is bounded.

Rules can be applied in polynomial time

The number of facts is polynomial in the

All skolem terms

correspond to some path in the dependency graph and some constant

The number of paths in the dependency graph is polynomial

Polynomiality

Ensuring Tractability

(69)

(a) The dependency graph is acyclic.

(f) The arity of all function symbols in the skolemisation of the program is at most 1.

(w) The number of variables per rule is bounded.

Rules can be applied in polynomial time

The number of facts is polynomial in the

All skolem terms

correspond to some path in the dependency graph and some constant

The number of paths in the dependency graph is polynomial

(?)

Polynomiality

Ensuring Tractability

(70)

Braids

(71)

Braids

(72)

Braids

(73)

Braids

(74)

(a) The dependency graph is acyclic.

(f) The arity of all function symbols in the skolemisation of the program is at most 1.

(w) The number of variables per rule is bounded.

Rules can be applied in polynomial time

The number of facts is polynomial in the

All skolem terms

correspond to some path in the dependency graph and some constant

The number of paths in the dependency graph is polynomial

Polynomiality

Ensuring Tractability

(?)

(75)

(a) The dependency graph is acyclic.

(f) The arity of all function symbols in the skolemisation of the program is at most 1.

(w) The number of variables per rule is bounded.

Rules can be applied in polynomial time

The number of facts is polynomial in the

All skolem terms

correspond to some path in the dependency graph and some constant

The number of paths in the dependency graph is polynomial

Polynomiality

Ensuring Tractability

(b) The length of the braids in the

(76)

(a) The dependency graph is acyclic.

(f) The arity of all function symbols in the skolemisation of the program is at most 1.

(w) The number of variables per rule is bounded.

Rules can be applied in polynomial time

The number of facts is polynomial in the

All skolem terms

correspond to some path in the dependency graph and some constant

The number of paths in the dependency graph is polynomial

Polynomiality

Ensuring Tractability

(b) The length of the braids in the

Caveats.

1. Fixed query size.

2. Horn rule set.

(77)

Evaluation

(78)

A 1 ⊓ … ⊓ A nBA 1 (x) ∧ … ∧ A n (x) → B(x) AB 1 ⊔ … ⊔ B nA(x)B 1 (x) ∨ … ∨ B n (x)

A ⊑ ∀R . BA(y)R(x, y)B(x)

A ⊑ ∃R . BA(x) → ∃ y . R(x, y)B(y) RSR(x, y)S(x, y)

RSVR(x, y)S(y, z)S(x, z)

R 1 ⊓ … ⊓ R nSR 1 (x, y) ∧ … ∧ R n (x, y)S(x, y) A(a)A(a)

R(a, b)R(a, b)

SRI Axioms

(79)

A 1 ⊓ … ⊓ A nBA 1 (x) ∧ … ∧ A n (x) → B(x) AB 1 ⊔ … ⊔ B nA(x)B 1 (x) ∨ … ∨ B n (x)

A ⊑ ∀R . BA(y)R(x, y)B(x)

A ⊑ ∃R . BA(x) → ∃ y . R(x, y)B(y) RSR(x, y)S(x, y)

RSVR(x, y)S(y, z)S(x, z)

R 1 ⊓ … ⊓ R nSR 1 (x, y) ∧ … ∧ R n (x, y)S(x, y) A(a)A(a)

R(a, b)R(a, b)

SRI Axioms

Remark 1. Deciding CQ

entailment for SRI ontologies is

2ExpTime-Hard and in 3ExpTime.

(80)

A 1 ⊓ … ⊓ A nBA 1 (x) ∧ … ∧ A n (x) → B(x) AB 1 ⊔ … ⊔ B nA(x)B 1 (x) ∨ … ∨ B n (x)

A ⊑ ∀R . BA(y)R(x, y)B(x)

A ⊑ ∃R . BA(x) → ∃ y . R(x, y)B(y) RSR(x, y)S(x, y)

RSVR(x, y)S(y, z)S(x, z)

R 1 ⊓ … ⊓ R nSR 1 (x, y) ∧ … ∧ R n (x, y)S(x, y) A(a)A(a)

R(a, b)R(a, b)

SRI Axioms

Remarks.

Remark 1. Deciding CQ

entailment for SRI ontologies is

2ExpTime-Hard and in 3ExpTime.

(81)

A 1 ⊓ … ⊓ A nBA 1 (x) ∧ … ∧ A n (x) → B(x) AB 1 ⊔ … ⊔ B nA(x)B 1 (x) ∨ … ∨ B n (x)

A ⊑ ∀R . BA(y)R(x, y)B(x)

A ⊑ ∃R . BA(x) → ∃ y . R(x, y)B(y) RSR(x, y)S(x, y)

RSVR(x, y)S(y, z)S(x, z)

R 1 ⊓ … ⊓ R nSR 1 (x, y) ∧ … ∧ R n (x, y)S(x, y) A(a)A(a)

R(a, b)R(a, b)

SRI Axioms

Remarks.

Remark 1. Deciding CQ

entailment for SRI ontologies is

2ExpTime-Hard and in 3ExpTime.

(82)

A 1 ⊓ … ⊓ A nBA 1 (x) ∧ … ∧ A n (x) → B(x) AB 1 ⊔ … ⊔ B nA(x)B 1 (x) ∨ … ∨ B n (x)

A ⊑ ∀R . BA(y)R(x, y)B(x)

A ⊑ ∃R . BA(x) → ∃ y . R(x, y)B(y) RSR(x, y)S(x, y)

RSVR(x, y)S(y, z)S(x, z)

R 1 ⊓ … ⊓ R nSR 1 (x, y) ∧ … ∧ R n (x, y)S(x, y) A(a)A(a)

R(a, b)R(a, b)

SRI Axioms

Remarks.

Remark 1. Deciding CQ

entailment for SRI ontologies is

2ExpTime-Hard and in 3ExpTime.

(83)

A 1 ⊓ … ⊓ A nBA 1 (x) ∧ … ∧ A n (x) → B(x) AB 1 ⊔ … ⊔ B nA(x)B 1 (x) ∨ … ∨ B n (x)

A ⊑ ∀R . BA(y)R(x, y)B(x)

A ⊑ ∃R . BA(x) → ∃ y . R(x, y)B(y) RSR(x, y)S(x, y)

RSVR(x, y)S(y, z)S(x, z)

R 1 ⊓ … ⊓ R nSR 1 (x, y) ∧ … ∧ R n (x, y)S(x, y) A(a)A(a)

R(a, b)R(a, b)

SRI Axioms

Remarks.

Remark 1. Deciding CQ

entailment for SRI ontologies is

2ExpTime-Hard and in 3ExpTime.

(84)

A 1 ⊓ … ⊓ A nBA 1 (x) ∧ … ∧ A n (x) → B(x) AB 1 ⊔ … ⊔ B nA(x)B 1 (x) ∨ … ∨ B n (x)

A ⊑ ∀R . BA(y)R(x, y)B(x)

A ⊑ ∃R . BA(x) → ∃ y . R(x, y)B(y) RSR(x, y)S(x, y)

RSVR(x, y)S(y, z)S(x, z)

R 1 ⊓ … ⊓ R nSR 1 (x, y) ∧ … ∧ R n (x, y)S(x, y) A(a)A(a)

R(a, b)R(a, b)

SRI Axioms

Remarks.

Remark 1. Deciding CQ

entailment for SRI ontologies is

2ExpTime-Hard and in 3ExpTime.

(85)

SRI Axioms

Remarks.

1. Every rule in an OWL ontology has at most 3 variables.

2. Every function symbol in the skolemisation of a SRI

ontology has arity one

(86)

SRI Axioms

Remarks.

1. Every rule in an OWL ontology has at most 3 variables.

2. Every function symbol in the skolemisation of a SRI ontology has arity one

Corollary. To guarantee that tractable reasoning over a SRI ontology is possible we only need to verify the following:

1. Acyclicity.

2. Braid length in the dependency graph is bounded.

(87)

Evaluation Results

(88)

Evaluation Results

Ontologies 1576 225

Acyclic 974 (61.8%) 170 (75.6%)

Acyclicity

MOWL Corpus Oxford Ontology Repo

(89)

Evaluation Results

Ontologies 1576 225

Acyclic 974 (61.8%) 170 (75.6%)

Acyclicity

Braid Length

1 2 3 4 5 6 11 22 23 25 Total

851 153 56 61 11 1 1 2 7 1 1144

MOWL Corpus + Oxford

(max. length of a braid)

(count)

MOWL Corpus Oxford Ontology Repo

(90)

Conclusions

(91)

More Results!

(92)

Conclusions

Efficient CQ Answering over a large subset of OWL 2 real-

world ontologies is possible!

(93)

Conclusions

Efficient CQ Answering over a large subset of OWL 2 real-

world ontologies is possible!

Future work:

- Implementation of a chase based reasoner for these ontologies

- Refine conditions

(94)

Tractable Query Answering for Expressive Ontologies and Rules*

David Carral, Irina Dragoste, Markus Krötzsch

Knowledge-Based Systems Group at

Referenzen

ÄHNLICHE DOKUMENTE

Answering conjunctive queries (CQs) over knowledge bases (KBs) containing dis- junctive existential rules is a relevant reasoning task which can be addressed using the disjunctive

Remark 2. Every rule in an SRI ontology has at most 3 variables. Every function symbol in the skolemisation of a SRI ontology has arity one.. Reasoning over Existential Rules

The disjunctive skolem chase is a sound and complete (albeit non-terminating) algorithm that can be used to solve conjunctive query answering over DL ontologies and programs

As usual in combined approaches (e.g., see [Stefanoni et al., 2013]), query processing times depend on the num- ber of candidate answers; thus, the applicability of the com-

Note that Definition 1 explains why (Horn-SHOIQ) ontologies captured by any of the normative profiles contain only safe roles: in the case of EL, roles can be existentially

2012 Michaël Thomazo, Jean-François Baget, Marie-Laure Mugnier, Sebastian Rudolph, A Generic Querying Algorithm for Greedy Sets of Existential Rules, KR’12. Marie-Laure

Ein wirkungsvolles Entgelttrans- parenzgesetz muss aber auch für kleinere Betriebe mit weniger als 200 Beschäftigten gelten, insbesondere weil dort viele Frauen arbeiten und

3.4 Temporal Arguments as Extra Arguments So far, our approach has argued for a direct encoding of the temporal extent through two further arguments, turning a binary relation, such