Chain-Split Evaluation in Deductive Databases

Many popularly studied recursions in deductive databases can be compiled into one or a set of highly regular chain generating paths, each of which consists of one or a set of connected predicates. Previous studies on chain-based query evaluation in deductive databases take a chain generating path as an inseparable unit in the evaluation. However, some recursions, especially many functional recursions whose compiled chain consists of infinitely evaluable function(s), should be evaluated by chain-split evaluation, which splits a chain generating path into two portions in the evaluation: an immediately evaluable portion and a delayed-evaluation portion. The necessity of chain-split evaluation is examined from the points of view of both efficiency and finite evaluation, and three chain-split evaluation techniques: magic sets, buffered evaluation, and partial evaluation are developed. Our study shows that chain-split evaluation is a primitive recursive query evaluation technique for different kinds of recursions, and it can be implemented efficiently in deductive databases by extensions to the existing recursive query evaluation methods. >

[1]  R. Ramakrishnan,et al.  A framework for testing safety and effective computability of extended datalog , 1988, SIGMOD '88.

[2]  Peter J. Stuckey,et al.  An Introduction to Aditi Deductive Database System , 1991, Aust. Comput. J..

[3]  Jiawei Han,et al.  Constraint-Based Query Evaluation in Deductive Databases , 1994, IEEE Trans. Knowl. Data Eng..

[4]  Leon Sterling,et al.  The Art of Prolog , 1987, IEEE Expert.

[5]  Yehoshua Sagiv,et al.  On Testing Effective Computability of Magic Programs , 1991, DOOD.

[6]  Raghu Ramakrishnan,et al.  Efficient Transitive Closure Algorithms , 1988, VLDB.

[7]  Jeffrey D. Uuman Principles of database and knowledge- base systems , 1989 .

[8]  Divesh Srivastava,et al.  Pushing constraint selections , 1992, J. Log. Program..

[9]  Jiawei Han,et al.  Automatic generation of compiled forms for linear recursions , 1992, Inf. Syst..

[10]  H. V. Jagadish,et al.  A study of transitive closure as a recursion mechanism , 1987, SIGMOD '87.

[11]  Jiawei Han,et al.  Asynchronous Chain Recursions , 1989, IEEE Trans. Knowl. Data Eng..

[12]  Carlo Zaniolo,et al.  Optimization in a Logic Based Language for Knowledge and Data Intensive Applications , 1988, EDBT.

[13]  Ling Liu,et al.  LogicBase: A System Prototype for Deductive Query Evaluation , 1993, Workshop on Programming with Logic Databases , ILPS.

[14]  Catriel Beeri,et al.  Bounds on the propagation of selection into logic programs , 1987, J. Comput. Syst. Sci..

[15]  Carlo Zaniolo,et al.  The LDL System Prototype , 1990, IEEE Trans. Knowl. Data Eng..

[16]  Donald D. Chamberlin,et al.  Access Path Selection in a Relational Database Management System , 1989 .

[17]  Divesh Srivastava,et al.  CORAL - Control, Relations and Logic , 1992, VLDB.

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

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

[20]  Jeffrey F. Naughton,et al.  A Counting Algorithm for a Cyclic Binary Query , 1991, J. Comput. Syst. Sci..

[21]  Jeffrey F. Naughton,et al.  One-sided recursions , 1987, J. Comput. Syst. Sci..

[22]  Jiawei Han,et al.  Constraint-based reasoning in deductive databases , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.