query answering with description logic ontologies Meghyn Bienvenu ( - - PowerPoint PPT Presentation

query answering with description logic ontologies
SMART_READER_LITE
LIVE PREVIEW

query answering with description logic ontologies Meghyn Bienvenu ( - - PowerPoint PPT Presentation

query answering with description logic ontologies Meghyn Bienvenu ( CNRS & Universit de Montpellier ) Magdalena Ortiz ( Vienna University of Technology ) conjunctive queries y P 1 t 1 P n t n where every variable in some t i appears in


slide-1
SLIDE 1

query answering with description logic

  • ntologies

Meghyn Bienvenu (CNRS & Université de Montpellier) Magdalena Ortiz (Vienna University of Technology)

slide-2
SLIDE 2

conjunctive queries

slide-3
SLIDE 3

(unions of) conjunctive queries

IQs quite restricted: No selections and joins as in DB queries Most work on OMQA adopts (unions of) conjunctive queries (CQs) A conjunctive query (CQ) is a first-order query q x

  • f the form

y P1 t1 Pn tn where every variable in some ti appears in either x or y and every Pi is either a concept or role name A union of CQs (UCQ) is a first-order query q x of the form q1 x qn x where the qi x are CQs with same tuple x of free vars

3/31

slide-4
SLIDE 4

(unions of) conjunctive queries

IQs quite restricted: No selections and joins as in DB queries Most work on OMQA adopts (unions of) conjunctive queries (CQs) A conjunctive query (CQ) is a first-order query q x

  • f the form

y P1 t1 Pn tn where every variable in some ti appears in either x or y and every Pi is either a concept or role name A union of CQs (UCQ) is a first-order query q x of the form q1 x qn x where the qi x are CQs with same tuple x of free vars

3/31

slide-5
SLIDE 5

(unions of) conjunctive queries

IQs quite restricted: No selections and joins as in DB queries Most work on OMQA adopts (unions of) conjunctive queries (CQs) A conjunctive query (CQ) is a first-order query q(⃗ x) of the form ∃⃗ y.P1(⃗ t1) ∧ · · · ∧ Pn(⃗ tn) where every variable in some ⃗ ti appears in either ⃗ x or ⃗ y and every Pi is either a concept or role name A union of CQs (UCQ) is a first-order query q x of the form q1 x qn x where the qi x are CQs with same tuple x of free vars

3/31

slide-6
SLIDE 6

(unions of) conjunctive queries

IQs quite restricted: No selections and joins as in DB queries Most work on OMQA adopts (unions of) conjunctive queries (CQs) A conjunctive query (CQ) is a first-order query q(⃗ x) of the form ∃⃗ y.P1(⃗ t1) ∧ · · · ∧ Pn(⃗ tn) where every variable in some ⃗ ti appears in either ⃗ x or ⃗ y and every Pi is either a concept or role name A union of CQs (UCQ) is a first-order query q(⃗ x) of the form q1(⃗ x) ∨ · · · ∨ qn(⃗ x) where the qi(⃗ x) are CQs with same tuple ⃗ x of free vars

3/31

slide-7
SLIDE 7

what can we express as cqs?

Find pairs of restaurants and dishes they serve which contain an spicy ingredient: q1(x, y) = ∃z.serves(x, y) ∧ Dish(y) ∧ hasIngred(y, z) ∧ Spicy(z) Find restaurants that serve a vegetarian menu and a menu with a spicy main dish, and that both have the same cake as dessert: q2(x) = ∃y1, y2, z1, z2.serves(x, y1) ∧ vegMenu(y1) ∧ hasDessert(y1, z1) ∧ Cake(z1) ∧ serves(x, y2) ∧ Menu(y2) ∧ hasMain(y2, z2) ∧ Spicy(z2) ∧ hasDessert(y2, z1) In general, not expressible as instance queries!

4/31

slide-8
SLIDE 8

what can we express as cqs?

Find pairs of restaurants and dishes they serve which contain an spicy ingredient: q1(x, y) = ∃z.serves(x, y) ∧ Dish(y) ∧ hasIngred(y, z) ∧ Spicy(z) Find restaurants that serve a vegetarian menu and a menu with a spicy main dish, and that both have the same cake as dessert: q2(x) = ∃y1, y2, z1, z2.serves(x, y1) ∧ vegMenu(y1) ∧ hasDessert(y1, z1) ∧ Cake(z1) ∧ serves(x, y2) ∧ Menu(y2) ∧ hasMain(y2, z2) ∧ Spicy(z2) ∧ hasDessert(y2, z1) In general, not expressible as instance queries!

4/31

slide-9
SLIDE 9

what can we express as ucqs?

Find restaurants that serve a dish that contains an spicy ingredient,

  • r that contains an ingredient that contains an spicy ingredient:

q1(x) = ( ∃y, z.serves(x, y) ∧ Dish(y) ∧ hasIngred(y, z) ∧ Spicy(z) ) ∨ ( ∃y1, y2, z.serves(x, y1) ∧ Dish(y1) ∧ hasIngred(y1, y2) ∧ hasIngred(y2, z) ∧ Spicy(z) )

5/31

slide-10
SLIDE 10

cqs and other query languages

CQs correspond to: ∙ select-project-join queries of relational algebra / SQL ∙ basic graph patterns of SPARQL Alternatively, CQs and UCQs can be seen as Datalog rules

6/31

slide-11
SLIDE 11

cqs and ucqs in datalog

CQs: q(⃗ x) = ∃⃗ y.P1(⃗ t1) ∧ · · · ∧ Pn(⃗ tn) ⇝ q(⃗ x) ← P1(⃗ t1), . . . , Pn(⃗ tn) UCQs: q x y1 P1

1 t1 1

P1

n1 t1 n1

q x P1

1 t1 1

P1

n1 t1 n1

y2 P2

1 t2 1

P2

n2 t2 n2

q x P2

1 t2 1

P2

n t2 n

. . . . . . y P1 t1 Pn tn q x P1 t1 Pn tn

7/31

slide-12
SLIDE 12

cqs and ucqs in datalog

CQs: q(⃗ x) = ∃⃗ y.P1(⃗ t1) ∧ · · · ∧ Pn(⃗ tn) ⇝ q(⃗ x) ← P1(⃗ t1), . . . , Pn(⃗ tn) UCQs: q(⃗ x) = ∃⃗ y1.P1

1(⃗

t1

1) ∧ · · · ∧ P1 n1( ⃗

t1

n1)

q(⃗ x) ← P1

1(⃗

t1

1), . . . , P1 n1( ⃗

t1

n1)

∨ ∃⃗ y2.P2

1(⃗

t2

1) ∧ · · · ∧ P2 n2( ⃗

t2

n2)

q(⃗ x) ← P2

1(⃗

t2

1), . . . , P2 n(⃗

t2

n)

. . . ⇝ . . . ∨ ∃⃗ yℓ.Pℓ

1(⃗

tℓ

1) ∧ · · · ∧ Pℓ nℓ( ⃗

tℓ

nℓ)

q(⃗ x) ← Pℓ

1(⃗

tℓ

1), . . . , Pℓ nℓ( ⃗

tℓ

nℓ) 7/31

slide-13
SLIDE 13

semantics of cqs

Recall that ⃗ a ∈ cert(q, K) iff ⃗ a ∈ ans(q, I) for every model I of K ∙ A CQ q(⃗ x) is an FO formula, its satisfaction in an interpretation is clear ⃗ a ∈ ans(q, I) iff I | = q(⃗ x → ⃗ a) ∙ We can also use the notion of a match A match for q x y x y in an interpretation is a mapping from the variables in x y to objects in such that:

∙ t A for every atom A t q ∙ t t r for every atom r t t q

We write q a if is a match for q x in and x a

8/31

slide-14
SLIDE 14

semantics of cqs

Recall that ⃗ a ∈ cert(q, K) iff ⃗ a ∈ ans(q, I) for every model I of K ∙ A CQ q(⃗ x) is an FO formula, its satisfaction in an interpretation is clear ⃗ a ∈ ans(q, I) iff I | = q(⃗ x → ⃗ a) ∙ We can also use the notion of a match A match for q x y x y in an interpretation is a mapping from the variables in x y to objects in such that:

∙ t A for every atom A t q ∙ t t r for every atom r t t q

We write q a if is a match for q x in and x a

8/31

slide-15
SLIDE 15

semantics of cqs

Recall that ⃗ a ∈ cert(q, K) iff ⃗ a ∈ ans(q, I) for every model I of K ∙ A CQ q(⃗ x) is an FO formula, its satisfaction in an interpretation is clear ⃗ a ∈ ans(q, I) iff I | = q(⃗ x → ⃗ a) ∙ We can also use the notion of a match A match for q(⃗ x) = ∃⃗ y.φ(⃗ x,⃗ y) in an interpretation I is a mapping π from the variables in ⃗ x ∪⃗ y to objects in ∆I such that:

∙ π(t) ∈ AI for every atom A(t) ∈ q ∙ π(t, t′) ∈ rI for every atom r(t, t′) ∈ q

We write q a if is a match for q x in and x a

8/31

slide-16
SLIDE 16

semantics of cqs

Recall that ⃗ a ∈ cert(q, K) iff ⃗ a ∈ ans(q, I) for every model I of K ∙ A CQ q(⃗ x) is an FO formula, its satisfaction in an interpretation is clear ⃗ a ∈ ans(q, I) iff I | = q(⃗ x → ⃗ a) ∙ We can also use the notion of a match A match for q(⃗ x) = ∃⃗ y.φ(⃗ x,⃗ y) in an interpretation I is a mapping π from the variables in ⃗ x ∪⃗ y to objects in ∆I such that:

∙ π(t) ∈ AI for every atom A(t) ∈ q ∙ π(t, t′) ∈ rI for every atom r(t, t′) ∈ q

We write I | =π q(⃗ a) if π is a match for q(⃗ x) in I and π(⃗ x) = ⃗ a

8/31

slide-17
SLIDE 17

semantics of cqs (cont.)

⃗ a ∈ cert(q, K) iff for every model I of K we have ⃗ a ∈ ans(q, I) iff for every model I of K there exists a match π such that I | =π q(⃗ a) Answering CQs = deciding if there is a match in every model Challenge: how do we check that? infinitely many models models can be infinite

9/31

slide-18
SLIDE 18

semantics of cqs (cont.)

⃗ a ∈ cert(q, K) iff for every model I of K we have ⃗ a ∈ ans(q, I) iff for every model I of K there exists a match π such that I | =π q(⃗ a) Answering CQs = deciding if there is a match in every model Challenge: how do we check that? infinitely many models models can be infinite

9/31

slide-19
SLIDE 19

semantics of cqs (cont.)

⃗ a ∈ cert(q, K) iff for every model I of K we have ⃗ a ∈ ans(q, I) iff for every model I of K there exists a match π such that I | =π q(⃗ a) Answering CQs = deciding if there is a match in every model Challenge: how do we check that? infinitely many models models can be infinite

9/31

slide-20
SLIDE 20

the universal model property

For Horn DLs, each satisfiable K has a universal model IK IK is ‘contained’ in every model I of K ⇝ formally, there is a homomorphism from IK to I An answer to a (U)CQ q in is an answer to q in every model of matches of (U)CQs are preserved under homomorphisms a cert q iff a ans q So: gives us the certain answers to q over Note: due to the universal model property, answering UCQs is not harder than answering CQs why?

10/31

slide-21
SLIDE 21

the universal model property

For Horn DLs, each satisfiable K has a universal model IK IK is ‘contained’ in every model I of K ⇝ formally, there is a homomorphism from IK to I An answer to a (U)CQ q in IK is an answer to q in every model of K ⇝ matches of (U)CQs are preserved under homomorphisms ⃗ a ∈ cert(q, K) iff ⃗ a ∈ ans(q, IK) So: IK gives us the certain answers to q over K Note: due to the universal model property, answering UCQs is not harder than answering CQs why?

10/31

slide-22
SLIDE 22

the universal model property

For Horn DLs, each satisfiable K has a universal model IK IK is ‘contained’ in every model I of K ⇝ formally, there is a homomorphism from IK to I An answer to a (U)CQ q in IK is an answer to q in every model of K ⇝ matches of (U)CQs are preserved under homomorphisms ⃗ a ∈ cert(q, K) iff ⃗ a ∈ ans(q, IK) So: IK gives us the certain answers to q over K Note: due to the universal model property, answering UCQs is not harder than answering CQs why?

10/31

slide-23
SLIDE 23

constructing a universal model

Use the saturation of (T , A) for building a universal model IT ,A Intuition:

  • contains the saturated ABox
  • if an object satisfies M and M

R M sat , a fresh object witnessing this is created Use only logically strongest inclusions in sat , denoted satstr Formally, contains words aR1M1 RnMn with a Ind and: ∙ Ri are roles and Mi are conjunctions of concept names ∙ there exists M R1 M1 satstr such that M a ∙ for every 1 i n, exists Mi Ri

1 Mi 1

satstr with Mi Mi

11/31

slide-24
SLIDE 24

constructing a universal model

Use the saturation of (T , A) for building a universal model IT ,A Intuition:

  • IT ,A contains the saturated ABox A′
  • if an object satisfies M and M ⊑ ∃R.M′ ∈ sat(T ),

a fresh object witnessing this is created Use only logically strongest inclusions in sat(T ), denoted satstr(T ) Formally, contains words aR1M1 RnMn with a Ind and: ∙ Ri are roles and Mi are conjunctions of concept names ∙ there exists M R1 M1 satstr such that M a ∙ for every 1 i n, exists Mi Ri

1 Mi 1

satstr with Mi Mi

11/31

slide-25
SLIDE 25

constructing a universal model

Use the saturation of (T , A) for building a universal model IT ,A Intuition:

  • IT ,A contains the saturated ABox A′
  • if an object satisfies M and M ⊑ ∃R.M′ ∈ sat(T ),

a fresh object witnessing this is created Use only logically strongest inclusions in sat(T ), denoted satstr(T ) Formally, ∆IT ,A contains words aR1M1 . . . RnMn with a ∈ Ind(A) and: ∙ Ri are roles and Mi are conjunctions of concept names ∙ there exists M ⊑ ∃R1.M1 ∈ satstr(T ) such that T , A | = M(a) ∙ for every 1 ≤ i < n, exists M′

i ⊑ ∃Ri+1.Mi+1 ∈ satstr(T ) with M′ i ⊆ Mi 11/31

slide-26
SLIDE 26

constructing a universal model (cont.)

Defining the interpretation function is straightforward: ∙ aIT ,A = a, ∙ a ∈ AI iff A(a) ∈ sat(T , A), ∙ eRM ∈ AIT ,A iff A ∈ M, ∙ (a, b) ∈ rI iff r(a, b) ∈ sat(T , A), ∙ (e, eRM) ∈ rIT ,A iff R ⊑ r ∈ sat(T ), and ∙ (eRM, e) ∈ rIT ,A if R ⊑ r− ∈ sat(T )

Remark: For readability, in the examples we use shorter names instead of the long words

12/31

slide-27
SLIDE 27

example of the canonical model construction (1/3)

TBox: PenneArrab ⊑ ∃hasIngred.Penne Penne ⊑ Pasta PenneArrab ⊑ ∃hasIngred.ArrabSauce ArrabSauce ⊑ ∃hasIngred.Peperonc Peperonc ⊑ Spicy PizzaCalab ⊑ ∃hasIngred.Nduja Nduja ⊑ Spicy ABox: serves(r, b) serves(r, p) PenneArrab(b) PizzaCalab(p) The saturated TBox additionally contains: PenneArrab ⊑ ∃hasIngred.(Penne ⊓ Pasta) ArrabSauce ⊑ ∃hasIngred.(Peperonc ⊓ Spicy) PizzaCalab ⊑ ∃hasIngred.(Nduja ⊓ Spicy)

13/31

slide-28
SLIDE 28

example of the canonical model construction (2/3)

IT ,A contains the ABox and is closed under inclusions

serves(r, b) serves(r, p) PenneArrab(b) PizzaCalab(p) r p

PizzaCalab

b

PenneArrab

serves serves

14/31

slide-29
SLIDE 29

example of the canonical model construction (3/3)

The anonymous objects witnessing existential concepts form trees

r p

PizzaCalab

b

PenneArrab

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce e4

Peperonc, Spicy

serves serves hasIngred hasIngred hasIngred hasIngred PenneArrab ⊑ ∃hasIngred.ArrabSauce PenneArrab ⊑ ∃hasIngred.(Penne ⊓ Pasta) ArrabSauce ⊑ ∃hasIngred.(Peperonc ⊓ Spicy) PizzaCalab ⊑ ∃hasIngred.(Nduja ⊓ Spicy)

15/31

slide-30
SLIDE 30

finding answers in the canonical model

To answer CQ q, it suffices to test whether it has a match in IT ,A But this is still challenging!

  • IT ,A contains assertions and objects not present in A
  • we cannot build IT ,A explicitly: can be infinite!

Our approach: use query rewriting! Formally: given a CQ q, we construct a UCQ REW q such that a ans q iff there is a match for a disjunct q of rew q such that q a and sends all vars to individuals from

16/31

slide-31
SLIDE 31

finding answers in the canonical model

To answer CQ q, it suffices to test whether it has a match in IT ,A But this is still challenging!

  • IT ,A contains assertions and objects not present in A
  • we cannot build IT ,A explicitly: can be infinite!

Our approach: use query rewriting! Formally: given a CQ q, we construct a UCQ REW q such that a ans q iff there is a match for a disjunct q of rew q such that q a and sends all vars to individuals from

16/31

slide-32
SLIDE 32

finding answers in the canonical model

To answer CQ q, it suffices to test whether it has a match in IT ,A But this is still challenging!

  • IT ,A contains assertions and objects not present in A
  • we cannot build IT ,A explicitly: can be infinite!

Our approach: use query rewriting! Formally: given a CQ q, we construct a UCQ REWT (q) such that ⃗ a ∈ ans(q, IT ,A) iff there is a match π for a disjunct q′ of rewT (q) such that IT ,A | =π q′(⃗ a) and π sends all vars to individuals from A

16/31

slide-33
SLIDE 33

rewriting the query

Idea of the 1-step rewriting of q into q′:

  • 1. Choose leaf variable x so that no vars are mapped below it in IT ,A
  • 2. Find M ⊑ ∃R.N in sat(T ) that ensures all atoms with x
  • 3. Drop from q all atoms with x
  • 4. Merge all neighbours of x and add M for the merged variable

Properties: ∙ Every match for q can be easily modified into match for q ∙ For each match for q, there is some q produced by the rewriting step and a match for q ∙ The matches and are essentially the same, but matches x closer to the ABox than We repeatedly apply the rewriting step to obtain a set of queries whose relevant matches range over ABox individuals

17/31

slide-34
SLIDE 34

rewriting the query

Idea of the 1-step rewriting of q into q′:

  • 1. Choose leaf variable x so that no vars are mapped below it in IT ,A
  • 2. Find M ⊑ ∃R.N in sat(T ) that ensures all atoms with x
  • 3. Drop from q all atoms with x
  • 4. Merge all neighbours of x and add M for the merged variable

Properties: ∙ Every match π′ for q′ can be easily modified into match π for q ∙ For each match for q, there is some q produced by the rewriting step and a match for q ∙ The matches and are essentially the same, but matches x closer to the ABox than We repeatedly apply the rewriting step to obtain a set of queries whose relevant matches range over ABox individuals

17/31

slide-35
SLIDE 35

rewriting the query

Idea of the 1-step rewriting of q into q′:

  • 1. Choose leaf variable x so that no vars are mapped below it in IT ,A
  • 2. Find M ⊑ ∃R.N in sat(T ) that ensures all atoms with x
  • 3. Drop from q all atoms with x
  • 4. Merge all neighbours of x and add M for the merged variable

Properties: ∙ Every match π′ for q′ can be easily modified into match π for q ∙ For each match π for q, there is some q′ produced by the rewriting step and a match π′ for q′ ∙ The matches and are essentially the same, but matches x closer to the ABox than We repeatedly apply the rewriting step to obtain a set of queries whose relevant matches range over ABox individuals

17/31

slide-36
SLIDE 36

rewriting the query

Idea of the 1-step rewriting of q into q′:

  • 1. Choose leaf variable x so that no vars are mapped below it in IT ,A
  • 2. Find M ⊑ ∃R.N in sat(T ) that ensures all atoms with x
  • 3. Drop from q all atoms with x
  • 4. Merge all neighbours of x and add M for the merged variable

Properties: ∙ Every match π′ for q′ can be easily modified into match π for q ∙ For each match π for q, there is some q′ produced by the rewriting step and a match π′ for q′ ∙ The matches π and π′ are essentially the same, but π′ matches x closer to the ABox than π We repeatedly apply the rewriting step to obtain a set of queries whose relevant matches range over ABox individuals

17/31

slide-37
SLIDE 37

rewriting the query

Idea of the 1-step rewriting of q into q′:

  • 1. Choose leaf variable x so that no vars are mapped below it in IT ,A
  • 2. Find M ⊑ ∃R.N in sat(T ) that ensures all atoms with x
  • 3. Drop from q all atoms with x
  • 4. Merge all neighbours of x and add M for the merged variable

Properties: ∙ Every match π′ for q′ can be easily modified into match π for q ∙ For each match π for q, there is some q′ produced by the rewriting step and a match π′ for q′ ∙ The matches π and π′ are essentially the same, but π′ matches x closer to the ABox than π We repeatedly apply the rewriting step to obtain a set of queries whose relevant matches range over ABox individuals

17/31

slide-38
SLIDE 38

example of a rewriting step (1/2)

q(y, x) = ∃z, z′.serves(x, y) ∧ hasIngred(y, z) ∧ hasIngred(z, z′) ∧ Spicy(z′) We have IK | =π q(b, r) with π(x) = r, π(y) = b, π(z) = e3, π(z′) = e4

r

π(x)

p

PizzaCalab

b

PenneArrab π(y)

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce

π(z)

e4

Peperonc, Spicy π(z′)

serves serves hasIngred hasIngred hasIngred hasIngred

Choose z as ‘leaf’ Choose ArrabSauce hasIngred Spicy sat RHS ensures hasIngred z z , Spicy z We replace these atoms by ArrabSauce z q y x z serves x y hasIngred y z ArrabSauce z

18/31

slide-39
SLIDE 39

example of a rewriting step (1/2)

q(y, x) = ∃z, z′.serves(x, y) ∧ hasIngred(y, z) ∧ hasIngred(z, z′) ∧ Spicy(z′) We have IK | =π q(b, r) with π(x) = r, π(y) = b, π(z) = e3, π(z′) = e4

r

π(x)

p

PizzaCalab

b

PenneArrab π(y)

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce

π(z)

e4

Peperonc, Spicy π(z′)

serves serves hasIngred hasIngred hasIngred hasIngred

  • Choose z′ as ‘leaf’
  • Choose ArrabSauce ⊑ ∃hasIngred.Spicy ∈ sat(T )
  • RHS ensures hasIngred(z, z′), Spicy(z′)
  • We replace these atoms by ArrabSauce(z)

q y x z serves x y hasIngred y z ArrabSauce z

18/31

slide-40
SLIDE 40

example of a rewriting step (1/2)

q(y, x) = ∃z, z′.serves(x, y) ∧ hasIngred(y, z) ∧ hasIngred(z, z′) ∧ Spicy(z′) We have IK | =π q(b, r) with π(x) = r, π(y) = b, π(z) = e3, π(z′) = e4

r

π(x)

p

PizzaCalab

b

PenneArrab π(y)

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce

π(z)

e4

Peperonc, Spicy π(z′)

serves serves hasIngred hasIngred hasIngred hasIngred

  • Choose z′ as ‘leaf’
  • Choose ArrabSauce ⊑ ∃hasIngred.Spicy ∈ sat(T )
  • RHS ensures hasIngred(z, z′), Spicy(z′)
  • We replace these atoms by ArrabSauce(z)

q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z)

18/31

slide-41
SLIDE 41

example of a rewriting step (2/2)

q(y, x) = ∃z, z′.serves(x, y) ∧ hasIngred(y, z) ∧ hasIngred(z, z′) ∧ Spicy(z′) q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z) q b r q b r

