The incremental problem for a class Q of graph queries aims to compute, given a query Q ∈ Q, graph G, output Q(G) and updates ∆G to G as input, changes ∆O to Q(G) such that Q(G⊕∆G) = Q(G)⊕∆O. It is called bounded if its cost can be expressed as a polynomial function in the sizes of Q, ∆G and ∆O. It is to reduce computations on possibly big G to small ∆G and ∆O. No matter how desirable, however, our first results are negative: for common graph queries such as graph traversal, connectivity, keyword search and pattern matching, their incremental problems are unbounded. In light of the negative results, we propose two characterizations for the effectiveness of incremental computation: (a) localizable, if its cost is decided by small neighbors of nodes in ∆G instead of the entire G; and (b) bounded relative to a batch algorithm T , if the cost is determined by the sizes of ∆G and changes to the affected area that is necessarily checked by T . We show that the incremental computations above are either localizable or relatively bounded, by providing corresponding incremental algorithms. That is, we can either reduce the incremental computations on big graphs to small data, or incrementalize batch algorithms by minimizing unnecessary recomputation. Using real-life graphs, we experimentally verify the effectiveness of our algorithms.
Fan et al., REF further proposed incremental algorithms for four types of typical pattern graphs, which can reduce the computations on big graphs and minimize unnecessary recomputation.
Incremental Graph Computations: Doable and Undoable
SIGMOD '17
Computer Science