Search code examples
spring-data-neo4j-4neo4j-ogm

What are the differences between Spring Data Neo4j 4 and neo4j-ogm?


I notice SDN4 has the concept of repositories and annotations for cypher queries, but this seems not much more than programming style? Neo4j-OGM seems straight forward, easy to set up, with a really practical and efficient API. I'm wondering why both projects exist. Are there any real differences between the two?

Spring Data Neo4j

http://projects.spring.io/spring-data-neo4j/

Neo4j OGM

https://neo4j.com/docs/ogm-manual/current/introduction/


Solution

  • The idea behind having separate projects is to enable as many developers as possible to integrate their JVM-based applications easily with Neo4j.

    The two projects are closely related: Spring Data Neo4j's implementation is actually backed by the Neo4j OGM codebase. The Spring Data Neo4j project extends the capabilities of the OGM by allowing developers to work with familiar concepts - Repositories, Transactions, Templates, Derived Queries and so on.

    However for developers who don't want to (or cannot) use the Spring stack, having a separate OGM project means they do not get shut out from using Neo4j.