/graph-data-science

Source code for the Neo4j Graph Data Science library of graph algorithms.

Primary LanguageJavaOtherNOASSERTION

Neo4j Graph Data Science Library

This repository hosts the sources of the Neo4j Graph Data Science (GDS) library. The GDS library is a plugin for the Neo4j graph database. The library consists of a number of graph algorithms, exposed as procedures and executed in Neo4j.

Downloading and installing releases

If you want to download and run the Graph Data Science library, please download the JAR from our releases page and place it in the plugins directory of your Neo4j database. For further instructions, see our documentation.

Table 1. Compatibility matrix
GDS version Neo4j version

GDS 1.0.x, 1.1.x

Neo4j 3.5.9 - 3.5.18

GDS 1.2.0-alpha01 (preview)

Neo4j 4.0.3

GDS 1.2.0

Neo4j 4.0.0 – 4.0.4

Note
Preview releases are not automatically made available in Neo4j Desktop. They need to be installed manually.

Building the library

The Neo4j Graph Data Science library uses the build tool Gradle. Gradle is shipped with this repository using the Gradle Wrapper. This means you can simply run all Gradle commands by running ./gradlew TASK from the repository root.

Note

GDS 1.3 is targeting compatibility with both Neo4j versions 4.0.x and 4.1.x. To build GDS, Neo4j 4.1 artifacts need to be available. Since Neo4j 4.1.0 is not yet released, you need to build Neo4j yourself from source. See the instructions at https://github.com/neo4j/neo4j#building-neo4j. On a UNIX system, the following should get you what you need:

git clone --branch 4.1 https://github.com/neo4j/neo4j.git && cd neo4j && mvn install -DskipTests -T2C

This is a temporary requirement, until Neo4j 4.1.0 is released.

Running tests

To run all tests you can simply run ./gradlew check

Packaging the library

To package the library you can run ./gradlew packaging:shadowJar. This will create the bundeled jar at packaging/build/libs/neo4j-graph-data-science-VERSION-standalone.jar.

Preview of the Documentation

To generate a preview you can run ./gradlew doc:preview. This will build the documentation and make it available under http://localhost:8001/. When you are done run ./gradlew doc:stopPreview to stop the web server.

Contributing

Please report any bugs, concerns, or other questions as GitHub issues to this repository.

For more information see the contribution guidelines for this project.

License

The Neo4j Graph Data Science library is licensed under the GNU Public License version 3.0. All content is copyright © Neo4j Sweden AB.