Prev Next Up Home Keys Figs Search New

Datalog Information

Appeared in Volume 9/2, May 1996

Keywords: datalog.


gator@cs.tu-berlin.de
Peter Daum
12th January 1996

I am about to write a paper about Datalog (a Prolog-like language that can be used as a query language for databases). Does anybody have some references that might help me? In particular, is there an implementation of Datalog?


hoppet@cs.tu-berlin.de
Thomas Hoppe
12th January 1996

You might take a look at the following book, which discusses Datalog in the context of deductive database systems:

S. Ceri, G. Gottlob and L. Tanca, Logic Programming and Databases, Springer-Verlag, 1990, Surveys in Computer Science, Berlin, Heidelberg, New York

Datalog programs are function-free Horn-clause programs. This means that Datalog can be implemented using a standard Prolog-interpreter, as long as you avoid function symbols in your clauses, and use a breadth-first meta-interpreter which returns answer sets. Ceri et al discuss other reasoning strategies.

You can also transform Horn-clauses with function-symbols into an equivalent Datalog program and back again. In machine learning, this operation is known as 'flattening'. Check out the following paper:

C. Rouveirol, Flattening and Saturation: Two Representation Changes for Generalization, Machine Learning, 1994, Vol. 14, No. 2, pp.220--223


sadowski@well.sf.ca.us
Duane F. Sadowski
13th January 1996

Here are a couple of books that briefly discuss Datalog and provide some references:

C.J. Date, An Introduction to Database Systems, 6th ed., 1995, Addison-Wesley

R. Elmasri and S. B. Navathe, Fundamentals of Database Systems, 2nd ed., 1994, Benjamin/Cummings


jamil@cs.concordia.ca
Hasan M Jamil
17th January, 1996

Coral and LDL are two systems based on Datalog. Coral was developed at the Univ. of Wisconsin-Madison by Raghu Ramakrishnan's group, and LDL was developed at the MCC by Carlo Zaniolo's group. Coral can process queries in both top-down and bottom-up mode, while LDL is mainly bottom-up. There are several technical notes at the Madison web site, including a user manual for Coral.

Both LDL and Coral have object-oriented extensions, called respectively the LDL++ and Coral++.


warren@cs.sunysb.edu
David Warren
17th January 1996

Let me add that XSB (freely available from ftp://ftp.cs.sunysb.edu/pub/XSB, or through http://www.cs.sunysb.edu/~sbprolog) supports Datalog evaluation. It is an extension of Prolog, fully integrating top-down and bottom-up computation in an elegant manner. It is also significantly faster than the systems mentioned above.

Prev Next Up Home Keys Figs Search New