Abstract

Datalog is a query language for relational databases. The set of predicate symbols in a Datalog program is partioned into EDB (extensional database) and IDB (intensional database) predicates; intuitively, the EDB predicates refer to a stored relational database while the IDB predicates refer to relations to be deduced from the EDB. We show that for each Datalog program there exists a Datalog program having at most one recursive predicate that computes the same IDB extensions. A similar result was obtained by Chandra and Harel. However, they used the built-in predicate ≠. This built-in predicate is not part of the repertoire of pure Datalog and is not used in the construction of this paper.

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