WebGraph is a framework to study the web graph. It provides simple ways to manage very large graphs, exploiting modern compression techniques. More precisely, it is currently made of:
In the end, with WebGraph you can access and analyse a very large web graph, even on a PC with as little as 256 MiB RAM. Using WebGraph is as easy as installing a few jar files and downloading a data set. This makes studying phenomena such as PageRank, distribution of graph properties of the web graph, etc. very easy.
For in-depth information on the Webgraph framework, you should have a look at its home page, where you can find some papers about the compression techniques it uses.
The classes of interest for the casual Webgraph user are {@link it.unimi.dsi.webgraph.ImmutableGraph}, which specifies the access methods for an immutable graph, {@link it.unimi.dsi.webgraph.BVGraph}, which allow to retrieve or recompress a graph stored in the format described in The WebGraph Framework I: Compression Techniques, by Paolo Boldi and Sebastiano Vigna, in Proc. of the Thirteenth World–Wide Web Conference, ACM Press, and {@link it.unimi.dsi.webgraph.TransposeBVGraph}, which allows to transpose a {@link it.unimi.dsi.webgraph.BVGraph}.
The package {@link it.unimi.dsi.webgraph.examples} contains useful examples that show how to access sequentially and randomly an immutable graph.
This package relies on fastutil for a type-specific, high-performance collections framework, on MG4J for bit-level I/O, on the COLT distribution for ready-to-use, efficient algorithms and on GNU getopt for line-command parsing.