For the latest stable version, please use Spring Data Neo4j 7.3.4!

Your way through this document

This documentation tries to bridge between a broad spectrum of possible users:

  • People new to all the Spring ecosystem, including Spring Framework, Spring Data, the concrete module (in this case Spring Data Neo4j) and Neo4j.

  • Experienced Neo4j developers that are new to Spring Data and want to make best use of their Neo4j knowledge but are unfamiliar with declarative transactions for example and how to incorporate the latter with Neo4j cluster requirements.

  • Experienced Spring Data developers who are new to this specific module and Neo4j and need to learn how the building blocks interact together. While the programming paradigm of this module is very much in line with Spring Data JDBC, Mongo and others, the query language (Cypher), transactional and clustering behaviour is different and can’t be abstracted away.

Here’s how we address those different needs:

A lot of Neo4j specific questions can be found in the Frequently Asked Questions. These questions are particular relevant for people who well aware of Neo4j specific requirements and want to know how to address them with Spring Data Neo4j.

If you are already familiar with the core concepts of Spring Data, head straight to getting-started. This chapter will walk you through different options of configuring an application to connect to a Neo4j instance and how to model your domain.

In most cases, you will need a domain. Go to mapping to learn about how to map nodes and relationships to your domain model.

After that, you will need some means to query the domain. Choices are Neo4j repositories, the Neo4j Template or on a lower level, the Neo4j Client. All of them are available in a reactive fashion as well. Apart from the paging mechanism, all the features of standard repositories are available in the reactive variant.

If you come from older versions of Spring Data Neo4j - which are usually abbreviated SDN+OGM or SDN5 - you will most likely be interested in the introduction to SDN and especially in the relationship between SDN+OGM and the current SDN. In the same chapter, you will find out about the building blocks of SDN.

To learn more about the general concepts of repositories, head over to repositories.

You can of course read on, continuing with the preface, and a gentle getting started guide.