Guarded tuple-generating dependencies (GTGDs) are a natural extension of description logics and referential constraints. It has long been known that queries over GTGDs can be answered by a variant of the chase - a quintessential technique for reasoning with dependencies. However, there has been little work on concrete algorithms and even less on implementation. To address this gap, we revisit Datalog rewriting approaches to query answering, where GTGDs are transformed to a Datalog program that entails the same base facts on each base instance. We show that the rewriting can be seen as containing "shortcut" rules that circumvent certain chase steps, we present several algorithms that compute the rewriting by simulating specific types of chase steps, and we discuss important implementation issues. Finally, we show empirically that our techniques can process complex GTGDs derived from synthetic and real benchmarks and are thus suitable for practical use.
翻译:受保护的图博产生依赖性(GTGDs)是描述逻辑和优惠制约的自然延伸。 人们早已知道,对GTGDs的询问可以通过追逐的变体回答 — — 这是依赖性推理的典型技术。 但是,关于具体算法的工作很少,甚至更没有关于执行的工作。为了解决这一差距,我们重新研究数据log重写解解答方法,GTGDs转换成一个数据仪程序,每个基数都包含相同的基本事实。我们显示,改写可以被视为包含绕过某些追逐步骤的“快速”规则,我们提出几种算法,通过模拟特定类型的追逐步骤来计算改写,我们讨论重要的执行问题。最后,我们从经验上表明,我们的技术可以处理来自合成和实际基准的复杂的GGDGDs,因此适合实际使用。