r

x , x

p

PizzaCalab

b

PenneArrab y , y

e1

Nduja Spicy

e2

Penne Pasta

e3 ArrabSauce

z , z

e4

Peperonc Spicy z

serves serves hasIngred hasIngred hasIngred hasIngred

depth( ) depth( )

19/31

slide-42
SLIDE 42

example of a rewriting step (2/2)

q(y, x) = ∃z, z′.serves(x, y) ∧ hasIngred(y, z) ∧ hasIngred(z, z′) ∧ Spicy(z′) q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z) IK | =π q(b, r) IK | =π′ q′(b, r)

r

π(x),π′(x)

p

PizzaCalab

b

PenneArrab π(y),π′(y)

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce

π(z) ,π′(z)

e4

Peperonc, Spicy π(z′)

serves serves hasIngred hasIngred hasIngred hasIngred

depth( ) depth( )

19/31

slide-43
SLIDE 43

example of a rewriting step (2/2)

q(y, x) = ∃z, z′.serves(x, y) ∧ hasIngred(y, z) ∧ hasIngred(z, z′) ∧ Spicy(z′) q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z) IK | =π q(b, r) IK | =π′ q′(b, r)

r

π(x),π′(x)

p

PizzaCalab

b

PenneArrab π(y),π′(y)

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce

