Efficient Aggregation For Graph Summarization
Abstract
Graphs are widely used to model real world objects and their relationships, and large graph datasets are common in many application domains. To understand the underlying characteristics of large graphs, graph summarization techniques are critical. However, existing graph summarization methods are mostly statistical (studying statistics such as degree distributions, hop-plots and clustering coefficients). These statistical methods are very useful, but the resolutions of the summaries are hard to control. In this paper, we introduce two database-style operations to summarize graphs. Like the OLAP-style aggregation methods that allow users to drill-down or roll-up to control the resolution of summarization, our methods provide an analogous functionality for large graph datasets. The first operation, called <i>SNAP</i>, produces a summary graph by grouping nodes based on user-selected node attributes and relationships. The second operation, called <i>k-SNAP</i>, further allows users to control the resolutions of summaries and provides the "drill-down" and "roll-up" abilities to navigate through summaries with different resolutions. We propose an efficient algorithm to evaluate the <i>SNAP</i> operation. In addition, we prove that the <i>k-SNAP</i> computation is NP-complete. We propose two heuristic methods to approximate the <i>k-SNAP</i> results. Through extensive experiments on a variety of real and synthetic datasets, we demonstrate the effectiveness and efficiency of the proposed methods.