Magic sets and other strange ways to implement logic programs (extended abstract)
PODS '86 Proceedings of the fifth ACM SIGACT-SIGMOD symposium on Principles of database systems
An amateur's introduction to recursive query processing strategies
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
Bounds on the propagation of selection into logic programs
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Safety of recursive Horn clauses with infinite relations
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
A study of transitive closure as a recursion mechanism
SIGMOD '87 Proceedings of the 1987 ACM SIGMOD international conference on Management of data
Principles of database and knowledge-base systems, Vol. I
Principles of database and knowledge-base systems, Vol. I
A framework for testing safety and effective computability of extended datalog
SIGMOD '88 Proceedings of the 1988 ACM SIGMOD international conference on Management of data
A counting algorithm for a cyclic binary query
Journal of Computer and System Sciences
An introduction to Aditi deductive database system
Australian Computer Journal
Automatic generation of compiled forms for linear recursions
Information Systems
Access path selection in a relational database management system
SIGMOD '79 Proceedings of the 1979 ACM SIGMOD international conference on Management of data
IEEE Transactions on Knowledge and Data Engineering
IEEE Transactions on Knowledge and Data Engineering
Constraint-Based Query Evaluation in Deductive Databases
IEEE Transactions on Knowledge and Data Engineering
Optimization in a Logic Based Language for Knowledge and Data Intensive Applications
EDBT '88 Proceedings of the International Conference on Extending Database Technology: Advances in Database Technology
Efficient Transitive Closure Algorithms
VLDB '88 Proceedings of the 14th International Conference on Very Large Data Bases
CORAL - Control, Relations and Logic
VLDB '92 Proceedings of the 18th International Conference on Very Large Data Bases
On the Graph Traversal and Linear Binary-Chain Programs
IEEE Transactions on Knowledge and Data Engineering
Speeding up the counting method by computing heritage functions in topological order
ADBIS'97 Proceedings of the First East-European conference on Advances in Databases and Information systems
Hi-index | 0.00 |
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. In this paper, 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.