π(z) ,π′(z)

e4

Peperonc, Spicy π(z′)

serves serves hasIngred hasIngred hasIngred hasIngred

depth(π)>depth(π′)

19/31

slide-44
SLIDE 44

another rewriting step (1/2)

q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z) IK | =π′ q′(b, r)

r

π′(x)

p

PizzaCalab

b

PenneArrab π′(y)

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce

π′(z)

e4

Peperonc, Spicy

serves serves hasIngred hasIngred hasIngred hasIngred

Choose z as leaf Choose PenneArrab hasIngred ArrabSauce RHS yields hasIngred y z and ArrabSauce z We replace these atoms by PenneArrab y q y x serves x y PenneArrab y

20/31

slide-45
SLIDE 45

another rewriting step (1/2)

q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z) IK | =π′ q′(b, r)

r

π′(x)

p

PizzaCalab

b

PenneArrab π′(y)

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce

π′(z)

e4

Peperonc, Spicy

serves serves hasIngred hasIngred hasIngred hasIngred

  • Choose z as leaf
  • Choose PenneArrab ⊑ ∃hasIngred.ArrabSauce
  • RHS yields hasIngred(y, z) and ArrabSauce(z)
  • We replace these atoms by PenneArrab(y)

q y x serves x y PenneArrab y

