SYGRAF: Implementing Logic Programs in a Database Style

It is shown how Horn logic programs can be implemented using database techniques, namely, mostly bottom-up in combination with certain top-down elements (as opposed to the top-down implementations of logic programs prevailing so far). The proposed method is sound and complete. It easily lends itself to a parallel implementation and is free of nonlogical features like backtracking. As an extension to the common approach to deductive databases, function symbols are allowed to appear in programs, and it is shown that much of database query optimization can be applied to optimize logic programs. An important advantage of present approach is its ability to evaluate successfully many programs that terminate under neither pure top-down nor bottom-up evaluation strategies. >

[1]  Georges Gardarin,et al.  Magic Functions: A Technique to Optimize Extended Datalog Recursive Programs , 1987, VLDB.

[2]  Edward Sciore,et al.  Towards an Integrated Database-Prolog System , 1984, Expert Database Workshop.

[3]  Alberto Martelli,et al.  An Efficient Unification Algorithm , 1982, TOPL.

[4]  Carlo Zaniolo,et al.  The Generalized Counting Method for Recursive Logic Queries , 1986, Theor. Comput. Sci..

[5]  Premkumar T. Devanbu,et al.  Moving selections into linear least fixpoint queries , 1988, Proceedings. Fourth International Conference on Data Engineering.

[6]  Eliezer L. Lozinskii,et al.  A problem-oriented inferential database system , 1986, TODS.

[7]  Eliezer L. Lozinskii,et al.  Evaluating Queries in Deductive Databases by Generating , 1985, IJCAI.

[8]  John W. Lloyd,et al.  A Basis for Deductive Database Systems II , 1986, J. Log. Program..

[9]  Kenji Nishida,et al.  Retrieval-By-Unification Operation on a Relational Knowledge Base , 1986, VLDB.

[10]  Michael Kifer,et al.  Can We Implement Logic as a Database System? , 1986, XP7.52 Workshop on Database Theory.

[11]  Jeffrey D. Ullman,et al.  Principles of Database Systems , 1980 .

[12]  Jean-Marc Kerisit,et al.  A Relational Approach to Logic Programming: The Extended Alexander Method , 1989, Theor. Comput. Sci..

[13]  John Wylie Lloyd,et al.  Foundations of Logic Programming , 1987, Symbolic Computation.

[14]  Suzanne W. Dietrich,et al.  Extension Tables: Memo Relations in Logic Programming , 1987, SLP.

[15]  Keith Price,et al.  Review of "Principles of Artificial Intelligence by Nils J. Nilsson", Tioga Publishing Company, Palo Alto, CA, ISBN 0-935382-01-1. , 1980, SGAR.

[16]  Catriel Beeri,et al.  On the power of magic , 1987, J. Log. Program..

[17]  Jeffrey D. Ullman,et al.  Efficient tests for top-down termination of logical rules , 1988, JACM.

[18]  Carlo Zaniolo The Representation and Deductive Retrieval of Complex Objects , 1985, VLDB.

[19]  Jeffrey D. Ullman,et al.  Implementation of logical query languages for databases , 1985, TODS.

[20]  David Maier,et al.  The Theory of Relational Databases , 1983 .

[21]  Raghu Ramakrishnan,et al.  Performance Evaluation of Data Intensive Logic Programs , 1988, Foundations of Deductive Databases and Logic Programming..

[22]  Harry B. Hunt,et al.  Processing Conjunctive Predicates and Queries , 1980, VLDB.

[23]  Jack Minker,et al.  On recursive axioms in deductive databases , 1983, Inf. Syst..

[24]  Alfred V. Aho,et al.  Universality of data retrieval languages , 1979, POPL.

[25]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[26]  Michael Kifer,et al.  Filtering Data Flow in Deductive Databases , 1986, ICDT.

[27]  Werner Kießling,et al.  On the Evaluation of Recursion in (Deductive) Database Systems by Efficient Differential Fixpoint Iteration , 1987, ICDE.

[28]  Eliezer L. Lozinskii,et al.  A Remark on Distributed Termination , 1985, ICDCS.

[29]  Raymond Reiter,et al.  Towards a Logical Reconstruction of Relational Database Theory , 1982, On Conceptual Modelling.

[30]  John Potter,et al.  Characterisation of Terminating Logic Programs , 1986, SLP.

[31]  Susumu Kunifuji,et al.  An enhanced inference mechanism for generating relational algebra queries , 1984, PODS '84.

[32]  Laurent Vieille,et al.  Recursive Axioms in Deductive Databases: The Query/Subquery Approach , 1986, Expert Database Conf..

[33]  Robert C. Moore The Role of Logic in Knowledge Representation and Commonsense Reasoning , 1982, AAAI.

[34]  Michael Kifer,et al.  Implementing logic programs as a database system , 1987, 1987 IEEE Third International Conference on Data Engineering.

[35]  Abraham Silberschatz,et al.  Safety of recursive Horn clauses with infinite relations , 1987, PODS '87.

[36]  Oded Shmueli,et al.  Decidability and expressiveness aspects of logic queries , 1987, XP7.52 Workshop on Database Theory.

[37]  David Maier,et al.  Magic sets and other strange ways to implement logic programs (extended abstract) , 1985, PODS '86.

[38]  François Bancilhon,et al.  Naive Evaluation of Recursively Defined Relations , 1986, On Knowledge Base Management Systems.

[39]  Carlo Zaniolo,et al.  Implementation of Recursive Queries for a Data Language Based on Pure Horn Logic , 1987, ICLP.

[40]  Georges Gardarin,et al.  Extending a Relational DBMS Towards a Rule-Based System: An Approach Using Predicate Transition Nets , 1989, Foundations of Knowledge Base Management.