Abstract

The chase procedure is a fundamental algorithmic tool in database theory with a variety of applications. A key problem concerning the chase procedure is all-instances chase termination: for a given set of tuple-generating dependencies (TGDs), is it the case that the chase terminates for every input database? In view of the fact that this problem is, in general, undecidable, it is natural to ask whether well-behaved classes of TGDs, introduced in different contexts, ensure decidability. It has been recently shown that the problem is decidable for the restricted (a.k.a. standard) version of the chase, and linear TGDs, a prominent class of TGDs that has been introduced in the context of ontological query answering, under the assumption that only one atom appears in TGD-heads. We provide an alternative proof for this result based on Monadic Second-Order Logic, which we believe is simpler that the ones obtained from the literature.

Highlights

  • The chase procedure is a fundamental algorithmic tool that has been successfully applied to several database problems such as computing data exchange solutions [14], query answering under constraints [9], containment of queries under constraints [1], and checking logical implication of constraints [5, 22], to name a few

  • It accepts as an input a database D and a set T of constraints—which, for this work, are tuple-generating dependencies (TGDs) of the form ∀x∀ȳ(φ(x, ȳ) → ∃zψ(x, z)) with and being conjunctions of atoms – and, if it terminates, its result is a finite instance DT that is a universal model of D and T, i.e., is a model that can be homomorphically mapped into every other model of D and T

  • Several different proofs for the decidability of the restricted chase termination problem for single-head linear TGDs can be obtained from the literature, we strongly believe that a proof based on Monadic Second-Order Logic (MSOL) that directly exploits the linearity of the TGDs is the natural way to go

Read more

Summary

Introduction

The chase procedure (or chase) is a fundamental algorithmic tool that has been successfully applied to several database problems such as computing data exchange solutions [14], query answering under constraints [9], containment of queries under constraints [1], and checking logical implication of constraints [5, 22], to name a few It accepts as an input a database D and a set T of constraints—which, for this work, are tuple-generating dependencies (TGDs) of the form ∀x∀ȳ(φ(x, ȳ) → ∃zψ(x, z)) with and being conjunctions of atoms – and, if it terminates, its result is a finite instance DT that is a universal model of D and T , i.e., is a model that can be homomorphically mapped into every other model of D and T. {R(c), P(c, ⊥1)} ∪ {R(⊥i), P(⊥i, ⊥i+1)}, i>0 where ⊥1, ⊥2, ⊥3, ⋯ are labeled null values

The Challenge of Non‐termination
Our Main Objective
Preliminaries
The Restricted Chase Procedure
Chase Termination Problem
Dealing With Fairness
Plan of Attack
Non‐termination via Chase Paths
Atom Encoding
Chase Paths are MSOL‐definable
Abstract Chase Paths
Abstract Chase Paths are MSOL‐definable
Conclusions
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call