Skip to content

Releases: neo4j/graph-data-science

Graph Data Science 2.1.0

09 Jun 12:50
Compare
Choose a tag to compare

GDS 2.1.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.7

Breaking Changes

  • Removed the redundant information of parameter space and split config from the info of the models trained by gds.beta.pipeline.[nodeClassification|linkPrediction].train. The information is now accessible only via the Pipeline Catalog.
  • Removed the label parameter from gds.graph.removeNodeProperties.
  • Supported config parameters are timeoutInSeconds and concurrency

New Features

  • (Enterprise Only) Apache Arrow and Flight RPC can now be used to improve certain import and export tasks:
  • New Algorithm: K-Means Clustering. Added the following procedures:
    • gds.alpha.kmeans.mutate
    • gds.alpha.kmeans.stats
    • gds.alpha.kmeans.stream
    • gds.alpha.kmeans.write
  • New Algorithm: Leiden. Added the following procedures:
    • gds.alpha.leiden.mutate
    • gds.alpha.leiden.stats
    • gds.alpha.leiden.stream
    • gds.alpha.leiden.stream
  • Added new similarity variant, Filtered Node Similarity, to alpha tier, accepting source and target node filters
    • gds.alpha.nodeSimilarity.filtered.mutate
    • gds.alpha.nodeSimilarity.filtered.stream
    • gds.alpha.nodeSimilarity.filtered.write
    • gds.alpha.nodeSimilarity.filtered.stats
  • Added new similarity variant Filtered KNN to alpha tier, accepting source and target node filters
    • gds.alpha.knn.filtered.mutate
    • gds.alpha.knn.filtered.stream
    • gds.alpha.knn.filtered.write
    • gds.alpha.knn.filtered.stats
  • Added new procedures for delta stepping:
    • gds.allShortestPaths.delta.stats
    • gds.allShortestPaths.delta.stats.estimate
  • Added new procedures for BFS:
    • gds.bfs.stats
    • gds.bfs.stats.estimate
  • Added Node Regression Pipelines with the following procedures
    • gds.alpha.pipeline.nodeRegression.create
    • gds.alpha.pipeline.nodeRegression.configureAutoTuning
    • gds.alpha.pipeline.nodeRegression.configureSplit
    • gds.alpha.pipeline.nodeRegression.addLinearRegression
    • gds.alpha.pipeline.nodeRegression.addRandomForest
    • gds.alpha.pipeline.nodeRegression.addNodeProperty
    • gds.alpha.pipeline.nodeRegression.selectFeatures
    • gds.alpha.pipeline.nodeRegression.train
    • gds.alpha.pipeline.nodeRegression.predict.stream
    • gds.alpha.pipeline.nodeRegression.predict.mutate
  • Autotuning Support for Machine Learning Pipelines:
    • Added new procedures gds.alpha.pipeline.[nodeClassification|nodeRegression|linkPrediction].configureAutoTuning.
    • Added syntax to specify ranges for parameters in gds.alpha.pipeline.[linkPrediction|nodeClassification|nodeRegression].addRandomForest, gds.beta.pipeline.[linkPrediction|nodeClassification].addLogisticRegression, and gds.alpha.nodeRegression.addLinearRegression
  • Additional Machine Learning Pipeline Functionality:
    • Exposed learningRate for the LogisticRegression models, which can be added using gds.beta.pipeline.[nodeClassification|linkPrediction].addLogisticRegression
    • Exposed minLeafSize for RandomForest models, which can be added using gds.alpha.pipeline.[nodeClassification|linkPrediction].addRandomForest
    • Exposed criterion for RandomForestClassification models, which can be added using gds.alpha.pipeline.[nodeClassification|linkPrediction].addRandomForest. Also added support for the ENTROPY impurity criterion.
    • Updated structure of modelSelectionStats yield in gds.beta.pipeline.[linkPrediction, nodeClassification].train.
    • Support OUT_OF_BAG_ERROR metric in gds.beta.pipeline.[linkPrediction, nodeClassification].train which applies only to RandomForest models.
    • Expose batchesPerIteration in gds.beta.graphSage.train to configure the number of batches considered per iteration.
  • Cypher Aggregation now accepts any INTEGER value for source and target nodes
  • Added ShardedIdMap which adds support for external node ids ranging from 0 to Long.MAX_VALUE.
    • The id map is disabled by default and can be enabled via feature toggle USE_SHARDED_ID_MAP.
  • Added procedures for exporting graph properties to the alpha tier
    • gds.alpha.graph.streamGraphProperty
    • gds.alpha.graph.removeGraphProperty
  • Exposed a new string config parameter jobId for graph projection and algorithm procedures, which allows for easier tracking of a job via e.g. gds.beta.listProgress.

