Release Date: 18 November 2022
GDS 2.3.0-alpha02 is compatible with Neo4j 5 versions & 4.4 versions ≥ 4.4.9 & 4.3 versions ≥ 4.3.15.

For GDS compatibility with previous releases, please use GDS Compatibility Table.

Breaking changes

  • Leiden promoted to the beta tier. It is now called via the 'gds.beta.leiden' command instead of the gds.alpha.leiden command.
  • K-means is promoted to the beta tier. It is now called via the gds.beta.kmeans command instead of the gds.alpha.kmeans command.
  • The parameter startNodeId in Spanning Tree algorithms have been replaced with sourceNode.
  • The procedures gds.alpha.spanningTree.minimum and gds.alpha.spanningTree.maximum have been removed. You can get the same behavior by specifying the new parameter objective in gds.alpha.spanningTree.

New features

Leiden

  • New parameter consecutiveIds that assigns consecutive ids for the discovered communities.
  • New parameter seedProperty to seed initial communities for nodes.
  • New parameter tolerance to enable convergence criteria based on difference in modularity from one iteration to another.
  • Now available in progress tracking – gds.list.progress()
  • Added memory estimation mode:
    • gds.beta.leiden.mutate.estimate
    • gds.beta.leiden.stats.estimate
    • gds.beta.leiden.stream.estimate
    • gds.beta.leiden.write.estimate

Logistic Regression & MLP

  • New configuration parameters classWeights and focusWeight for training methods, supported by procedures:
    • gds.beta.pipeline.nodeClassification.addLogisticRegression
    • gds.beta.pipeline.nodeClassification.addMLP
    • gds.beta.pipeline.linkPrediction.addLogisticRegression
    • gds.beta.pipeline.linkPrediction.addMLP

HashGNN

  • New algorithm gds.alpha.hashgnn.{mutate,stream} to create HashGNN node embeddings
  • New procedures gds.alpha.hashgnn.{mutate,stream}.estimate to estimate the memory required to run HashGNN

Spanning Tree

  • New modes supported: gds.alpha.spanningTree.(stats, stream, mutate)
  • New yield output for gds.alpha.spanningTree that outputs the sum of weights in the discovered spanning tree.
  • New yield output for gds.alpha.spanningTree that outputs the number of relationships written or added for write and mutate mode respectively.
  • Added memory estimation mode:
    • gds.alpha.spanningTree.stream.estimate
    • gds.alpha.spanningTree.mutate.estimate
    • gds.alpha.spanningTree.stats.estimate
    • gds.alpha.spanningTree.write.estimate

Bug fixes

  • Fixed a bug in Minimum Weighted Spanning Tree on graphs with parallel edges where the discovered tree could have wrong weights.

Improvements

Arrow

  • graph import now fully supports external node ids in the 64 Bit space.
  • graph import now supports 16, 32 or 64 Bit node identifiers.

Leiden

  • Better parallelization and improved overall performance improvements

Other changes

  • Histograms returned such as degreeDistribution in gds.graph.list can have slightly different values for specific percentiles due to changes in floating point operations.
  • Progress tracking in the Spanning Tree algorithm has been reworked. Progress reporting may differ from earlier versions.