Release Date: 1 December 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 thegds.alpha.kmeans
command. - The parameter
startNodeId
in Spanning Tree algorithms have been replaced withsourceNode
. - The minimum weighted spanning tree algorithm is moved to beta. It is now called via the
gds.beta.spanningTree
command instead ofgds.alpha.spanningTree
- The procedures
gds.alpha.spanningTree.minimum
andgds.alpha.spanningTree.maximum
have been removed. You can get the same behavior by specifying the new parameterobjective
ingds.beta.spanningTree
.
- The procedures
New features
Minimum Directed Steiner Tree
- Added heuristic for minimum directed Steiner Tree under the
gds.alpha.steinerTree
domain.- Added
stats
mode withgds.alpha.steinerTree.stats
- Added
stream
mode withgds.alpha.steinerTree.stream
- Added
mutate
mode withgds.alpha.steinerTree.mutate
- Added
write
mode withgds.alpha.steinerTree.write
- Added
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
andfocusWeight
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
Link Prediction
- Added new optional configuration parameter
negativeRelationshipType
togds.beta.pipeline.linkPrediction.configureSplit
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
Write Labels
- Added
gds.alpha.graph.nodeLabel.write
to allow for Node Labels to be written back from projections to a Neo4j Database
Administration
- Added the
jobId
andusername
to theongoingGdsProcedures
return field ofgds.alpha.systemMonitor
. - Added username as a new return field to
gds.beta.listProgress
. - Added a new return field to
gds.graph.list
calledschemaWithOrientation
which also includes the orientation.
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 Algorithms
- Speed improvements for Dijkstra, Astar, Yens, CELF, weighted Betweenness Centrality, and the Spanning Tree algorithms. The improvements will see a slight increase in the memory consumption of these algorithms.
Other changes
- Histograms returned such as
degreeDistribution
ingds.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.
- Mark the yielded field
schema
as deprecated ingds.graph.list
andgds.graph.drop
. In the next major release, theschema
field will use the semantics ofschemaWithOrientation
Recent Graph Data Science Releases
- Graph Data Science 2.12
- Graph Data Science 2.11
- Graph Data Science 2.10.1
- Graph Data Science 2.9.0
- Graph Data Science 2.8.0