20/31

slide-46
SLIDE 46

another rewriting step (1/2)

q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z) IK | =π′ q′(b, r)

r

π′(x)

p

PizzaCalab

b

PenneArrab π′(y)

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce

π′(z)

e4

Peperonc, Spicy

serves serves hasIngred hasIngred hasIngred hasIngred

  • Choose z as leaf
  • Choose PenneArrab ⊑ ∃hasIngred.ArrabSauce
  • RHS yields hasIngred(y, z) and ArrabSauce(z)
  • We replace these atoms by PenneArrab(y)

q′′(y, x) = serves(x, y) ∧ PenneArrab(y)

20/31

slide-47
SLIDE 47

another rewriting step (2/2)

q(y, x) = ∃z, z′serves(x, y) ∧ hasIngred(y, z) ∧ hasIngred(z, z′) ∧ Spicy(z′) q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z) q′′(y, x) = serves(x, y) ∧ PenneArrab(y) q b r q b r q b r

r

x , x , x

p

PizzaCalab

b

PenneArrab y , y , y

e1

Nduja Spicy

e2

Penne Pasta

e3 ArrabSauce

z , z

e4

Peperonc Spicy z

serves serves hasIngred hasIngred hasIngred hasIngred

depth > depth > depth In all variables are mapped to individuals