Bug fixes

  • Fixed a bug in gds.beta.pipeline.[nodeClassification|linkPrediction].addNodeProperty where gds.beta.graphSage.mutate could not be added.
  • Fixed a bug where the procedures gds.beta.pipeline.linkPrediction.predict.[mutate|stream] threw an error when given the argument initialSampler.
  • Fixed a bug with running Triangle Count on filtered graphs that could cause an ArrayIndexOutOfBounds Error.
  • Fixed a bug where graphSage.train incorrectly reported didConverge as false.
  • Fixed a bug in CollapsePath where a provided nodeFilter would be ignored (GH 194)
  • Fixed a bug in gds.louvain.stream when the consecutiveIds parameter was enabled.
  • Fixed a bug in RandomWalk where not consuming all stream results could lead to a state where GDS would become unable to run further procedures

Improvements

  • When a query is failed by the memory guard, information is logged as well as sent to the user in the raised exception.
  • Added new methods to Pregel contexts which allow translating between internal and original node id space.
  • Machine learning pipelines
    • gds.beta.pipeline.[nodeClassification|linkPrediction].train.estimate now incorporates memory usage of random forest training into account when applicable.
    • gds.beta.pipeline.[nodeClassification|linkPrediction].predict.[mutate,stream,write].estimate now take random forest prediction memory overhead
    • Improve early validation of graph and prediction pipeline in gds.beta.pipeline.[nodeClassification|linkPrediction].predict.
    • Improve memory estimation for gds.beta.pipeline.[nodeClassification|linkPrediction].train.estimate.
    • Improve memory estimation in gds.beta.pipeline.linkPrediction.train.estimate.
    • Add training method specific debug le...
Read more

2.1.0-Preview

02 Jun 21:49
Compare
Choose a tag to compare
2.1.0-Preview Pre-release
Pre-release

GDS 2.1.0-preview 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.7

Breaking Changes

  • Removed the redundant information of parameter space and split config from the info of the models trained by gds.beta.pipeline.[nodeClassification|linkPrediction].train. The information is now accessible only via the Pipeline Catalog.
  • Removed the label parameter from gds.graph.removeNodeProperties.
  • Supported config parameters are timeoutInSeconds and concurrency

New Features

  • (Enterprise Only) Apache Arrow and Flight RPC can now be used to improve certain import and export tasks:
  • New Algorithm: K-Means Clustering. Added the following procedures:
    • gds.alpha.kmeans.mutate
    • gds.alpha.kmeans.stats
    • gds.alpha.kmeans.stream
  • New Algorithm: Leiden. Added the following procedures:
    • gds.alpha.leiden.mutate
    • gds.alpha.leiden.stats
    • Gds.alpha.leiden.stream
  • Added new similarity variant Filtered Node Similarity to alpha tier, accepting source and target node filters
    • gds.alpha.nodeSimilarity.filtered.mutate
    • gds.alpha.nodeSimilarity.filtered.stream
    • gds.alpha.nodeSimilarity.filtered.write
  • Added new similarity variant Filtered KNN to alpha tier, accepting source and target node filters
    • gds.alpha.knn.filtered.mutate
    • gds.alpha.knn.filtered.stream
  • Added new procedures for delta stepping:
    • gds.allShortestPaths.delta.stats
    • gds.allShortestPaths.delta.stats.estimate
  • Added new procedures for BFS:
    • Gds.bfs.stats
    • gds.bfs.stats.estimate
  • Added Node Regression Pipelines with the following procedures
    • gds.alpha.pipeline.nodeRegression.create
    • gds.alpha.pipeline.nodeRegression.configureAutoTuning
    • gds.alpha.pipeline.nodeRegression.configureSplit
    • gds.alpha.pipeline.nodeRegression.addLinearRegression
    • gds.alpha.pipeline.nodeRegression.addRandomForest
    • gds.alpha.pipeline.nodeRegression.addNodeProperty
    • gds.alpha.pipeline.nodeRegression.selectFeatures
    • gds.alpha.pipeline.nodeRegression.train
    • gds.alpha.pipeline.nodeRegression.predict.stream
    • gds.alpha.pipeline.nodeRegression.predict.mutate
  • Autotuning Support for Machine Learning Pipelines:
    • Added new procedures gds.alpha.pipeline.[nodeClassification|nodeRegression|linkPrediction].configureAutoTuning.
    • Added syntax to specify ranges for parameters in gds.alpha.pipeline.[linkPrediction|nodeClassification|nodeRegression].addRandomForest, gds.beta.pipeline.[linkPrediction|nodeClassification].addLogisticRegression, and gds.alpha.nodeRegression.addLinearRegression
  • Additional Machine Learning Pipeline Functionality:
    • Exposed learningRate for the LogisticRegression models, which can be added using gds.beta.pipeline.[nodeClassification|linkPrediction].addLogisticRegression
    • Exposed minLeafSize for RandomForest models, which can be added using gds.alpha.pipeline.[nodeClassification|linkPrediction].addRandomForest
    • Exposed criterion for RandomForestClassification models, which can be added using gds.alpha.pipeline.[nodeClassification|linkPrediction].addRandomForest. Also added support for the ENTROPY impurity criterion.
    • Updated structure of modelSelectionStats yield in gds.beta.pipeline.[linkPrediction, nodeClassification].train.
    • Support OUT_OF_BAG_ERROR metric in gds.beta.pipeline.[linkPrediction, nodeClassification].train which applies only to RandomForest models.
    • Expose batchesPerIteration in gds.beta.graphSage.train to configure the number of batches considered per iteration.
  • Cypher Aggregation now accepts any INTEGER value for source and target nodes
  • Added ShardedIdMap which adds support for external node ids ranging from 0 to Long.MAX_VALUE.
    • The id map is disabled by default and can be enabled via feature toggle USE_SHARDED_ID_MAP.
  • Added procedures for exporting graph properties to the alpha tier
    • gds.alpha.graph.streamGraphProperty
    • gds.alpha.graph.removeGraphProperty
  • Exposed a new string config parameter jobId for graph projection and algorithm procedures, which allows for easier tracking of a job via e.g. gds.beta.listProgress.

