diff --git a/README.md b/README.md index 95a2e47..97925cf 100644 --- a/README.md +++ b/README.md @@ -20,24 +20,17 @@ It can find and [induced subgraph isomorphisms](https://en.wikipedia.org/wiki/Induced_subgraph_isomorphism_problem). Graphs can be directed or undirected. -# Features - -- [x] Enumerate graph isomorphisms -- [x] Enumerate subgraph isomorphisms -- [x] Enumerate induced subgraph isomorphisms -- [x] Support directed graphs -- [x] Support undirected graphs -- [x] Support disconnected graphs -- [x] Support node labels -- [x] Support edge labels -- [x] Graph trait - # Motivation Subgraph matching is the task of finding instances of a query graph within a larger data graph. It is useful when -searching for patterns in a graph structure, such as relationships within a social network. It is a fundamental +searching for patterns in a graph structure, such as searching a graph database. It is a fundamental problem in graph theory with applications in pattern recognition, databases, security, and biochemistry. +An illustrative example is finding relationships in social networks. Consider a network like LinkedIn where each node is +a person, and each edge represents a connection. You are tasked with finding cases where five software developers and a +doctor all know each other. You can make a query graph with developers and a doctor, and search for instances of that +query in the larger network. + # What is a subgraph isomorphism? A graph is a structure consisting of a set of objects where some pairs of objects are connected. A graph isomorphism is @@ -65,6 +58,18 @@ the data subgraph must also exist in the query graph. ![induced-subgraph-isomorphism.svg](/images/induced-subgraph-isomorphism.svg) +# Features + +- [x] Enumerate graph isomorphisms +- [x] Enumerate subgraph isomorphisms +- [x] Enumerate induced subgraph isomorphisms +- [x] Support directed graphs +- [x] Support undirected graphs +- [x] Support disconnected graphs +- [x] Support node labels +- [x] Support edge labels +- [x] Graph trait + # Usage Add `vf2` to your dependencies in **Cargo.toml**.