Spring Data Neo4j

Author: Michael Hunger

Spring Data Neo4J offers advanced features to map annotated entity classes to the Neo4j Graph Database. The template programming model is equivalent to well known Spring templates and builds the basis for interaction with the graph and is also used for the advanced repository support. Spring Data Neo4j is part of the Spring Data project which aims to provide convenient support for NoSQL databases.


  • Support for property graphs (nodes connected via relationships, each with arbitrary properties)
  • Object-Graph-Mapping of annotated POJO entities
  • additional advanced mapping mode via AspectJ
  • Neo4jTemplate with convenient API, exception translation and optional transaction – management
  • extensive Spring Data Commons Repositories Support, including annotated, derived – and geospatial finder methods
  • Dynamic type projections (duck typing)
  • Supports the Cypher query language
  • Different type representation strategies for keeping type information in the graph
  • Cross-store support for partial JPA – Graph Entities
  • Neo4j Traversal support on dynamic fields and via repository methods
  • Neo4j Indexing support (including unique entities, full-text, spatial and numeric – range queries)
  • Support for transparently accessing the Neo4j Server via its REST API
  • Support for running as extensions in the Neo4j Server