×

Safe computation of the well-founded semantics of datalog queries. (English) Zbl 0752.68027

Summary: 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 Extensional 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).
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.

MSC:

68P15 Database theory
68N17 Logic programming
68Q55 Semantics in the theory of computing

Software:

Datalog
Full Text: DOI