Nonrecursive incremental evaluation of Datalog queries
Nonrecursive incremental evaluation of Datalog queries
复制标题
数据记录查询的非递归增量评估
DOI:
10.1007/bf01530820
复制
发表时间:
1995
影响因子:
1.2
通讯作者:
R. Topor
中科院分区:
文献类型:
--
作者:
Guozhu Dong;Jianwen Su;R. Topor
We consider the problem of repeatedly evaluating the same (computationally expensive) query to a database that is being updated between successive query requests. In this situation, it should be possible to use the difference between successive database states and the answer to the query in one state to reduce the cost of evaluating the query in the next state. We use nonrecursive Datalog (which are unions of conjunctive queries) to compute the differences, and call this process “incremental query evaluation using conjunctive queries”. After formalizing the notion of incremental query evaluation using conjunctive queries, we give an algorithm that constructs, for each regular chain query (including transitive closure as a special case), a nonrecursive Datalog program to compute the difference between the answer after an update and the answer before the update. We then extend this result to weakly regular queries, which are regular chain programs augmented with conjunctive queries having the so-called Cartesian-closed increment property, and to the case of unbounded-set insertions where the sets are binary Cartesian products. Finally, we show that the class of conjunctive queries with the Cartesian-closed increment property is decidable.