it.unimi.dsi.webgraph
Class Stats

java.lang.Object
  extended by it.unimi.dsi.webgraph.Stats

public class Stats
extends Object

Computes basic statistical data about a given graph.

This class loads a graph of given basename, and computes the following data:

  1. an ASCII file containing the outdegree distribution; line n contains the number of nodes with outdegree n (starting from 0);
  2. an ASCII file containing the indegree distribution; line n contains the number of nodes with indegree n (starting from 0);
  3. a property file containing several self-descriptive data, such as the average indegree/outdegree (which should be identical), sample nodes with minimum or maximum indegree/outdegree, and so on; additional data will be computed if files produced by the StronglyConnectedComponents are present (in particular, buckets and component sizes).

The graph is loaded offline: the only memory allocated is for indegree count (one integer per node) and for storing the actual counts (one integer per indegree/outdegree value).


Method Summary
static void main(String[] arg)
           
static void run(ImmutableGraph graph, BitSet buckets, int[] sccsize, CharSequence resultsBasename, boolean saveDegrees, ProgressLogger pl)
          Computes stats for the given graph using a single traversal, storing the results in files with given basename.
static void run(ImmutableGraph graph, BitSet buckets, int[] sccsize, CharSequence resultsBasename, ProgressLogger pl)
          Computes stats for the given graph using a single traversal, storing the results in files with given basename.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

run

public static void run(ImmutableGraph graph,
                       BitSet buckets,
                       int[] sccsize,
                       CharSequence resultsBasename,
                       ProgressLogger pl)
                throws IOException
Computes stats for the given graph using a single traversal, storing the results in files with given basename.

Parameters:
graph - the graph to be examined.
buckets - the set of buckets of this graph, or null if this information is not available.
sccsize - the sizes of strongly connected components, or null if this information is not available.
resultsBasename - the basename for result files (see the class description).
pl - a progress logger.
Throws:
IOException

run

public static void run(ImmutableGraph graph,
                       BitSet buckets,
                       int[] sccsize,
                       CharSequence resultsBasename,
                       boolean saveDegrees,
                       ProgressLogger pl)
                throws IOException
Computes stats for the given graph using a single traversal, storing the results in files with given basename.

Parameters:
graph - the graph to be examined.
buckets - the set of buckets of this graph, or null if this information is not available.
sccsize - the sizes of strongly connected components, or null if this information is not available.
resultsBasename - the basename for result files (see the class description).
saveDegrees - if true, indegrees and outdegrees will be saved.
pl - a progress logger.
Throws:
IOException

main

public static void main(String[] arg)
                 throws IllegalArgumentException,
                        SecurityException,
                        IllegalAccessException,
                        InvocationTargetException,
                        NoSuchMethodException,
                        JSAPException,
                        IOException,
                        ClassNotFoundException
Throws:
IllegalArgumentException
SecurityException
IllegalAccessException
InvocationTargetException
NoSuchMethodException
JSAPException
IOException
ClassNotFoundException