Safe computation of the well-founded semantics of datalog queries

作者:

Highlights:

摘要

A Datalog program (abbreviated to “program” hereafter) is a set of function-free logic rules allowing negation in their bodies. It is customary to see a program as composed of two parts: a set of rules (the Intentional Database, IDB for short) and a set of facts stored as tuples of a relational database (the Extentional Database, EDB for short). The well-founded semantics assigns to every program a (possibly partial) model to be thought of as the meaning of the program. Although the well-founded computation is effective for (function-free) programs, it is worth noting that the construction of the greatest unfounded set results in a very demanding task when large EDBs are considered (data-intensive applications). In this paper we describe a method for the evaluation of the well-founded semantics of Datalog queries that allows us to construct answers without having to compute the whole greatest unfounded set. The key idea is that of restricting the computation of false facts to only those that are “relevant” to draw positive conclusions. We call this set of facts the Greatest Useful Unfounded Set (GUUS), from which the choice of the name GUUS method. The method is shown to be sound and complete w.r.t. any Datalog query.A main advantage of the proposed approach is that of resulting efficiently implementable for a meaningful class of programs. The syntactic structure of such programs guarantees that the greatest useful unfounded set can be safely (and efficiently) computed as the least fixpoint of the immediate consequence operator applied to a suitable rewritten program.

论文关键词:Deductive databases,negation,well-founded semantics,query evaluation

论文评审过程:Received 3 April 1991, Revised 18 October 1991, Available online 17 June 2003.

论文官网地址:https://doi.org/10.1016/0306-4379(92)90003-6