21/31

slide-48
SLIDE 48

another rewriting step (2/2)

q(y, x) = ∃z, z′serves(x, y) ∧ hasIngred(y, z) ∧ hasIngred(z, z′) ∧ Spicy(z′) q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z) q′′(y, x) = serves(x, y) ∧ PenneArrab(y) IK | =π q(b, r) IK | =π′ q′(b, r) IK | =π′′ q′′(b, r)

r

x , x , x

p

PizzaCalab

b

PenneArrab y , y , y

e1

Nduja Spicy

e2

Penne Pasta

e3 ArrabSauce

z , z

e4

Peperonc Spicy z

serves serves hasIngred hasIngred hasIngred hasIngred

depth > depth > depth In all variables are mapped to individuals

21/31

slide-49
SLIDE 49

another rewriting step (2/2)

q(y, x) = ∃z, z′serves(x, y) ∧ hasIngred(y, z) ∧ hasIngred(z, z′) ∧ Spicy(z′) q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z) q′′(y, x) = serves(x, y) ∧ PenneArrab(y) IK | =π q(b, r) IK | =π′ q′(b, r) IK | =π′′ q′′(b, r)

r

π(x),π′(x),π′′(x)

p

PizzaCalab

b

PenneArrab π(y),π′(y),π′′(y)

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce

