Coder Social home page Coder Social logo

hectorramirez85 / graph-data-science Goto Github PK

View Code? Open in Web Editor NEW

This project forked from neo4j/graph-data-science

0.0 0.0 0.0 58.24 MB

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

Home Page: https://neo4j.com/docs/graph-data-science/current/

License: Other

Java 99.56% XSLT 0.03% Roff 0.40% Python 0.01%

graph-data-science's Introduction

Neo4j Graph Data Science

https://github.com/neo4j/graph-data-science/actions/workflows/gradle_cipr.yml https://search.maven.org/search?q=g:%22org.neo4j.gds%22%20AND%20a:%22proc%22 Documentation Discord Discourse users

This repository hosts the open 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.

The Neo4j Graph Data Science library is the successor of the Neo4j Graph Algorithms library.

Downloading and installing releases

The latest releases of Neo4j GDS can always be found at the Neo4j Graph Data Science Download Page. To install the plugin in Neo4j place the downloaded JAR file it in the plugins directory of your Neo4j database and restart the database. For further instructions, see our documentation.

If you are using Neo4j Desktop you can simply add the Graph Data Science library on the plugins page of your project.

Table 1. Compatibility matrix
GDS version Neo4j version Java Version

GDS 1.0.x

Neo4j 3.5.9 - 3.5.20

Java 1.8

GDS 1.1.x

Neo4j 3.5.9 - 3.5.29

GDS 1.2.x

Neo4j 4.0.0 โ€“ 4.0.6

Java 11

GDS 1.3.x

Neo4j 4.0.0 - 4.0.9

Neo4j 4.1.0 - 4.1.5

GDS 1.4.x

Neo4j 4.0.0 - 4.0.11

Neo4j 4.1.0 - 4.1.7

Neo4j 4.2.0 - 4.2.3

GDS 1.5.x

Neo4j 4.0.0 - 4.0.11

Neo4j 4.1.0 - 4.1.8

Neo4j 4.2.0 - 4.2.5

GDS 1.6.x

Neo4j 4.0.0 - 4.0.12

Neo4j 4.1.0 - 4.1.10

Neo4j 4.2.0 - 4.2.14

Neo4j 4.3.0 - 4.3.4

GDS 1.7.x

Neo4j 4.1.0 - 4.1.11

Neo4j 4.2.0 - 4.2.14

Neo4j 4.3.0 - 4.3.10

GDS 1.8.x

Neo4j 4.1.0 - 4.1.11

Neo4j 4.2.0 - 4.2.14

Neo4j 4.3.0 - 4.3.10

Neo4j 4.4.0 - 4.4.3

GDS 2.0.x

Neo4j 4.1.0 - 4.1.11

Neo4j 4.2.0 - 4.2.14

Neo4j 4.3.0 - 4.3.10

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

OpenGDS

The Neo4j Graph Data Science library as built and distributed by Neo4j includes the sources in this repository as well a suite of closed sources. Neo4j GDS is available to download and use under the constraints of its license.

However, the sources in this repository can be also be assembled into a fully functioning library, which we call OpenGDS. OpenGDS is available to build, use, and extend under the constraints of the GNU Public License version 3.0.

Developing with OpenGDS

OpenGDS is also available on Maven Central. If you want to include the OpenGDS in your own project you can simply add it as a dependency.

For the most basic set of features, like graph loading and the graph representation, you need to include the core module:

<dependency>
  <groupId>org.neo4j.gds</groupId>
  <artifactId>core</artifactId>
  <version>1.8.3</version>
</dependency>

The algorithms are located in the algo-common, algo and alpha-algo modules:

<!-- Contains the basic algorithm infrastructure -->
<dependency>
  <groupId>org.neo4j.gds</groupId>
  <artifactId>algo-common</artifactId>
  <version>1.8.3</version>
</dependency>

<!-- Contains the productized algorithms -->
<dependency>
  <groupId>org.neo4j.gds</groupId>
  <artifactId>algo</artifactId>
  <version>1.8.3</version>
</dependency>

<!-- Contains the alpha algorithms -->
<dependency>
    <groupId>org.neo4j.gds</groupId>
    <artifactId>alpha-algo</artifactId>
    <version>1.8.3</version>
</dependency>

The procedures are located in the proc-common, proc and alpha-proc modules:

<!-- Contains the basic procedure infrastructure -->
<dependency>
  <groupId>org.neo4j.gds</groupId>
  <artifactId>proc-common</artifactId>
  <version>1.8.3</version>
</dependency>

<!-- Contains the productized algorithm procedures -->
<dependency>
  <groupId>org.neo4j.gds</groupId>
  <artifactId>proc</artifactId>
  <version>1.8.3</version>
</dependency>

<!-- Contains the alpha algorithm procedures-->
<dependency>
    <groupId>org.neo4j.gds</groupId>
    <artifactId>alpha-proc</artifactId>
    <version>1.8.3</version>
</dependency>

<!-- Required by the Write procedures, this artifact is responsible for providing the various exporters -->
<dependency>
  <groupId>org.neo4j.gds</groupId>
  <artifactId>write-services</artifactId>
  <version>1.8.3</version>
</dependency>

Building the library

Installing JDKs

Install SKDMAN

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

Install both JDK 11 and JDK 17 Temurin:

sdk install java 11.0.13-tem
sdk install java 17.0.1-tem
Note
These versions were the latest at the time of writing these notes. To see a list of the available versions you can run sdk list java.
Note
You do not need to set them as default JDK

If you want to opt out of Temurin, you can override javaLanguageVendor and javaLanguageVersion in your project-local gradle.properties. List of Gradle supported language vendors

Note
The javaLanguageVendor and javaLanguageVersion overrides have to be installed locally on your system.

OpenGDS uses the build tool Gradle. Gradle is shipped with this repository using the Gradle Wrapper. This means you can simply run any Gradle task by running ./gradlew TASK from the repository root.

Running tests

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

Packaging the library

To package the library you can run ./gradlew :open-packaging:shadowCopy. This will create a bundled JAR called open-gds-VERSION.jar in the directory build/distributions/. To use the bundled JAR in Neo4j, place the JAR file in the plugins directory of your Neo4j database and restart the database. For further instructions, see our documentation.

Preview of the documentation

A preview of the latest documentation can be found at https://neo4j.com/docs/graph-data-science/2.0-preview/.

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

OpenGDS is licensed under the GNU Public License version 3.0. All content is copyright ยฉ Neo4j Sweden AB.

graph-data-science's People

Contributors

s1ck avatar knutwalker avatar soerenreichardt avatar jjaderberg avatar florentind avatar mats-sx avatar vnickolov avatar darthmax avatar breakanalysis avatar adamnsch avatar mneedham avatar mknblch avatar lassewesth avatar jexp avatar ioannispanagiotas avatar tomasonjo avatar davidoliversp2 avatar anafvidal avatar xkitsios avatar chozo99 avatar recrwplay avatar moxious avatar fbiville avatar frank-zsy avatar frant-hartm avatar marci543 avatar pstutz avatar schaber avatar nameof avatar regonn avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.