Stratification Criteria and Rewriting Techniques for Checking Chase - - PowerPoint PPT Presentation

stratification criteria and rewriting techniques for
SMART_READER_LITE
LIVE PREVIEW

Stratification Criteria and Rewriting Techniques for Checking Chase - - PowerPoint PPT Presentation

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Stratification Criteria and Rewriting Techniques for Checking Chase Termination S. Greco, F . Spezzano and I. Trubitsyna DEIS, Universit` a della Calabria - Italy


slide-1
SLIDE 1

Stratification Criteria and Rewriting Techniques for Checking Chase Termination

Stratification Criteria and Rewriting Techniques for Checking Chase Termination

  • S. Greco, F

. Spezzano and I. Trubitsyna

DEIS, Universit` a della Calabria - Italy

VLDB 2011

37th International Conference on Very Large Data Bases

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-2
SLIDE 2

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Outline

1

Motivations

2

Chase Termination Criteria

3

Constraints Rewriting Technique

4

Conclusions

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-3
SLIDE 3

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Chase Algorithm

Sufficient chase termination condition Example D = {N(a), S(a)} Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(x) ∧ E(x, y) → N(y) ]

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-4
SLIDE 4

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Chase Algorithm

Sufficient chase termination condition Example D = {N(a), S(a)} Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(x) ∧ E(x, y) → N(y) ] chase(D, Σ) = {N(a), S(a)}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-5
SLIDE 5

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Chase Algorithm

Sufficient chase termination condition Example D = {N(a), S(a)} Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(x) ∧ E(x, y) → N(y) ] chase(D, Σ) = {N(a), S(a)}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-6
SLIDE 6

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Chase Algorithm

Sufficient chase termination condition Example D = {N(a), S(a)} Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(x) ∧ E(x, y) → N(y) ] chase(D, Σ) = {N(a), S(a), E(a, η1)}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-7
SLIDE 7

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Chase Algorithm

Sufficient chase termination condition Example D = {N(a), S(a)} Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(x) ∧ E(x, y) → N(y) ] chase(D, Σ) = {N(a), S(a), E(a, η1)}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-8
SLIDE 8

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Chase Algorithm

Sufficient chase termination condition Example D = {N(a), S(a)} Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(x) ∧ E(x, y) → N(y) ] chase(D, Σ) = {N(a), S(a), E(a, η1), N(η1)}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-9
SLIDE 9

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Chase Algorithm

Sufficient chase termination condition Example D = {N(a), S(a)} Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(x) ∧ E(x, y) → N(y) ] chase(D, Σ) = {N(a), S(a), E(a, η1), N(η1)}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-10
SLIDE 10

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Chase Algorithm

Sufficient chase termination condition Example D = {N(a), S(a)} Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(x) ∧ E(x, y) → N(y) ] chase(D, Σ) = {N(a), S(a), E(a, η1), N(η1), E(η1, η2)}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-11
SLIDE 11

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Chase Algorithm

Sufficient chase termination condition Example D = {N(a), S(a)} Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(x) ∧ E(x, y) → N(y) ] chase(D, Σ) = {N(a), S(a), E(a, η1), N(η1), E(η1, η2)} The chase produces a universal solution

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-12
SLIDE 12

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Chase Algorithm

Sufficient chase termination condition Example D = {N(a), S(a)} Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(x) ∧ E(x, y) → N(y) ] chase(D, Σ) = {N(a), S(a), E(a, η1), N(η1), E(η1, η2)} Areas of application: query optimization, data exchange, consistent query answering,. . .

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-13
SLIDE 13

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

A Non-terminating Chase Sequence

Example Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(y),E(x, y) → N(y) ] D = {N(a)} chase(D, Σ) = {N(a), E(a, η1), N(η1), E(η1, η2), N(η2), . . . }

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-14
SLIDE 14

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

A Non-terminating Chase Sequence

Example Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(y),E(x, y) → N(y) ] D = {N(a)} chase(D, Σ) = {N(a), E(a, η1), N(η1), E(η1, η2), N(η2), . . . } Chase termination: undecidable problem (Deutsch et al. [2008])

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-15
SLIDE 15

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Weak Acyclicity

(Dependency Graph)

