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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have