Вот пример:
use petgraph::graph::UnGraph;
fn main() {
// Create an undirected graph with `i32` nodes and edges with `()` associated data.
let g = UnGraph::<i32, ()>::from_edges(&[(1, 2), (2, 3), (3, 4), (1, 4)]);
// Serialize it to a JSON string.
let j = serde_json::to_string(&g).unwrap();
let i: UnGraph<i32, ()> = serde_json::from_str(&j).unwrap();
assert!(petgraph::algo::is_isomorphic(&i, &g));
}
Все, что вам нужно, находится в документации .