represent the flow of values nodes are positions special edges →

∗ indicates the generation of new null values

Example Σ =

∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ E(x, y) → N(y) ]

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-16
SLIDE 16

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Weak Acyclicity

(Dependency Graph)

represent the flow of values nodes are positions special edges →

∗ indicates the generation of new null values

Example Σ =

∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ E(x, y) → N(y) ]

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-17
SLIDE 17

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Weak Acyclicity

(Dependency Graph)

represent the flow of values nodes are positions special edges →

∗ indicates the generation of new null values

Example Σ =

∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ E(x, y) → N(y) ]

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-18
SLIDE 18

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

WA, SC, CStr, IR and SwA Relationships

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-19
SLIDE 19

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Motivations

Contributions

Introduction of new chase termination criteria

WA-stratification (SC-stratification and SwA-stratification) Local Stratification

New rewriting technique improved by analyzing affected positions

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-20
SLIDE 20

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Chase Termination Criteria

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-21
SLIDE 21

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

C-Stratification [DeutschNR08,MeierSL09]

Builds a c-chase graph Gc(Σ) = (Σ, E) representing how constraints fire each other. (r1, r2) ∈ E if r1 ≺c r2 (firing r1 can cause r2 to fire) r1 ≺c r2 if: 1) K1 →

∗,r1,h1K2,

2) K2 | = h2(r2), 3) K1 | = h2(r2).

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-22
SLIDE 22

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

C-Stratification [DeutschNR08,MeierSL09]

Builds a c-chase graph Gc(Σ) = (Σ, E) representing how constraints fire each other. (r1, r2) ∈ E if r1 ≺c r2 (firing r1 can cause r2 to fire) r1 ≺c r2 if: 1) K1 →

∗,r1,h1K2,

2) K2 | = h2(r2), 3) K1 | = h2(r2).

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-23
SLIDE 23

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

C-Stratification [DeutschNR08,MeierSL09]

Builds a c-chase graph Gc(Σ) = (Σ, E) representing how constraints fire each other. (r1, r2) ∈ E if r1 ≺c r2 (firing r1 can cause r2 to fire) r1 ≺c r2 if: 1) K1 →

∗,r1,h1K2,

2) K2 | = h2(r2), 3) K1 | = h2(r2).

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-24
SLIDE 24

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

C-Stratification [DeutschNR08,MeierSL09]

(C-Stratification)

A set of constraint Σ is c-stratified if every cycle in the c-chase graph is weakly acyclic.

Example Σ = {r : T(x, y) ∧ T(y, x) → ∃z T(y, z) ∧ T(z, x)} we have that r ≺c r and {r} is not weakly acyclic

Figure: Dependency graph Dep(Σ)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-25
SLIDE 25

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

C-Stratification versus Stratification

C-Stratification r1 ≺c r2 if: 1) K1 →

∗,r1,h1K2,

2) K2 | = h2(r2), 3) K1 | = h2(r2). Stratification r1 ≺ r2 if: 1) K1→

r1,h1K2,

2) K2 | = h2(r2), 3) K1 | = h2(r2).

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-26
SLIDE 26

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

C-Stratification versus Stratification

C-Stratification r1 ≺c r2 if: 1) K1 →

∗,r1,h1K2,

2) K2 | = h2(r2), 3) K1 | = h2(r2). Stratification r1 ≺ r2 if: 1) K1→

r1,h1K2,

2) K2 | = h2(r2), 3) K1 | = h2(r2). Stratification guarantees the termination of at least one chase sequence.

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-27
SLIDE 27

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Stratification

Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-28
SLIDE 28

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Stratification

Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y) r1 ≺ r3 because

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-29
SLIDE 29

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Stratification

Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y) r1 ≺ r3 because

1

if K1 = {R(a)} then K2 = {R(a), T(a, η1)} | = r3 (because T(a, a) ∈ K2)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-30
SLIDE 30

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Stratification

Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y) r1 ≺ r3 because

1

if K1 = {R(a)} then K2 = {R(a), T(a, η1)} | = r3 (because T(a, a) ∈ K2)

2

