pub fn find_patterns(
graph: &CsrGraph,
pattern: &Pattern,
) -> Result<Vec<PatternMatch>>Expand description
Find all pattern matches in the graph
§Arguments
graph- The graph to searchpattern- The pattern to find
§Returns
Vector of pattern matches
§Errors
Returns error if pattern is malformed
§Example
ⓘ
let mut graph = CsrGraph::new();
// Create a 3-node cycle: 0 -> 1 -> 2 -> 0
graph.add_edge(NodeId(0), NodeId(1), 1.0).unwrap();
graph.add_edge(NodeId(1), NodeId(2), 1.0).unwrap();
graph.add_edge(NodeId(2), NodeId(0), 1.0).unwrap();
// Find circular dependencies of length 3
let pattern = Pattern::circular_dependency(3);
let matches = find_patterns(&graph, &pattern).unwrap();
assert_eq!(matches.len(), 1);