# combining TGDs and EGDs

The idea of this note is to study the reasoning of TGDs and EGDs toghether. The query answering problem becomes more difficult in this context.

## Chase terminaison

As explained in DBLP:journals/pvldb/CalauttiGMT16, determining if the chase evaluation with EGDs and TGDs will terminated is undecidable. Since the chase consists of applying a sequence of steps, where each step enforces a dependency (TGD or EGD) that is not satisfied by the current instance. It might well be the case that multiple dependencies can be enforced, and, in this case, the chase picks one non deterministically. Different choices leads to different sequences, some of which might be terminating, while other might not. This aspect is illustrated in the following set of dependencies on the database \(D = \{N(a)\}\):

- \(r_{1}: N(x) \rightarrow \exists y~ E(x,y)\),
- \(r_{2}: E(x,y) \rightarrow N(y)\),
\(r_{3}: E(x,y) \rightarrow x = y\).

Applying the

**core chase**in parallel on every possible choices of dependencies enforcement is a procedure that computes a universal model, if it exists.It is important to notice that if the TGDs is a

**finite expansion set**, it don't implies that the EDGs and the TGDs forms an fes. For instance, you can consider the following example:- \(N(x) \rightarrow E(x, y)\)
- \(E(x,x) \rightarrow P(x,y), N(y)\)
- \(E(x,y) \rightarrow x = y\)

Yet, if \(\Sigma\) is the union of a set of *weakly acyclic* TGDs and a set of EGDs, then there exists a polynomial in the size of an instance K that bounds the length of every chase sequence of K with \(\Sigma\) DBLP:conf/icdt/FaginKMP03. Moreover, the standard chase always terminates on every instance with a such \(\Sigma\).

## Query answering problem

### Case with guarded TGDs

In DBLP:journals/jair/CaliGK13, they recall that the query answering problem with guarded TGDs is undecidable. Actually, this result holds when keys are used as EGDs and inclusion dependencies as TGDs.

### Innocuous EGDs

In DBLP:journals/jair/CaliGK13, they define the innocuousness of a set of EDG with respect to a set of TGD, by imposing that each EGD application in the chase returns an instance, which includes in the one of which the EGD have been applied. Under this semantic condition between EGDs and TGDs, the query answering boils down to query answering with TGDs only.