if K1 = {R(a), T(a, a)} then K1 | = Σ (K1 universal solution)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-31
SLIDE 31

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Stratification

Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y) chase sequence r1 → r2 → r3 → . . . is not terminating

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-32
SLIDE 32

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Stratification

Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y) chase sequence r1 → r2 → r3 → . . . is not terminating D = {R(a)}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-33
SLIDE 33

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Stratification

Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y) chase sequence r1 → r2 → r3 → . . . is not terminating D = {R(a)} D →

r1,h1D1 = {R(a), T(a, η1)}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-34
SLIDE 34

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Stratification

Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y) chase sequence r1 → r2 → r3 → . . . is not terminating D = {R(a)} D →

r1,h1D1 = {R(a), T(a, η1)}

D1 →

r2,h2D2 = {R(a), T(a, η1), T(a, a)}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-35
SLIDE 35

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Stratification

Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y) chase sequence r1 → r2 → r3 → . . . is not terminating D = {R(a)} D →

r1,h1D1 = {R(a), T(a, η1)}

D1 →

r2,h2D2 = {R(a), T(a, η1), T(a, a)}

D2 →

r3,h3D3 = {R(a), T(a, η1), T(a, a), R(η1)}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-36
SLIDE 36

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Stratification

Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y) chase sequence r1 → r2 → r3 → . . . is not terminating D = {R(a)} D →

r1,h1D1 = {R(a), T(a, η1)}

D1 →

r2,h2D2 = {R(a), T(a, η1), T(a, a)}

D2 →

r3,h3D3 = {R(a), T(a, η1), T(a, a), R(η1)}

D3 →

r1,h4D4 = {R(a), T(a, η1), T(a, a), R(η1), T(η1, η2)}

. . .

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-37
SLIDE 37

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Stratification

Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y) chase sequence r1 → r2 → r3 → . . . is not terminating D = {R(a)} D →

r1,h1D1 = {R(a), T(a, η1)}

D1 →

r2,h2D2 = {R(a), T(a, η1), T(a, a)}

D2 →

r3,h3D3 = {R(a), T(a, η1), T(a, a), R(η1)}

D3 →

r1,h4D4 = {R(a), T(a, η1), T(a, a), R(η1), T(η1, η2)}

. . . chase sequence r2 → r3 → r1 terminates

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-38
SLIDE 38

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

WA-stratification

Builds a firing graph Γ(Σ) = (Σ, E) representing how constraints fire each other. (r1, r2) ∈ E if r1 < r2 (firing r1 can cause r2 to fire) r1 < r2 if: 1) K1 →

r1,h1 K2,

2) K2 ∪ S | = h2(r2), 3) K1 ∪ S | = h2(r2) and 4) Null(S) ∩ (Null(K2) − Null(K1)) = ∅. r1 ≺ r2 if: 1) K1 →

r1,h1K2,

2) K2 | = h2(r2), 3) K1 | = h2(r2).

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-39
SLIDE 39

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

WA-stratification

Builds a firing graph Γ(Σ) = (Σ, E) representing how constraints fire each other. (r1, r2) ∈ E if r1 < r2 (firing r1 can cause r2 to fire) r1 < r2 if: 1) K1 →

r1,h1 K2,

2) K2 ∪ S | = h2(r2), 3) K1 ∪ S | = h2(r2) and 4) Null(S) ∩ (Null(K2) − Null(K1)) = ∅. r1 ≺ r2 if: 1) K1 →

r1,h1K2,

2) K2 | = h2(r2), 3) K1 | = h2(r2). Example Σ = r1 : R(x) → ∃y T(x, y) r2 : R(x) → T(x, x) r3 : T(x, y) ∧ T(x, x) → R(y) K1 = {R(a)} and K2 = {R(a), T(a, η1)} S = {T(a, a)} r3 : T(a, η1) ∧ T(a, a) → R(η1) r3 is fired by r1, then we have r1 < r3

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-40
SLIDE 40

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

WA-stratification

(WA-Stratification)

We say that Σ is WA-stratified (W AStr) iff the constraints in every nontrivial strongly connected component of the firing graph Γ(Σ) = (Σ, {(r1, r2)|r1 < r2}) are weakly acyclic.

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-41
SLIDE 41

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

WA-stratification

(WA-Stratification)

