Package it.unimi.dsi.big.webgraph
Class Stats
java.lang.Object
it.unimi.dsi.big.webgraph.Stats
Computes basic statistical data about a given graph.
This class loads a graph of given basename, and computes the following data:
- an ASCII file containing the outdegree distribution; line n contains the number of nodes with outdegree n (starting from 0);
- an ASCII file containing the indegree distribution; line n contains the number of nodes with indegree n (starting from 0);
- 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
StronglyConnectedComponents
are present with the same basename (in particular, buckets and component sizes); - if files produced by
StronglyConnectedComponents
are present with the same basename, an ASCII file containing the distribution of strongly connected components, specified as a sequence of lines each containing a pair of integer <size, count>.
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
Modifier and TypeMethodDescriptionstatic void
static void
run
(ImmutableGraph graph, LongArrayBitVector buckets, long[][] 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, LongArrayBitVector buckets, long[][] sccsize, CharSequence resultsBasename, ProgressLogger pl) Computes stats for the given graph using a single traversal, storing the results in files with given basename.
-
Method Details
-
run
public static void run(ImmutableGraph graph, LongArrayBitVector buckets, long[][] 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, ornull
if this information is not available.sccsize
- the sizes of strongly connected components as a big array, ornull
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, LongArrayBitVector buckets, long[][] 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, ornull
if this information is not available.sccsize
- the sizes of strongly connected components as a big array, ornull
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
-