π(z) ,π′(z)

e4

Peperonc, Spicy π(z′)

serves serves hasIngred hasIngred hasIngred hasIngred

depth > depth > depth In all variables are mapped to individuals

21/31

slide-50
SLIDE 50

another rewriting step (2/2)

q(y, x) = ∃z, z′serves(x, y) ∧ hasIngred(y, z) ∧ hasIngred(z, z′) ∧ Spicy(z′) q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z) q′′(y, x) = serves(x, y) ∧ PenneArrab(y) IK | =π q(b, r) IK | =π′ q′(b, r) IK | =π′′ q′′(b, r)

r

π(x),π′(x),π′′(x)

p

PizzaCalab

b

PenneArrab π(y),π′(y),π′′(y)

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce

π(z) ,π′(z)

e4

Peperonc, Spicy π(z′)

serves serves hasIngred hasIngred hasIngred hasIngred

depth(π) > depth(π′) > depth(π′′) In all variables are mapped to individuals

21/31

slide-51
SLIDE 51

another rewriting step (2/2)

q(y, x) = ∃z, z′serves(x, y) ∧ hasIngred(y, z) ∧ hasIngred(z, z′) ∧ Spicy(z′) q′(y, x) = ∃z.serves(x, y) ∧ hasIngred(y, z) ∧ ArrabSauce(z) q′′(y, x) = serves(x, y) ∧ PenneArrab(y) IK | =π q(b, r) IK | =π′ q′(b, r) IK | =π′′ q′′(b, r)

r

π(x),π′(x),π′′(x)

p

PizzaCalab

b

PenneArrab π(y),π′(y),π′′(y)

e1

Nduja, Spicy

e2

Penne, Pasta

e3 ArrabSauce

π(z) ,π′(z)

e4

Peperonc, Spicy π(z′)

serves serves hasIngred hasIngred hasIngred hasIngred

depth(π) > depth(π′) > depth(π′′) In π′′ all variables are mapped to individuals

21/31

slide-52
SLIDE 52

decision procedure

Theorem For every satisfiable ELHI⊥KB K = (T , A), and CQ q(⃗ x): ⃗ a ∈ cert(q, K) iff IK | =π q′(⃗ a) for some q′ ∈ rewT (q) and some π that maps all variables to individuals in A. There is a bounded number of such restricted matches Checking if is match reduces to linearly many instance checks Yields terminating, sound, and complete CQ answering procedure

22/31

slide-53
SLIDE 53

decision procedure

Theorem For every satisfiable ELHI⊥KB K = (T , A), and CQ q(⃗ x): ⃗ a ∈ cert(q, K) iff IK | =π q′(⃗ a) for some q′ ∈ rewT (q) and some π that maps all variables to individuals in A. There is a bounded number of such restricted matches π Checking if π is match reduces to linearly many instance checks Yields terminating, sound, and complete CQ answering procedure

22/31

slide-54
SLIDE 54

decision procedure

Theorem For every satisfiable ELHI⊥KB K = (T , A), and CQ q(⃗ x): ⃗ a ∈ cert(q, K) iff IK | =π q′(⃗ a) for some q′ ∈ rewT (q) and some π that maps all variables to individuals in A. There is a bounded number of such restricted matches π Checking if π is match reduces to linearly many instance checks Yields terminating, sound, and complete CQ answering procedure

22/31

slide-55
SLIDE 55

complexity of cq answering