We say that Σ is WA-stratified (W AStr) iff the constraints in every nontrivial strongly connected component of the firing graph Γ(Σ) = (Σ, {(r1, r2)|r1 < r2}) are weakly acyclic.

Example Σ = {r : T(x, y) ∧ T(y, x) → ∃z T(y, z) ∧ T(z, x)} is WA-stratified, but not c-stratified.

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-42
SLIDE 42

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

WA-stratification

(WA-Stratification)

We say that Σ is WA-stratified (W AStr) iff the constraints in every nontrivial strongly connected component of the firing graph Γ(Σ) = (Σ, {(r1, r2)|r1 < r2}) are weakly acyclic.

Example Σ = {r : T(x, y) ∧ T(y, x) → ∃z T(y, z) ∧ T(z, x)} is WA-stratified, but not c-stratified. Proposition CStr WAStr and SC ∦ WAStr.

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-43
SLIDE 43

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

SC-stratification and SwA-stratification

Definition Given a set of TDGs Σ, we say that Σ is SC-stratified (SCStr) if the constraints in every nontrivial strongly connected component of the firing graph Γ(Σ) are safe. SwA-stratified (SwAStr) if the constraints in every nontrivial strongly connected component of the firing graph Γ(Σ) are super-weak acyclic.

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-44
SLIDE 44

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

SC-stratification and SwA-stratification

Definition Given a set of TDGs Σ, we say that Σ is SC-stratified (SCStr) if the constraints in every nontrivial strongly connected component of the firing graph Γ(Σ) are safe. SwA-stratified (SwAStr) if the constraints in every nontrivial strongly connected component of the firing graph Γ(Σ) are super-weak acyclic. Proposition Let Σ be a set of WA-stratified (resp. SC-stratified, SwA-stratified) TGDs and let D be a database. Then, the length of every chase sequence of Σ over D is polynomial in the size of D.

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-45
SLIDE 45

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

SwA-stratification

Theorem

1

WAStr SCStr SwAStr,

2

for C ∈ {W A, SC, SwA}, C C-Str and

3

IR ∦ SwAStr.

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-46
SLIDE 46

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Local Stratification

New chase termination condition: Local Stratification (LS)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-47
SLIDE 47

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Local Stratification

New chase termination condition: Local Stratification (LS) Combine <-relation of WA-Str, with SwA criterion,

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-48
SLIDE 48

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Local Stratification

New chase termination condition: Local Stratification (LS) Combine <-relation of WA-Str, with SwA criterion, ensures the termination of all chase sequences in polynomial data complexity,

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-49
SLIDE 49

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Local Stratification

New chase termination condition: Local Stratification (LS) Combine <-relation of WA-Str, with SwA criterion, ensures the termination of all chase sequences in polynomial data complexity, SwA-Str LS and IR LS.

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-50
SLIDE 50

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Super-weak Acyclicity [Marnette09]

Analyzes nulls propagation through constraints

Example Σ = r1 : N(x) → ∃y ∃z E(x, y) ∧ S(z, y) r2 : E(x1, y1) ∧ S(x1, y1) → N(y1) r3 : E(x2, y2) → E(y2, x2)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-51
SLIDE 51

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Super-weak Acyclicity [Marnette09]

Analyzes nulls propagation through constraints

Example Σ = r1 : N(x) → ∃y ∃z E(x, y) ∧ S(z, y) r2 : E(x1, y1) ∧ S(x1, y1) → N(y1) r3 : E(x2, y2) → E(y2, x2) Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x

p11

2 , y

p12

2 ) → E(y

p13

2 , x

p14

2 )

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-52
SLIDE 52

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Super-weak Acyclicity [Marnette09]

Analyzes nulls propagation through constraints

Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x

p11

2 , y

p12

2 ) → E(y

p13

2 , x

p14

2 )

Move(r1, y) = {p3, p5}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-53
SLIDE 53

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Super-weak Acyclicity [Marnette09]

Analyzes nulls propagation through constraints

Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y1

p7 ) ∧ S(x p8

1, y1

p9 ) → N(y1 p10 )

r3 : E(x

p11

2 , y

p12

2 ) → E(y

p13

2 , x

p14

2 )

