Skip to content

Knowledge base containing various matrixes with combinations of drivers and surrounding ecosystem and their support status within Neo4j.

License

Notifications You must be signed in to change notification settings

neo4j-drivers/java-ecosystem-compatibility

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

java-ecosystem-compatibility

This repository contains some scripting and base data to build a database that can answer questions like

  • Which version of Neo4j Database is still in support and which Driver version is recommended for this database or compatible with it?
  • A complete list of available releases of the Neo4j Java Driver and what servers they support
  • A complete list of combinations of Spring Boot, Spring Data Neo4j (SDN, Neo4j-OGM (if applicable) and the Neo4j Java Driver they shipped with
  • Support status for Spring Boot and SDN versions as communicated by Broadcom.

The data

All data files reside in data.

Static / artisanal maintained data

Those files are manually maintained and contain static information:

t_driver_java_matrix.csv
Minimum required Java version for releases of the Neo4j Java Driver, sourced by going through the corresponding tags of the readme
t_driver_server_matrix.csv
List of drivers and the server versions that they support, sourced from https://github.com/neo4j/neo4j-java-driver/wiki
t_driver_support_matrix.csv
List of supported driver versions, conversations and common sense
t_neo4j_versions.csv
All Neo4j versions and their support dates. End of support for the 5.x series is always null, as the release of the next version ends support of the previous. From https://neo4j.com/developer/kb/neo4j-supported-versions/
t_ogm_support_matrix.csv
The status of OGM support
t_spring_boot_java_matrix.csv
Minimum required Java version for various Spring Boot releases, sourced by going through the corresponding manuals

Version and support matrices

Those files are generated via export_database.sh and contain the following information:

v_java_driver_versions.csv
The full list of all released versions of the Java driver, server_versions is a nested attribute, containing a list of supported servers.
v_neo4j_driver_support_matrix.csv
Neo4j and driver support matrix
v_neo4j_ogm_support_matrix.csv
The list of Neo4j-OGM releases, their minimum required and maximum supported Java driver and the server version they can connect to
v_neo4j_versions.csv
All known Neo4j versions
v_sdn_versions.csv
The list of all combinations of Spring Boot and SDN versions and whether they are supported in either an OSS or commercially way.
v_sdn_versions_with_commercial_support.csv
The list of all combinations of Spring Boot and SDN versions that are still supported under a commercial Broadcom license.
v_sdn_versions_with_oss_support.csv
The list of all combinations of Spring Boot and SDN versions that are still OSS supported.
v_supported_java_driver_versions.csv
All supported driver versions

Create and populate a database yourself

Required tooling

Step by step

All scripts are idempotent and can be safely run multiple times. First create an empty database:

./bin/create_or_update_database.sh test.duckdb

Then populate it. The first run will take some time, as we grab data from Maven central and actually create some Java projects to have the actual shipped dependencies with Spring Boot and Neo4j-OGM projects:

./bin/import_and_update.sh test.duckdb

About

Knowledge base containing various matrixes with combinations of drivers and surrounding ecosystem and their support status within Neo4j.

Resources

License

Stars

Watchers

Forks