Graph operators and centralities as a small Rust crate.
[dependencies]
graphops = { version = "0.1.0", features = ["petgraph"] }
petgraph = "0.6"Example:
use graphops::{pagerank, PageRankConfig};
use petgraph::prelude::*;
let mut g: DiGraph<(), f64> = DiGraph::new();
let a = g.add_node(());
let b = g.add_node(());
g.add_edge(a, b, 1.0);
let scores = pagerank(&g, PageRankConfig::default());
assert_eq!(scores.len(), g.node_count());- PageRank and Personalized PageRank
- Random walks and biased walks (node2vec-style)
- Reachability counts
- Connected components / label propagation
- Top-k helpers
- (feature-gated) Betweenness centrality via
petgraph
serde: enable serde on some graph adapters.parallel: enable parallel walk generation.petgraph: enablepetgraphadapters + betweenness helper.
cargo test