Move(r1, y) = {p3, p5, p10}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-54
SLIDE 54

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Super-weak Acyclicity [Marnette09]

Analyzes nulls propagation through constraints

Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x

p11

2 , y2

p12 ) → E(y2 p13 , x p14

2 )

Move(r1, y) = {p3, p5, p10, p13}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-55
SLIDE 55

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Super-weak Acyclicity [Marnette09]

Analyzes nulls propagation through constraints

Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x

p11

2 , y

p12

2 ) → E(y

p13

2 , x

p14

2 )

Move(r1, y) = {p3, p5, p10, p13, p2}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-56
SLIDE 56

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Super-weak Acyclicity [Marnette09]

Analyzes nulls propagation through constraints

Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x2

p11 , y p12

2 ) → E(y

p13

2 , x2

p14 )

Move(r1, y)) = {p3, p5, p10, p13, p2, p14}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-57
SLIDE 57

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Super-weak Acyclicity [Marnette09]

Analyzes nulls propagation through constraints

Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x

p11

2 , y

p12

2 ) → E(y

p13

2 , x

p14

2 )

Move(r1, y) = {p3, p5, p10, p13, p2, p14}

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-58
SLIDE 58

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Super-weak Acyclicity [Marnette09]

Analyzes nulls propagation through constraints

Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x

p11

2 , y

p12

2 ) → E(y

p13

2 , x

p14

2 )

Move(r1, y) = {p3, p5, p10, p13, p2, p14} Then, we say that r1 r1 because the null introduced by r1 (p3 and p5) is copied again in the head of r1 (p2)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-59
SLIDE 59

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Example: Super-weak Acyclicity [Marnette09]

Analyzes nulls propagation through constraints

Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x

p11

2 , y

p12

2 ) → E(y

p13

2 , x

p14

2 )

Move(r1, y) = {p3, p5, p10, p13, p2, p14} Then, we say that r1 r1 because the null introduced by r1 (p3 and p5) is copied again in the head of r1 (p2) The relation is cyclic and Σ is not in SwA

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-60
SLIDE 60

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Local Stratification

IDEA: testing the firing relation < from WA-stratification in the MOVE construction Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x

p11

2 , y

p12

2 ) → E(y

p13

2 , x

p14

2 )

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-61
SLIDE 61

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Local Stratification

IDEA: testing the firing relation < from WA-stratification in the MOVE construction Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x

p11

2 , y

p12

2 ) → E(y

p13

2 , x

p14

2 )

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-62
SLIDE 62

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Local Stratification

IDEA: testing the firing relation < from WA-stratification in the MOVE construction Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x

p11

2 , y

p12

2 ) → E(y

p13

2 , x

p14

2 )

r1 ≮ r2 MOVE(r1, y) = {p3, p5} p10 ∈ MOVE(r1, y) as r1 ≮ r2

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-63
SLIDE 63

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Local Stratification

IDEA: testing the firing relation < from WA-stratification in the MOVE construction Example Σ = r1 : N(x

p1 ) → ∃y ∃z E(x p2 , y p3 ) ∧ S(z p4 , y p5 )

r2 : E(x

p6

1, y

p7

1) ∧ S(x

p8

1, y

p9

1) → N(y

p10

1 )

r3 : E(x

p11

2 , y

p12

2 ) → E(y

p13

2 , x

p14

2 )

r1 ≮ r2 MOVE(r1, y) = {p3, p5} p10 ∈ MOVE(r1, y) as r1 ≮ r2

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-64
SLIDE 64

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Local Stratification

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-65
SLIDE 65

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Chase Termination Criteria

Limitations

Example Σ = ∀x [ N(x) → ∃y E(x, y) ] ∀(x, y) [ S(x) ∧ E(x, y) → N(y) ]

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-66
SLIDE 66

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Constraints Rewriting Technique

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-67
SLIDE 67

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Constraints Rewriting Technique [GrecoS10]

Idea: rewrite Σ into an ‘equivalent’ set Σα and verify the structural properties for chase termination on Σα

introduction of adornments associated with predicates

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-68
SLIDE 68

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Rewriting Algorithm

Example

