Implementation of logical query languages for databases
ACM Transactions on Database Systems (TODS)
Naive evaluation of recursively defined relations
On knowledge base management systems: integrating artificial intelligence and d atabase technologies
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
A message passing framework for logical query evaluation
SIGMOD '86 Proceedings of the 1986 ACM SIGMOD international conference on Management of data
The Alexander method-a technique for the processing of recursive axioms in deductive databases
New Generation Computing
PODS '87 Proceedings of the sixth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Principles of database and knowledge-base systems, Vol. I
Principles of database and knowledge-base systems, Vol. I
Bottom-up beats top-down for datalog
PODS '89 Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
On the power of Alexander templates
PODS '89 Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
The magic of duplicates and aggregates
Proceedings of the sixteenth international conference on Very large databases
SIGMOD '90 Proceedings of the 1990 ACM SIGMOD international conference on Management of data
Journal of Computer and System Sciences
Multiple SIP strategies and bottom-up adorning in logic query optimization
ICDT '90 Proceedings of the third international conference on database theory on Database theory
Journal of Logic Programming
Magic templates: a spellbinding approach to logic programs
Journal of Logic Programming
Is there anything better than magic
Proceedings of the 1990 North American conference on Logic programming
Magic-sets transformation in nonrecursive systems
PODS '92 Proceedings of the eleventh ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
PODS '90 Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
An Optimization Strategy for Recursive Queries in Logic Databases
Proceedings of the Fourth International Conference on Data Engineering
The Branching-Time Transformation Technique for Chain Datalog Programs
Journal of Intelligent Information Systems
A New Factoring Algorithm for Magic Predicates
ASIAN '98 Proceedings of the 4th Asian Computing Science Conference on Advances in Computing Science
A Transformation Technique for Datalog Programs Based on Non-deterministic Constructs
LOPSTR '01 Selected papers from the 11th International Workshop on Logic Based Program Synthesis and Transformation
Translating owl and semantic web rules into prolog: Moving toward description logic programs
Theory and Practice of Logic Programming
Hi-index | 0.00 |
We analyze the optimization effect of the “magic sets” rewriting technique for datalog queries and present some supplementary or alternative techniques that avoid many shortcomings of the basic technique. Given a magic sets rewritten query, the set of facts generated for the original, nonmagic predicates by the seminaive bottom-up evaluation is characterized precisely. It is shown that—because of the additional magic facts—magic sets processing may result in generating an order of magnitude more facts than the straightforward naive evaluation. A refinement of magic sets in factorized magic sets is defined. These magic sets retain most of the efficiency of original magic sets in regards to the number of nonmagic facts generated and have the property that a linear-time bound with respect to seminaive evaluation is guaranteed in all cases. An alternative technique for magic sets, called envelopes, which has several desirable properties over magic sets, is introduced. Envelope predicates are never recursive with the original predicates; thus, envelopes can be computed as a preprocessing task. Envelopes also allow the utilization of multiple sideways information passing strategies (sips) for a rule. An envelope-transformed program may be “readorned” according to another choice of sips and reoptimized by magic sets (or envelopes), thus making possible an optimization effect that cannot be achieved by magic sets based on a particular choice of sips.