Demand-Driven Incremental Object Queries
Abstract
Object queries are essential in information seeking and decision making in vast areas of applications. However, a query may involve complex conditions on objects and sets, which can be arbitrarily nested and aliased. The objects and sets involved as well as the demand---the given parameter values of interest---can change arbitrarily. How to implement object queries efficiently under all possible updates, and furthermore to provide complexity guarantees? This paper describes an automatic method. The method allows powerful queries to be written completely declaratively. It transforms demand as well as all objects and sets into relations. Most importantly, it defines invariants for not only the query results, but also all auxiliary values about the objects and sets involved, including those for propagating demand, and incrementally maintains all of them. Implementation and experiments with problems from a variety of application areas, including distributed algorithms and probabilistic queries, confirm the analyzed complexities, trade-offs, and significant improvements over prior work.
- Publication:
-
arXiv e-prints
- Pub Date:
- November 2015
- DOI:
- 10.48550/arXiv.1511.04583
- arXiv:
- arXiv:1511.04583
- Bibcode:
- 2015arXiv151104583L
- Keywords:
-
- Computer Science - Programming Languages;
- Computer Science - Artificial Intelligence;
- Computer Science - Databases
- E-Print:
- PPDP 2016: Proceedings of the 18th International Symposium on Principles and Practice of Declarative Programming, September 2016, Pages 228-241. ACM Press