Skip to content
Nextgen Spring Data module for Neo4j supporting (not only) reactive data access and immutable support
Java Kotlin
Branch: master
Clone or download


Spring Data Neo4j⚡️RX

Maven Central

Spring Data Neo4j⚡️RX - or in short SDN/RX - is an ongoing effort to create the next generation of Spring Data Neo4j, with full reactive support and lightweight mapping. SDN/RX will work with immutable entities, regardless whether written in Java or Kotlin.

The primary goal of the Spring Data project is to make it easier to build Spring-powered applications that use new data access technologies such as non-relational databases, map-reduce frameworks, and cloud based data services.

The SDN/RX project aims to provide a familiar and consistent Spring-based programming model for integrating with the Neo4j Graph Database.


For a gentle introduction and some getting started guides, please use our Manual.

Getting Started

Here is a quick teaser of a reactive application using Spring Data Repositories in Java, without using Spring Boot.

public class Person {
    private Long id;
    private String name;

    public Person(String name) { = name;

interface PersonRepository extends ReactiveNeo4jRepository<Person, Long> {

    Flux<Person> findAllByName(String name);

    Flux<Person> findAllByNameLike(String name);

class MyService {

    private final PersonRepository repository;

    public Flux<Person> doWork() {

        Person emil = new Person("Emil");
        Person gerrit = new Person("Gerrit");
        Person michael = new Person("Michael");

        // Persist entities and relationships to graph database
        return repository.saveAll(Flux.just(emil, gerrit, michael));

class MyConfiguration extends AbstractReactiveNeo4jConfig {

    public Driver driver() {
        return GraphDatabase.driver("bolt://localhost:7687", AuthTokens.basic("neo4j", "passphrase"));

    protected Collection<String> getMappingBasePackages() {
        return Collections.singletonList(Person.class.getPackage().getName());
SDN/RX is not only about reactive support, all features are available in both ways: Imperative and reactive, we only prefer to showcase the new reactive database access support here.

Maven configuration

Add the Maven dependency:


Nowadays, people prefer Spring Boot and we got you covered with a starter. Please consult our manual for more information.

Building SDN/RX

Please have a look at the documentation: Building SDN/RX.

You can’t perform that action at this time.