Combined complexity: sat(T ) and rewT (q) can be constructed in single exponential time single exponential bound on candidate matches π ⇝ instance checking in single exponential time Data complexity: sat and rew q are ABox independent polynomial bound on candidate matches instance checking in polynomial time Theorem CQ answering in and Horn- is Exp-complete in combined complexity and P-complete in data complexity.

23/31

slide-56
SLIDE 56

complexity of cq answering

Combined complexity: sat(T ) and rewT (q) can be constructed in single exponential time single exponential bound on candidate matches π ⇝ instance checking in single exponential time Data complexity: sat(T ) and rewT (q) are ABox independent polynomial bound on candidate matches π ⇝ instance checking in polynomial time Theorem CQ answering in and Horn- is Exp-complete in combined complexity and P-complete in data complexity.

23/31

slide-57
SLIDE 57

complexity of cq answering

Combined complexity: sat(T ) and rewT (q) can be constructed in single exponential time single exponential bound on candidate matches π ⇝ instance checking in single exponential time Data complexity: sat(T ) and rewT (q) are ABox independent polynomial bound on candidate matches π ⇝ instance checking in polynomial time Theorem CQ answering in ELHI⊥and Horn-SHIQ is Exp-complete in combined complexity and P-complete in data complexity.

23/31

slide-58
SLIDE 58
  • ptimal bounds for lightweight dls

Adapting our technique gives optimal bounds for lightweight DLs: For ELH and DL-LiteR we get NP in combined complexity: ∙ compute sat(T ) in polynomial time ∙ non-deterministically build the right q′ ∈ rewT (q) ∙ guess a candidate π ∙ check if it is a match ⇝ instance checking in polynomial time CQ answering is NP-hard over ABox alone seen as DB (no TBox) For in data complexity, yields P membership

  • ptimal since instance queries already P-hard

In DL-Lite , we get a FO-rewriting (later) in AC0 for data compl. Theorem CQ answering in and DL-Lite is NP-complete in combined complexity. For the data complexity is P-complete, and for DL-Lite the data complexity is in AC0.

24/31

slide-59
SLIDE 59
  • ptimal bounds for lightweight dls

Adapting our technique gives optimal bounds for lightweight DLs: For ELH and DL-LiteR we get NP in combined complexity: ∙ compute sat(T ) in polynomial time ∙ non-deterministically build the right q′ ∈ rewT (q) ∙ guess a candidate π ∙ check if it is a match ⇝ instance checking in polynomial time CQ answering is NP-hard over ABox alone seen as DB (no TBox) For EL in data complexity, yields P membership ⇝ optimal since instance queries already P-hard In DL-Lite , we get a FO-rewriting (later) in AC0 for data compl. Theorem CQ answering in and DL-Lite is NP-complete in combined complexity. For the data complexity is P-complete, and for DL-Lite the data complexity is in AC0.

24/31

slide-60
SLIDE 60
  • ptimal bounds for lightweight dls

Adapting our technique gives optimal bounds for lightweight DLs: For ELH and DL-LiteR we get NP in combined complexity: ∙ compute sat(T ) in polynomial time ∙ non-deterministically build the right q′ ∈ rewT (q) ∙ guess a candidate π ∙ check if it is a match ⇝ instance checking in polynomial time CQ answering is NP-hard over ABox alone seen as DB (no TBox) For EL in data complexity, yields P membership ⇝ optimal since instance queries already P-hard In DL-LiteR, we get a FO-rewriting (later) ⇝ in AC0 for data compl. Theorem CQ answering in and DL-Lite is NP-complete in combined complexity. For the data complexity is P-complete, and for DL-Lite the data complexity is in AC0.

24/31

slide-61
SLIDE 61
  • ptimal bounds for lightweight dls

Adapting our technique gives optimal bounds for lightweight DLs: For ELH and DL-LiteR we get NP in combined complexity: ∙ compute sat(T ) in polynomial time ∙ non-deterministically build the right q′ ∈ rewT (q) ∙ guess a candidate π ∙ check if it is a match ⇝ instance checking in polynomial time CQ answering is NP-hard over ABox alone seen as DB (no TBox) For EL in data complexity, yields P membership ⇝ optimal since instance queries already P-hard In DL-LiteR, we get a FO-rewriting (later) ⇝ in AC0 for data compl. Theorem CQ answering in ELH and DL-LiteR is NP-complete in combined complexity. For ELH the data complexity is P-complete, and for DL-LiteR the data complexity is in AC0.

24/31

slide-62
SLIDE 62

datalog rewriting

Our procedure yields a Datalog rewriting: ∙ rewT (q) is a UCQ ⇝ translate into set of Datalog rules Πrew(q)

∙ use Q in head of rules

∙ the program Π(T , Σ) (from earlier) computes all entailed ABox assertions

rew q

Q is a Datalog rewriting of q w.r.t. relative to consistent

  • ABoxes

25/31

slide-63
SLIDE 63

datalog rewriting

Our procedure yields a Datalog rewriting: ∙ rewT (q) is a UCQ ⇝ translate into set of Datalog rules Πrew(q)

∙ use Q in head of rules

∙ the program Π(T , Σ) (from earlier) computes all entailed ABox assertions (Πrew(q) ∪ Π(T , Σ), Q) is a Datalog rewriting of q w.r.t. T relative to consistent Σ-ABoxes

25/31

slide-64
SLIDE 64

combined approach for cqs in elhi

Alternatively, view as a combined approach: saturation + rewriting Know that it suffices to evaluate the UCQ rew q over the set of ABox assertions entailed from the KB Also know: assertions entailed from = assertions in sat Materialize assertions in sat and view result as database +

  • nly need to evaluate a UCQ

