Author_Institution :
Dept. Appl. Comput. Sci., Univ. of Winnipeg, Winnipeg, MB, Canada
Abstract :
A graph reachability query, as one of the primary tasks in numerous applications, is to find whether two given data objects, u and v, are related in any way in a large and complex dataset. Formally, the query is about to find if v is reachable from u in a directed graph which is large in size. In this paper, we focus ourselves on building a reachability labeling for large directed graphs, in order to process reachability queries efficiently. A new approach is proposed to compress transitive closure to support reachability checkings. The approach consists of two schemes, called Core-I labeling and Core-II labeling, respectively. For a graph G with n nodes and e edges, the labeling time of Core-I is bounded by O(n + e + t¿min{b, s}), where b is the number of the leaf nodes of a spanning tree of G, t is the number of non-tree edges (edges that do not appear in the spanning tree) and s is the number of the start nodes of all non-tree edges in G. The space overhead is bounded by O(n + s¿min{b, s}) and the querying time is O(log(min{b, s})). Core-II needs O(n + e + t¿min{b, s} + d¿s¿logmin{b, s}) labeling time and O(n + d¿s) space, where d is the number of the end nodes of all non-tree edges in G. But the query time is reduced to O(1). Experiments have been performed, showing that our method is promising.
Keywords :
computational complexity; directed graphs; query processing; reachability analysis; trees (mathematics); Core labeling; Core-I labeling; Core-II labeling; computational complexity; directed graph; graph reachability query; non-tree edges; reachability checkings; reachability labeling; spanning tree; transitive closure; Application software; Computer science; Image coding; Internet; Labeling; Query processing; Sparse matrices; Tree graphs; DAG; Reachability queries; core labeling; graph encoding; transitive closure;