Expand description
§CLI for WebGraph
Command-line interface for the Rust implementation of the WebGraph framework for graph compression.
This crate provides the webgraph CLI tool with various subcommands for working
with compressed graphs. The tool supports:
- Building accessory data structures (Elias-Fano offsets, DCF)
- Converting graphs between formats (arcs, ASCII, endianness)
- Transforming graphs (transpose, simplify)
- Analyzing graphs (code statistics)
- Running algorithms (Layered Label Propagation)
- Benchmarking graph operations
Each module correspond to a group of commands, and each command is implemented as a submodule.
§Subcommands
analyze: Compute statistics on graphsbench: Benchmark graph operationsbuild: Build accessory graph data structurescheck: Check coherence of graph filesfrom: Ingest data into graphsperm: Create and manipulate permutationsrun: Run algorithms on graphsto: Convert graphs between representationstransform: Apply transformations to graphs
§Separate Binaries
This crate also provides specialized standalone binaries:
webgraph-dist: Tools for computing graph properties based on distances (HyperBall, ExactSumSweep)webgraph-sccs: Compute strongly connected components
§Environment Variables
RUST_MIN_STACK: Minimum thread stack size (in bytes); we suggestRUST_MIN_STACK=8388608(8MiB)TMPDIR: Where to store temporary files (potentially very large ones)RUST_LOG: Configuration forenv_logger
§Acknowledgments
This software has been partially supported by project SERICS (PE00000014) under the NRRP MUR program funded by the EU - NGEU, and by project ANR COREGRAPHIE, grant ANR-20-CE23-0002 of the French Agence Nationale de la Recherche. Views and opinions expressed are however those of the authors only and do not necessarily reflect those of the European Union or the Italian MUR. Neither the European Union nor the Italian MUR can be held responsible for them.
Modules§
Structs§
- Arcs
Args - Shared CLI arguments for reading files containing arcs.
- Cli
- Webgraph tools to build, convert, modify, and analyze graphs. Noteworthy environment variables:
- Compress
Args - Shared CLI arguments for compression.
- Global
Args - Granularity
Args - Shared CLI arguments for commands that specify a granularity.
- Memory
Usage Arg - Shared CLI arguments for commands that specify a memory usage.
- NumThreads
Arg - Shared CLI arguments for commands that specify a number of threads.
Enums§
- Float
Vector Format - How to store vectors of floats.
- IntVector
Format - How to store vectors of integers.
- Priv
Code - Enum for instantaneous codes.
- SubCommands
Functions§
- append
- Appends a string to the filename of a path.
- cli_
main - The entry point of the command-line interface.
- create_
parent_ dir - Creates all parent directories of the given file path.
- get_
thread_ pool - Creates a
ThreadPoolwith the given number of threads. - init_
env_ logger - Initializes the
env_loggerlogger with a custom format including timestamps with elapsed time since initialization. - memory_
usage_ parser - Parses a batch size.
- num_
threads_ parser - Parses the number of threads from a string.