Σ = N(x) → ∃y E(x, y) S(x) ∧ E(x, y) → N(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-69
SLIDE 69

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Rewriting Algorithm

Example

Σ = N(x) → ∃y E(x, y) S(x) ∧ E(x, y) → N(y) In(Σ) = N(x) → Nb(x) S(x) → Sb(x) E(x, y) → Ebb(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-70
SLIDE 70

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Rewriting Algorithm

Example

Σ = N(x) → ∃y E(x, y) S(x) ∧ E(x, y) → N(y) In(Σ) = N(x) → Nb(x) S(x) → Sb(x) E(x, y) → Ebb(x, y) Base(Σ) =

Nb(x) → ∃y Ebf(x, y) Sb(x) ∧ Ebb(x, y) → Nb(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-71
SLIDE 71

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Rewriting Algorithm

Example

Σ = N(x) → ∃y E(x, y) S(x) ∧ E(x, y) → N(y) In(Σ) = N(x) → Nb(x) S(x) → Sb(x) E(x, y) → Ebb(x, y) Base(Σ) =

Nb(x) → ∃y Ebf(x, y) Sb(x) ∧ Ebb(x, y) → Nb(y)

Derived(Σ) =

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-72
SLIDE 72

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Rewriting Algorithm

Example

Σ = N(x) → ∃y E(x, y) S(x) ∧ E(x, y) → N(y) In(Σ) = N(x) → Nb(x) S(x) → Sb(x) E(x, y) → Ebb(x, y) Base(Σ) =

Nb(x) → ∃y Ebf(x, y) Sb(x) ∧ Ebb(x, y) → Nb(y)

Derived(Σ) =

Sb(x) ∧ Ebf(x, y) → Nf(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-73
SLIDE 73

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Rewriting Algorithm

Example

Σ = N(x) → ∃y E(x, y) S(x) ∧ E(x, y) → N(y) In(Σ) = N(x) → Nb(x) S(x) → Sb(x) E(x, y) → Ebb(x, y) Base(Σ) =

Nb(x) → ∃y Ebf(x, y) Sb(x) ∧ Ebb(x, y) → Nb(y)

Derived(Σ) =

Sb(x) ∧ Ebf(x, y) → Nf(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-74
SLIDE 74

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Rewriting Algorithm

Example

Σ = N(x) → ∃y E(x, y) S(x) ∧ E(x, y) → N(y) In(Σ) = N(x) → Nb(x) S(x) → Sb(x) E(x, y) → Ebb(x, y) Base(Σ) =

Nb(x) → ∃y Ebf(x, y) Sb(x) ∧ Ebb(x, y) → Nb(y)

Derived(Σ) =

Sb(x) ∧ Ebf(x, y) → Nf(y) Nf(x) → ∃y Eff(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-75
SLIDE 75

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Rewriting Algorithm

Example

Σ = N(x) → ∃y E(x, y) S(x) ∧ E(x, y) → N(y) In(Σ) = N(x) → Nb(x) S(x) → Sb(x) E(x, y) → Ebb(x, y) Out(Σ) = Nb(x) → ˆ N(x) Nf(x) → ˆ N(x) Sb(x) → ˆ S(x) Ebb(x, y) → ˆ E(x, y) Ebf(x, y) → ˆ E(x, y) Eff(x, y) → ˆ E(x, y) Base(Σ) =

Nb(x) → ∃y Ebf(x, y) Sb(x) ∧ Ebb(x, y) → Nb(y)

Derived(Σ) =

Sb(x) ∧ Ebf(x, y) → Nf(y) Nf(x) → ∃y Eff(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-76
SLIDE 76

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Rewriting Algorithm

Example D = {N(a), S(a)} chase(D, Map(Σ)) = { N(a) S(a) E(a, η1) N(η1) E(η1, η2) ˆ N(a) ˆ S(a) ˆ E(a, η1) ˆ N(η1) ˆ E(η1, η2) } chase(D, Adn(Σ)) = { N(a) S(a) Nb(a) Sb(a) Ebf(a, η1) Nf(η1) Eff(η1, η2) ˆ N(a) ˆ S(a) ˆ E(a, η1) ˆ N(η1) ˆ E(η1, η2) }

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-77
SLIDE 77

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Chase Termination Checking

Test chase termination criteria over rewritten constraints Adn(Σ)

Adn(Σ) = { . . . Nb(x) → ∃y Ebf(x, y) Sb(x) ∧ Ebb(x, y) → Nb(y) Sb(x) ∧ Ebf(x, y) → Nf(y) Nf(x) → ∃y Eff(x, y) . . . }

Figure: Dep(Σ) Figure: Dep(Adn(Σ))

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-78
SLIDE 78

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Chase Termination Checking

Adn-T : class of sets of TGDs Σ s.t. Adn(Σ) is in T Theorem T Adn−T for T ∈{WA, SC, CStr, IR, SwA, WAStr, . . . , LS}. Rewriting technique is orthogonal to termination conditions improves current chase termination criteria

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-79
SLIDE 79

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Constraints Rewriting Technique

Figure: Criteria Relationships

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-80
SLIDE 80

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Improving Rewriting Algorithm Adn++

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-81
SLIDE 81

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : R(x) → S(x, x) r2 : S(x1, x2) → ∃z T(x2, z) ∧ Q(x2) r3 : T(x1, x2) ∧ T(x1, x3) ∧ T(x3, x1) → R(x2) Adn(Σ) ∈ LS Adn(Σ) = · · · Rf (x) → Sff (x, x) Sff (x1, x2) → ∃z T ff (x2, z) ∧ Qf (x2) T ff (x1, x2) ∧ T ff (x1, x3) ∧ T ff (x3, x1) → Rf (x2) chase(D, Σ) terminates for all database D

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-82
SLIDE 82

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Adn++ algorithm improves Adn

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-83
SLIDE 83

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Adn++ algorithm improves Adn testing of the <-relation during the generation of adorned constraints,

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-84
SLIDE 84

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Adn++ algorithm improves Adn testing of the <-relation during the generation of adorned constraints, the adornment fi is assigned in a more refined way (skolem function),

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-85
SLIDE 85

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Adn++ algorithm improves Adn testing of the <-relation during the generation of adorned constraints, the adornment fi is assigned in a more refined way (skolem function), cyclicity detection (Adn++ returns a boolean value, cyc, saying if there is cyclicity among the adorned constraints).

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-86
SLIDE 86

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-87
SLIDE 87

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-88
SLIDE 88

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-89
SLIDE 89

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) =

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-90
SLIDE 90

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y)→ Nb(y)

Derived(Σ) =

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-91
SLIDE 91

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y)→ Nb(y)

Derived(Σ) =

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-92
SLIDE 92

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y)→ Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y) → Nf1(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-93
SLIDE 93

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x)→ ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y) → Nf1(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-94
SLIDE 94

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x)→ ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y) → Nf1(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-95
SLIDE 95

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x)→ ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y) → Nf1(y)

