We present a new technique for the optimization of (partially) bound queries over disjunctive datalog programs. The technique exploits the propagation of query bindings, and extends the Magic-Set optimization technique (originally defined for non-disjunctive programs) to the disjunctive case, substantially improving on previously defined approaches. Magic-Set-transformed disjunctive programs frequently contain redundant rules. We tackle this problem and propose a method for preventing the generation of such superfluous rules during the Magic-Set transformation. In addition, we provide an efficient heuristic method for the identification of redundant rules, which can be applied in general, even if Magic-Sets are not used. We implement all proposed methods in the DLV system - the state-of-the-art implementation of disjunctive datalog - and perform some experiments. The experimental results confirm the usefulness of Magic-Sets for disjunctive datalog, and they highlight the computational gain obtained by our method, which outperforms significantly the previously proposed Magic-Set method for disjunctive datalog programs. © Springer-Verlag 2004.
CITATION STYLE
Cumbo, C., Faber, W., Greco, G., & Leone, N. (2004). Enhancing the magic-set method for disjunctive datalog programs. Lecture Notes in Computer Science (Including Subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics), 3132, 371–385. https://doi.org/10.1007/978-3-540-27775-0_26
Mendeley helps you to discover research relevant for your work.