Bug fixes

  • Fixed a bug in gds.beta.pipeline.[nodeClassification|linkPrediction].addNodeProperty where gds.beta.graphSage.mutate could not be added.
  • Fixed a bug where the procedures gds.beta.pipeline.linkPrediction.predict.[mutate|stream] threw an error when given the argument initialSampler.
  • Fixed a bug with running Triangle Count on filtered graphs that could cause an ArrayIndexOutOfBounds Error.
  • Fixed a bug where graphSage.train incorrectly reported didConverge as false.
  • Fixed a bug in CollapsePath where a provided nodeFilter would be ignored.
  • Fixed a bug in gds.louvain.stream when the consecutiveIds parameter was enabled.
  • Fixed a bug in RandomWalk where not consuming all stream results could lead to a state where GDS would become unable to run further procedures

Improvements

  • When a query is failed by the memory guard, information is logged as well as sent to the user in the raised exception.
  • Machine learning pipelines
    • gds.beta.pipeline.[nodeClassification|linkPrediction].train.estimate now incorporates memory usage of random forest training into account when applicable.
    • gds.beta.pipeline.[nodeClassification|linkPrediction].predict.[mutate,stream,write].estimate now take random forest prediction memory overhead
    • Improve early validation of graph and prediction pipeline in gds.beta.pipeline.[nodeClassification|linkPrediction].predict.
    • Improve memory estimation for gds.beta.pipeline.[nodeClassification|linkPrediction].train.estimate.
    • Improve memory estimation in gds.beta.pipeline.linkPrediction.train.estimate.
    • Add training method specific debug level logging during the model selection phase of gds.beta.pipeline.linkPrediction.train, gds.beta.pipeline.nodeClassification.train and gds.alpha.pipeline.nodeRegression.train.
    • Improved logging in Link Prediction and Node Classification training.
    • Reduced computational complexity and constant overhead of random forest training, added via gds.alpha.pipeline[linkPrediction|nodeClassification].addRandomFor...
Read more

Graph Data Science 2.0.4

12 May 11:59
Compare
Choose a tag to compare

GDS 2.0.4 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 with running Triangle Count on filtered graphs.
  • Graph Data Science 1.8.7

    02 May 18:46
    Compare
    Choose a tag to compare

    GDS 1.8.7 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 in gds.beta.randomWalk.stream where configuring start nodes could lead to AIOOB exceptions.
    • Fix a bug in gds.graph.export where the configured database directory would not be respected.
    • Fixed a bug with running Triangle Count on filtered graphs.
    • Fixed a bug in gds.beta.graphSage when using activationFunction: 'RELU', where the training did not compute the correct gradient.

    Other Changes

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

    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