Index design and query processing for graph conductance search
Graph conductance queries, also known as personalized PageRank and related to random walks with restarts, were originally proposed to assign a hyperlink-based prestige score to Web pages. More general forms of such queries are also very useful for ranking in entity-relation (ER) graphs used to represent relational, XML and hypertext data. Evaluation of PageRank usually involves a global eigen computation. If the graph is even moderately large, interactive response times may not be possible. Recently, the need for interactive PageRank evaluation has increased. The graph may be fully known only when the query is submitted. Browsing actions of the user may change some inputs to the PageRank computation dynamically. In this paper, we describe a system that analyzes query workloads and the ER graph, invests in limited offline indexing, and exploits those indices to achieve essentially constant-time query processing, even as the graph size scales. Our techniques-data and query statistics collection, index selection and materialization, and query-time index exploitation-have parallels in the extensive relational query optimization literature, but is applied to supporting novel graph data repositories. We report on experiments with five temporal snapshots of the CITESEER ER graph having 74-702 thousand entity nodes, 0.17-1.16 million word nodes, 0.29-3.26 million edges between entities, and 3.29-32.8 million edges between words and entities. We also used two million actual queries from CITESEER's logs. Queries run 3-4 orders of magnitude faster than whole-graph PageRank, the gap growing with graph size. Index size is smaller than a text index. Ranking accuracy is 94-98% with reference to whole-graph PageRank.
graph conductance personalized pagerank proximity search in graph databases