r ii

1 : Nf1(x) → ∃y Ef1f2(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-96
SLIDE 96

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y) → Nf1(y)

r ii

1 : Nf1(x) → ∃y Ef1f2(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-97
SLIDE 97

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y)→ Nf1(y)

r ii

1 : Nf1(x) → ∃y Ef1f2(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-98
SLIDE 98

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y)→ Nf1(y)

r ii

1 : Nf1(x) → ∃y Ef1f2(x, y)

r iii

2 : Ef1f2(x, y) → Nf2(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-99
SLIDE 99

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y) → Nf1(y)

r ii

1 : Nf1(x) → ∃y Ef1f2(x, y)

r iii

2 : Ef1f2(x, y) → Nf2(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-100
SLIDE 100

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y) → Nf1(y)

r ii

1 : Nf1(x) → ∃y Ef1f2(x, y)

r iii

2 : Ef1f2(x, y) → Nf2(y)

r iii

1 : Nf2(x) → ∃y Ef2f3(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-101
SLIDE 101

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y) → Nf1(y)

r ii

1 : Nf1(x) → ∃y Ef1f2(x, y)

r iii

2 : Ef1f2(x, y) → Nf2(y)

r iii

1 : Nf2(x) → ∃y Ef2f3(x, y)

r iv

2 : Ef2f3(x, y) → Nf3(y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-102
SLIDE 102

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y) → Nf1(y)

