graphops 0.1.0

Graph operators: PageRank/PPR/walks/reachability/node2vec/betweenness.
Documentation

graphops

Graph operators and centralities as a small Rust crate.

Usage

[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());

Implemented Operators

  • 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

Features

  • serde: enable serde on some graph adapters.
  • parallel: enable parallel walk generation.
  • petgraph: enable petgraph adapters + betweenness helper.

Development

cargo test