How to find similarity between two graphs in Neo4j?

Use geometric deep learning to correctly classify sub-graph patterns.

https://docs.dgl.ai/tutorials/basics/4_batch.html

Once classified, you just search for any sort of subgraph pattern and you are effectively done.

Beyond that, you can perform link/relation prediction with DGL to figure out which molecule is most likely to change state e.g. changing one H node to C node int order to bind to another molecule depending on its context.

https://docs.dgl.ai/tutorials/basics/1_first.html

In case you are short on structures to classify, you can just generate molecules structures similar but slightly different to your target structure by using GAN's.

3 Likes