can use standard relational database systems – materializing not always convenient saturation needs to be updated if data changes

26/31

slide-65
SLIDE 65

combined approach for cqs in elhi

Alternatively, view as a combined approach: saturation + rewriting Know that it suffices to evaluate the UCQ rewT (q) over the set of ABox assertions entailed from the KB K Also know: assertions entailed from = assertions in sat Materialize assertions in sat and view result as database +

  • nly need to evaluate a UCQ

can use standard relational database systems – materializing not always convenient saturation needs to be updated if data changes

26/31

slide-66
SLIDE 66

combined approach for cqs in elhi

Alternatively, view as a combined approach: saturation + rewriting Know that it suffices to evaluate the UCQ rewT (q) over the set of ABox assertions entailed from the KB K Also know: assertions entailed from K = assertions in sat(K) Materialize assertions in sat and view result as database +

  • nly need to evaluate a UCQ

can use standard relational database systems – materializing not always convenient saturation needs to be updated if data changes

26/31

slide-67
SLIDE 67

combined approach for cqs in elhi

Alternatively, view as a combined approach: saturation + rewriting Know that it suffices to evaluate the UCQ rewT (q) over the set of ABox assertions entailed from the KB K Also know: assertions entailed from K = assertions in sat(K) Materialize assertions in sat(K) and view result as database +

  • nly need to evaluate a UCQ

can use standard relational database systems – materializing not always convenient saturation needs to be updated if data changes

26/31

slide-68
SLIDE 68

an fo rewriting approach for cqs in dl-lite

For DL-LiteR we can generate an FO-rewriting as follows. Replace in all q′ ∈ rewT (q) each atom by its FO-rewriting for instance checking: ∙ replace each A t by RewriteIQ A ∙ replace each r t t by RewriteIQ r Resulting FO formula: ∙ positive, can be transformed into a UCQ ∙ it is a rewriting of q and (relative to consistent ABoxes) ∙ yields AC0 upper bound in data complexity

27/31

slide-69
SLIDE 69

an fo rewriting approach for cqs in dl-lite

For DL-LiteR we can generate an FO-rewriting as follows. Replace in all q′ ∈ rewT (q) each atom by its FO-rewriting for instance checking: ∙ replace each A(t) by RewriteIQ(A, T ) ∙ replace each r(t, t′) by RewriteIQ(r, T ) Resulting FO formula: ∙ positive, can be transformed into a UCQ ∙ it is a rewriting of q and (relative to consistent ABoxes) ∙ yields AC0 upper bound in data complexity

27/31

slide-70
SLIDE 70

an fo rewriting approach for cqs in dl-lite

For DL-LiteR we can generate an FO-rewriting as follows. Replace in all q′ ∈ rewT (q) each atom by its FO-rewriting for instance checking: ∙ replace each A(t) by RewriteIQ(A, T ) ∙ replace each r(t, t′) by RewriteIQ(r, T ) Resulting FO formula: ∙ positive, can be transformed into a UCQ ∙ it is a rewriting of q and T (relative to consistent ABoxes) ∙ yields AC0 upper bound in data complexity

27/31

slide-71
SLIDE 71
  • ther horn dls

∙ Similar results hold for other dialects of DL-Lite and EL ∙ Also for more expressive Horn DLs, like Horn-SHOIQ ∙ For answering CQs and UCQs in Horn DLs, usually we have:

∙ Data complexity is in P ∙ The combined complexity is either:

∙ NP-complete for tractable DLs ∙ the same as for instance queries in richer Horn DLs

∙ With complex role inclusions the complexity increases

∙ CQs undecidable for EL ++ ∙ If suitably restricted, PSpace-complete

28/31

slide-72
SLIDE 72

undecidability of cq answering with complex role inclusions

We can reduce emptiness of the intersection of two CF languages to CQ answering in EL (or DL-Lite) with complex role inclusions r1 ◦ · · · ◦ rn ⊑ s Given two CFGs

(the non-terminals N1 and N2 are disjoint)

Gi = (Ni, T, Pi, Si) i ∈ {1, 2} We define a TBox T = {⊤ ⊑ ∃rt.⊤ | t ∈ T} ∪ {rA1 ◦ · · · ◦ rAn ⊑ rA | A → A1 · · · An ∈ P1 ∪ P2} Then L(G1) ∩ L(G2) ̸= ∅ iff T , {A(c)} | = ∃x.S1(c, x) ∧ S2(c, x)

29/31

slide-73
SLIDE 73

a glimpse beyond horn dls

∙ No universal model property ∙ CQ answering usually exponentially harder than instance queries

∙ exponential blow-up in the size of the query

∙ Different techniques:

∙ Automata on infinite trees ∙ Reductions to satisfiability using treefications and rolling-up ∙ Resolution, decompositions, typ/knot elimination, etc.

∙ Often best-case exponential, implementations still not in sight ∙ Usually bounds for UCQs and CQs coincide, and even for positive existential queries ∙ For the well-known SHOIQ decidability and complexity elusive

30/31

slide-74
SLIDE 74

complexity of answering (u)cqs

IQs CQs, UCQs data complexity combined complexity data complexity combined complexity DL-Lite DL-LiteR in AC0 NLogSpace in AC0 NP EL, ELH P P P NP ELI, ELHI⊥, Horn-SHOIQ P Exp P Exp ALC, ALCHQ coNP Exp coNP Exp ALCI, SH, SHIQ coNP Exp coNP 2Exp SHOIQ coNP coNExp coNP-hard1 coN2Exp-hard1

1 decidability open

31/31