Symmetric continuous subgraph matching with bidirectional dynamic programming | Synapse