r ii

1 : Nf1(x) → ∃y Ef1f2(x, y)

r iii

2 : Ef1f2(x, y) → Nf2(y)

r iii

1 : Nf2(x) → ∃y Ef2f3(x, y)

r iv

2 : Ef2f3(x, y) → Nf3(y)

Nf3(x) → ∃y Ef3f4(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-103
SLIDE 103

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = false θ = {f3/f1, f4/f2} Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y) → Nf1(y)

r ii

1 : Nf1(x) → ∃y Ef1f2(x, y)

r iii

2 : Ef1f2(x, y) → Nf2(y)

r iii

1 : Nf2(x) → ∃y Ef2f3(x, y)

r iv

2 : Ef2f3(x, y) → Nf3(y)

Nf3(x) → ∃y Ef3f4(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-104
SLIDE 104

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Example Σ = r1 : N(x) → ∃y E(x, y) r2 : E(x, y) → N(y) r1 < r2 r2 < r1 cyc = true Base(Σ) = r i

1 : Nb(x) → ∃y Ebf1(x, y)

r i

2 : Ebb(x, y) → Nb(y)

Derived(Σ) = r ii

2 : Ebf1(x, y) → Nf1(y)

r ii

1 : Nf1(x) → ∃y Ef1f2(x, y)

r iii

2 : Ef1f2(x, y) → Nf2(y)

r iii

1 : Nf2(x) → ∃y Ef2f3(x, y)

r iv

2 : Ef2f3(x, y) → Nf3(y)

r iv

1 : Nf3(x) → ∃y Ef1f2(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-105
SLIDE 105

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

A New Rewriting Algorithm

Lemma For every set of TGDs Σ the function Adn++ always terminates. Theorem For every set of TGDs Σ over a database schema R Map(R), Map(Σ) ≡R/ˆ

R Adn++(R, Σ), Adn++(Σ)

Theorem Adn-T Adn++-T , for T ∈{WA, SC, Str, CStr, SwA, WAStr, . . . , LS}.

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-106
SLIDE 106

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Acyclic set of TGDs

Definition A set of TGDs Σ is said to be Acyclic (AC) if cyc is false.

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-107
SLIDE 107

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Acyclic set of TGDs

Definition A set of TGDs Σ is said to be Acyclic (AC) if cyc is false. Example Σ =

r1 : R(x, z) → ∃y T(x, y) r2 : T(x, y) → R(x, y)

Adn++(Σ) =

r ′

1 : Rbb(x, z)

→ ∃y T bf1(x, y) r ′

2 : T bb(x, y)

→ Rbb(x, y) r ′′

2 : T bf1(x, y)

→ Rbf1(x, y) r ′′

1 : Rbf1(x, z)

→ ∃y T bf1(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-108
SLIDE 108

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Acyclic set of TGDs

Definition A set of TGDs Σ is said to be Acyclic (AC) if cyc is false. Example Σ =

r1 : R(x, z) → ∃y T(x, y) r2 : T(x, y) → R(x, y)

Adn++(Σ) =

r ′

1 : Rbb(x, z)

→ ∃y T bf1(x, y) r ′

2 : T bb(x, y)

→ Rbb(x, y) r ′′

2 : T bf1(x, y)

→ Rbf1(x, y) r ′′

1 : Rbf1(x, z)

→ ∃y T bf1(x, y)

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-109
SLIDE 109

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Constraints Rewriting Technique

Criteria Relationships

Theorem AC = Adn++WA = Adn++LS.

Figure: Criteria Relationships

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-110
SLIDE 110

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Conclusions

Conclusions

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-111
SLIDE 111

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Conclusions

Conclusions

We proposed new sufficient chase termination criteria, such as WA-Stratification and Local Stratification We proposed new rewriting techniques which are

  • rthogonal to termination conditions and improves current

chase termination criteria. Current work: extending Adn++ algorithm with EGDs

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking

slide-112
SLIDE 112

Stratification Criteria and Rewriting Techniques for Checking Chase Termination Conclusions

Thank you!

Any questions?

  • S. Greco, F. Spezzano and I. Trubitsyna

Stratification Criteria and Rewriting Techniques for Checking