TL;DR
This paper improves the magic sets rewriting technique for Datalog programs by preventing recursive definitions, leading to more efficient stable model computation, especially for ontological reasoning tasks.
Contribution
It introduces a version of magic sets that avoids creating new recursive definitions and optimizes rewritten programs for better efficiency.
Findings
Enhanced magic sets are closed for stratified negation and aggregations.
Implementation in DLV system shows improved reasoning performance.
Optimizations include rule subsumption elimination and handling of lost binding propagation.
Abstract
Magic sets are a Datalog to Datalog rewriting technique to optimize query answering. The rewritten program focuses on a portion of the stable model(s) of the input program which is sufficient to answer the given query. However, the rewriting may introduce new recursive definitions, which can involve even negation and aggregations, and may slow down program evaluation. This paper enhances the magic set technique by preventing the creation of (new) recursive definitions in the rewritten program. It turns out that the new version of magic sets is closed for Datalog programs with stratified negation and aggregations, which is very convenient to obtain efficient computation of the stable model of the rewritten program. Moreover, the rewritten program is further optimized by the elimination of subsumed rules and by the efficient handling of the cases where binding propagation is lost. The…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
