Skip to content

Releases: neo4j/graph-data-science

Graph Data Science 2.0.3

28 Apr 21:12
Compare
Choose a tag to compare

GDS 2.0.3 is compatible with Neo4j 4.3 and 4.4 but not Neo4j 3.5.x, 4.0, 4.1, or 4.2. For a 3.5 compatible release, please see GDS 1.1.7. For a 4.0 compatible release, please see GDS 1.6.5. For a 4.1 or 4.2 compatible release, please see GDS 1.8.6

Bug Fixes

  • We now forbid specifying methodName as a parameter of gds.beta.pipeline.[nodeClassification|linkPrediction].addLogisticRegression and gds.alpha.pipeline.[nodeClassification|linkPrediction].addRandomForest. This field is not supposed to be set by the user.
  • Fixed a bug in gds.beta.graphSage.train when using activationFunction: 'RELU', where the training did not compute the correct gradient.
  • Fixed a bug in gds.beta.graphSage.train when an invalid user input would result in an No more running tasks exception.
  • Fixed a bug in gds.beta.pipeline.linkPrediction.train where incorrect AUCPR metrics could be returned when using RandomForest.
  • Graph Data Science 2.0.2

    14 Apr 21:32
    Compare
    Choose a tag to compare

    GDS 2.0.2 is compatible with Neo4j 4.3 and 4.4 but not Neo4j 3.5.x, 4.0, 4.1, or 4.2. For a 3.5 compatible release, please see GDS 1.1.7. For a 4.0 compatible release, please see GDS 1.6.5. For a 4.1 or 4.2 compatible release, please see GDS 1.8.6

    Note: from this release onwards we will also be publishing our estimation CLI tool, that can be used to size GDS instances.

    New Features

  • Cypher Aggregation now accepts any INTEGER value for source and target nodes
  • Bug Fixes

  • Fixed a bug in gds.graph.export where the configured database directory would not be respected
  • Fixed a bug in gds.beta.pipeline.linkPrediction.predict.[mutate|stream] where the procedures threw an error when initialSampler was specified
  • Other Changes

  • Updated version of 'com.google.protobuf' to 3.9.12. This fixes a potential Denial of Service issue (GHSA-wrvw-hg22-4m67).
  • 2.0.1

    04 Apr 15:53
    Compare
    Choose a tag to compare

    GDS 2.0.1 is compatible with Neo4j 4.3 and 4.4 but not Neo4j 3.5.x, 4.0, 4.1, or 4.2. For a 3.5 compatible release, please see GDS 1.1.7. For a 4.0 compatible release, please see GDS 1.6.5. For a 4.1 or 4.2 compatible release, please see GDS 1.8.6

    Bug Fixes

  • Fixed a bug in gds.beta.randomWalk.stream where configuring start nodes could lead to AIOOB exceptions.
  • Fixed a bug in gds.beta.pipeline.[nodeClassification|linkPrediction].addNodeProperty where gds.beta.graphSage.mutate could not be added.
  • Improvements

  • When an algorithm is blocked by the memory guard, information is now logged, in addition to raising an exception to the user.
  • Graph Data Science 2.0.0

    24 Mar 14:31
    Compare
    Choose a tag to compare

    GDS 2.0.0 is compatible with Neo4j 4.3 and 4.4 but not Neo4j 3.5.x, 4.0, 4.1, or 4.2. For a 3.5 compatible release, please see GDS 1.1.7. For a 4.0 compatible release, please see GDS 1.6.5. For a 4.1 or 4.2 compatible release, please see GDS 1.8.6

    Breaking changes

    • Moved BFS to product tier
      • Gds.alpha.bfs => gds.bfs.stream
      • Added support for gds.bfs.stream.estimate
      • Removed configuration parameter relationshipWeightProperty.
      • Rename configuration parameter startNodeId to sourceNode.
      • Rename YIELD field startNodeId to sourceNode.
    • Moved DFS to product tier
      • Gds.alpha.bfs => gds.dfs.stream
      • Added support for gds.dfs.stream.estimate
      • Removed configuration parameter relationshipWeightProperty.
      • Rename configuration parameter startNodeId to sourceNode.
      • Rename YIELD field startNodeId to sourceNode.
    • Moved KNN to product tier
      • gds.beta.knn.mutate => gds.knn.mutate
      • gds.beta.knn.stats => gds.knn.stats
      • gds.beta.knn.stream => gds.knn.stream
      • gds.beta.knn.write => gds.knn.write
      • Removed ANN (superseded by KNN)
      • nodeWeightProperty for KNN replaced by nodeProperties, which accepts multiple properties.
    • Similarity:
      • Moved alpha similarity functions to product tier.
        • gds.alpha.similarity.cosine => gds.similarity.cosine
        • gds.alpha.similarity.euclidean => gds.similarity.euclidean
        • gds.alpha.similarity.euclideanDistance => gds.similarity.euclideanDistance
        • gds.alpha.similarity.jaccard => gds.similarity.jaccard
        • gds.alpha.similarity.overlap => gds.similarity.overlap
        • gds.alpha.similarity.pearson => gds.similarity.pearson
        • Pearson similarity function no longer accepts Lists of Maps, but computes over Lists of Numbers like the other similarity functions.
        • Removed gds.alpha.similarity.asVector function.
      • Removed alpha similarity procedures (similarity metrics added as modes for KNN and Node Similarity).
        • gds.alpha.similarity.cosine
        • gds.alpha.similarity.euclidean
        • gds.alpha.similarity.overlap
        • gds.alpha.similarity.pearson
        • gds.alpha.ml.ann
    • Moved delta stepping shortest path to product tier
      • gds.alpha.shortestPath.deltaStepping => gds.allShortestPath.delta.[write,stream, mutate, estimate]
    • Moved Closeness Centrality to beta tier
      • gds.alpha.closeness.stream => gds.beta.closeness.stream
      • gds.alpha.closeness.stats => gds.beta.closeness.stats
      • gds.alpha.closeness.write => gds.beta.closeness.write
      • gds.alpha.closeness.mutate => gds.beta.closeness.mutate
      • Removed return item nodes from write and mutate mode.
      • Renamed configuration parameter improved to useWassermanFaust.
      • Renamed YIELD field centrality to score in stream mode.
    • Moved link prediction pipeline procedures to beta tier:
      • gds.beta.pipeline.linkPrediction.addFeature
      • gds.beta.pipeline.linkPrediction.addNodeProperty
      • gds.beta.pipeline.linkPrediction.configureParams
      • gds.beta.pipeline.linkPrediction.configureSplit
      • gds.beta.pipeline.linkPrediction.create
      • gds.beta.pipeline.linkPrediction.predict.mutate
      • gds.beta.pipeline.linkPrediction.predict.mutate.estimate
      • gds.beta.pipeline.linkPrediction.predict.stream
      • gds.beta.pipeline.linkPrediction.predict.stream.estimate
      • gds.beta.pipeline.linkPrediction.train
      • gds.beta.pipeline.linkPrediction.train.estimate.
    • Moved node classification pipeline procedures to beta tier:
      • gds.beta.pipeline.nodeClassification.selectFeatures
      • gds.beta.pipeline.nodeClassification.addNodeProperty
      • gds.beta.pipeline.nodeClassification.configureParams
      • gds.beta.pipeline.nodeClassification.configureSplit
      • gds.beta.pipeline.nodeClassification.create
      • gds.beta.pipeline.nodeClassification.predict.mutate
      • gds.beta.pipeline.nodeClassification.predict.mutate.estimate
      • gds.beta.pipeline.nodeClassification.predict.stream
      • gds.beta.pipeline.nodeClassification.predict.stream.estimate
      • gds.beta.pipeline.nodeClassification.predict.write
      • gds.beta.pipeline.nodeClassification.predict.write.estimate
      • gds.beta.pipeline.nodeClassification.train
      • gds.beta.pipeline.nodeClassification.train.estimate.
    • Removed non-pipeline versions of Node Classification, including procedures:
      • gds.alpha.ml.nodeClassification.predict.mutate
      • gds.alpha.ml.nodeClassification.predict.mutate.estimate
      • gds.alpha.ml.nodeClassification.predict.stream
      • gds.alpha.ml.nodeClassification.predict.stream.estimate
      • gds.alpha.ml.nodeClassification.predict.write
      • gds.alpha.ml.nodeClassification.predict.write.estimate
      • gds.alpha.ml.nodeClassification.train
      • gds.alpha.ml.nodeClassification.train.estimate
    • Removed non-pipeline versions of Link Prediction, including procedures:
      • gds.alpha.ml.linkPrediction.predict.mutate
      • gds.alpha.ml.linkPrediction.predict.mutate.estimate
      • gds.alpha.ml.linkPrediction.predict.stream
      • gds.alpha.ml.linkPrediction.predict.stream.estimate
      • gds.alpha.ml.linkPrediction.predict.write
      • gds.alpha.ml.linkPrediction.predict.write.estimate
      • gds.alpha.ml.linkPrediction.train
      • gds.alpha.ml.linkPrediction.train.estimate
    • Additional changes to node classification & link predictions
      • Removed batchSize parameter for Node Classification pipeline predict modes, because it is not useful.
      • The procedure resolution for the taskName parameter of gds.alpha.ml.pipeline.linkPrediction.addNodeProperty and gds.alpha.ml.pipeline.nodeClassification.addNodeProperty changed and now requires the inclusion of the tier, e.g. 'scaleProperties' must now be written as 'alpha.scaleProperties'.
      • Changed node classification and link prediction training pipelines management from the model catalog to the new pipeline catalog. Trained pipelines (which we refer to as models) are still managed in the model catalog.
      • Replaced gds.beta.pipeline.[nodeClassification|linkPrediction].configureParams(pipelineName::String, parameterSpace::List of Map) by gds.beta.pipeline.[nodeClassification|linkPrediction].addLogisticRegression(pipelineName::String, config::Map. This also removes the previous default model candidate.
      • Removed useBiasFeature parameter in gds.beta.pipeline.linkPrediction.addLogisticRegression.
    • Graph Projection:
      • gds.graph.create renamed gds.graph.project
      • In gds.graph.project, defining the same node property for different labels with different neoPropertyKeys is no longer allowed.
      • Inputs for comparison expressions in graph.project.subgraph must resolve to the same type, i.e., long or double.
    • Removed support for anonymous graph syntax from algorithm execution. Only explicit, named graphs are supported.
      • Memory estimation is an exception t...
    Read more

    Graph Data Science 2.0.0 Preview

    18 Mar 17:44
    Compare
    Choose a tag to compare

    GDS 2.0.0 is compatible with Neo4j 4.3 and 4.4 but not Neo4j 3.5.x, 4.0, 4.1, or 4.2. For a 3.5 compatible release, please see GDS 1.1.7. For a 4.0 compatible release, please see GDS 1.6.5. For a 4.1 or 4.2 compatible release, please see GDS 1.8.6

    Breaking changes

    • Moved BFS to product tier
      • Gds.alpha.bfs => gds.bfs.stream
      • Added support for gds.bfs.stream.estimate
      • Removed configuration parameter relationshipWeightProperty.
      • Rename configuration parameter startNodeId to sourceNode.
      • Rename YIELD field startNodeId to sourceNode.
    • Moved DFS to product tier
      • Gds.alpha.bfs => gds.dfs.stream
      • Added support for gds.dfs.stream.estimate
      • Removed configuration parameter relationshipWeightProperty.
      • Rename configuration parameter startNodeId to sourceNode.
      • Rename YIELD field startNodeId to sourceNode.
    • Moved KNN to product tier
      • gds.beta.knn.mutate => gds.knn.mutate
      • gds.beta.knn.stats => gds.knn.stats
      • gds.beta.knn.stream => gds.knn.stream
      • gds.beta.knn.write => gds.knn.write
      • Removed ANN (superseded by KNN)
      • nodeWeightProperty for KNN replaced by nodeProperties, which accepts multiple properties.
    • Similarity:
      • Moved alpha similarity functions to product tier.
        • gds.alpha.similarity.cosine => gds.similarity.cosine
        • gds.alpha.similarity.euclidean => gds.similarity.euclidean
        • gds.alpha.similarity.euclideanDistance => gds.similarity.euclideanDistance
        • gds.alpha.similarity.jaccard => gds.similarity.jaccard
        • gds.alpha.similarity.overlap => gds.similarity.overlap
        • gds.alpha.similarity.pearson => gds.similarity.pearson
        • Pearson similarity function no longer accepts Lists of Maps, but computes over Lists of Numbers like the other similarity functions.
        • Removed gds.alpha.similarity.asVector function.
      • Removed alpha similarity procedures (similarity metrics added as modes for KNN and Node Similarity).
        • gds.alpha.similarity.cosine
        • gds.alpha.similarity.euclidean
        • gds.alpha.similarity.overlap
        • gds.alpha.similarity.pearson
        • gds.alpha.ml.ann
    • Moved delta stepping shortest path to product tier
      • gds.alpha.shortestPath.deltaStepping => gds.allShortestPath.delta.[write,stream, mutate, estimate]
    • Moved Closeness Centrality to beta tier
      • gds.alpha.closeness.stream => gds.beta.closeness.stream
      • gds.alpha.closeness.stats => gds.beta.closeness.stats
      • gds.alpha.closeness.write => gds.beta.closeness.write
      • gds.alpha.closeness.mutate => gds.beta.closeness.mutate
      • Removed return item nodes from write and mutate mode.
      • Renamed configuration parameter improved to useWassermanFaust.
      • Renamed YIELD field centrality to score in stream mode.
    • Moved link prediction pipeline procedures to beta tier:
      • gds.beta.pipeline.linkPrediction.addFeature
      • gds.beta.pipeline.linkPrediction.addNodeProperty
      • gds.beta.pipeline.linkPrediction.configureParams
      • gds.beta.pipeline.linkPrediction.configureSplit
      • gds.beta.pipeline.linkPrediction.create
      • gds.beta.pipeline.linkPrediction.predict.mutate
      • gds.beta.pipeline.linkPrediction.predict.mutate.estimate
      • gds.beta.pipeline.linkPrediction.predict.stream
      • gds.beta.pipeline.linkPrediction.predict.stream.estimate
      • gds.beta.pipeline.linkPrediction.train
      • gds.beta.pipeline.linkPrediction.train.estimate.
    • Moved node classification pipeline procedures to beta tier:
      • gds.beta.pipeline.nodeClassification.selectFeatures
      • gds.beta.pipeline.nodeClassification.addNodeProperty
      • gds.beta.pipeline.nodeClassification.configureParams
      • gds.beta.pipeline.nodeClassification.configureSplit
      • gds.beta.pipeline.nodeClassification.create
      • gds.beta.pipeline.nodeClassification.predict.mutate
      • gds.beta.pipeline.nodeClassification.predict.mutate.estimate
      • gds.beta.pipeline.nodeClassification.predict.stream
      • gds.beta.pipeline.nodeClassification.predict.stream.estimate
      • gds.beta.pipeline.nodeClassification.predict.write
      • gds.beta.pipeline.nodeClassification.predict.write.estimate
      • gds.beta.pipeline.nodeClassification.train
      • gds.beta.pipeline.nodeClassification.train.estimate.
    • Removed non-pipeline versions of Node Classification, including procedures:
      • gds.alpha.ml.nodeClassification.predict.mutate
      • gds.alpha.ml.nodeClassification.predict.mutate.estimate
      • gds.alpha.ml.nodeClassification.predict.stream
      • gds.alpha.ml.nodeClassification.predict.stream.estimate
      • gds.alpha.ml.nodeClassification.predict.write
      • gds.alpha.ml.nodeClassification.predict.write.estimate
      • gds.alpha.ml.nodeClassification.train
      • gds.alpha.ml.nodeClassification.train.estimate
    • Removed non-pipeline versions of Link Prediction, including procedures:
      • gds.alpha.ml.linkPrediction.predict.mutate
      • gds.alpha.ml.linkPrediction.predict.mutate.estimate
      • gds.alpha.ml.linkPrediction.predict.stream
      • gds.alpha.ml.linkPrediction.predict.stream.estimate
      • gds.alpha.ml.linkPrediction.predict.write
      • gds.alpha.ml.linkPrediction.predict.write.estimate
      • gds.alpha.ml.linkPrediction.train
      • gds.alpha.ml.linkPrediction.train.estimate
    • Additional changes to node classification & link predictions
      • Removed batchSize parameter for Node Classification pipeline predict modes, because it is not useful.
      • The procedure resolution for the taskName parameter of gds.alpha.ml.pipeline.linkPrediction.addNodeProperty and gds.alpha.ml.pipeline.nodeClassification.addNodeProperty changed and now requires the inclusion of the tier, e.g. 'scaleProperties' must now be written as 'alpha.scaleProperties'.
      • Changed node classification and link prediction training pipelines management from the model catalog to the new pipeline catalog. Trained pipelines (which we refer to as models) are still managed in the model catalog.
      • Replaced gds.beta.pipeline.[nodeClassification|linkPrediction].configureParams(pipelineName::String, parameterSpace::List of Map) by gds.beta.pipeline.[nodeClassification|linkPrediction].addLogisticRegression(pipelineName::String, config::Map. This also removes the previous default model candidate.
      • Removed useBiasFeature parameter in gds.beta.pipeline.linkPrediction.addLogisticRegression.
    • Graph Projection:
      • gds.graph.create renamed gds.graph.project
      • In gds.graph.project, defining the same node property for different labels with different neoPropertyKeys is no longer allowed.
      • Inputs for comparison expressions in graph.project.subgraph must resolve to the same type, i.e., long or double.
    • Removed support for anonymous graph syntax from algorithm execution. Only explicit, named graphs are supported.
      • Memory estimation is an exception t...
    Read more

    Graph Data Science 1.8.6

    18 Mar 16:26
    Compare
    Choose a tag to compare

    GDS 1.8.6 is compatible with Neo4j 4.1, 4.2, 4.3 and 4.4 but not Neo4j 3.5.x. For a 3.5 compatible release, please see GDS 1.1.7. For a 4.0 compatible release, please see GDS 1.6.5.

    Bug fixes

    • Improved parallellism for gds.beta.pipeline.linkPrediction.predict for smaller graphs.
    • Bugfix for memory estimation with Pregel algorithms

    Graph Data Science 1.8.5

    14 Mar 23:54
    Compare
    Choose a tag to compare

    GDS 1.8.5 is compatible with Neo4j 4.1, 4.2, 4.3 and 4.4 but not Neo4j 3.5.x. For a 3.5 compatible release, please see GDS 1.1.7. For a 4.0 compatible release, please see GDS 1.6.5.

    Bug fixes

    • Fixed a bug where the optimized compressed memory format for GDS graph projections was unavailable

    Graph Data Science 1.8.4

    08 Mar 15:45
    Compare
    Choose a tag to compare

    GDS 1.8.4 is compatible with Neo4j 4.1, 4.2, 4.3 and 4.4 but not Neo4j 3.5.x. For a 3.5 compatible release, please see GDS 1.1.7. For a 4.0 compatible release, please see GDS 1.6.5.

    Bug fixes

    • Fixed a bug where cypher on gds would try to access node properties as relationship properties and vice versa.
    • Fixed a bug where gds.beta.graphSage would produce incorrect results when specifying the nodeLabels filter.
    • Fixed a bug where mutate used in conjunction with nodeLabels filter on graphs with multiple node labels and relationship types would sometimes not work correctly.
    • Fixed a bug where function gds.alpha.similarity.cosine and procedures gds.alpha.similarity.cosine.[stats,stream,write] returned the absolute value of the cosine computation, instead of the cosine value itself.
    • Fixed a bug where an invalid license would prevent the Neo4j database from starting
    • Fixed a bug where gds.alpha.closeness might produce wrong results for directed graphs.

    Other changes

    • Corrected the definition of trainFraction in documentation and removed overly strict validation that required trainFraction + testFraction < 1.

    Graph Data Science 1.8.3

    24 Jan 15:46
    Compare
    Choose a tag to compare

    GDS 1.8.3 is compatible with Neo4j 4.1, 4.2, 4.3 and 4.4 but not Neo4j 3.5.x. For a 3.5 compatible release, please see GDS 1.1.7. For a 4.0 compatible release, please see GDS 1.6.5.

    Bug fixes

    • Fixed a bug where gds.beta.model.drop could not drop a previously stored model.
    • Fixed a bug where gds.beta.model.publish resulted in unusable models if the model was also stored before.
    • Fixed a bug where gds.alpha.ml.splitRelationships created relationships with incorrect ids when NodeLabel filtering is used.
    • Fixed a bug where gds.alpha.ml.linkPrediction.predict produced relationships with incorrect nodeIds if node labels are filtered.
    • Fixed a bug where gds.alpha.ml.pipeline.linkPrediction.predict.mutate produced relationships with incorrect nodeIds if node labels are filtered.
    • Fixed a bug where gds.beta.graph.create.subgraph could associate nodes with the wrong properties.

    Graph Data Science 1.8.2

    13 Jan 14:02
    Compare
    Choose a tag to compare

    Release Date: 13 January, 2022

    GDS 1.8.2 is compatible with Neo4j 4.1, 4.2, 4.3 and 4.4 but not Neo4j 3.5.x. For a 3.5 compatible release, please see GDS 1.1.7. For a 4.0 compatible release, please see GDS 1.6.5.

    Bug fixes

    • Fixed a bug where gds.alpha.ml.pipeline.nodeClassification.train would train a model under the wrong username and not be accessible for the actual user.
    • Fixed a bug where gds.triangleCount and gds.localClusteringCoefficient might produce wrong results when using a nodeLabels filter.
    • Fixed a bug where gds.graph.create or gds.graph.create.subgraph did not release allocated memory which can lead to an OutOfMemoryException, especially when applied in a loop.