You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dropped support for earlier version of Neo4j 5, in particular 5.1, 5.2, 5.3, 5.4, and 5.5 are no longer supported and GDS is no longer compatible with those versions.
New features
Major
Added new algorithms for directed acyclic graphs:
gds.dag.topologicalSort.stream
gds.dag.longestPath.stream
Deprecating alpha and beta namespace for procedures and algorithms, and improving many to production grade - see details in ‘Full list of procedure being promoted’
Minor
Added procedure to retrieve the version of the installed GDS
CALL gds.version
Add new procedure, gds.license.state to verify the license state of the Graph Data Science library. Also, analogous adding a new function gds.isLicensed().
Added memory estimation for modularity calculation via procedures gds.modularity.[stream|stats].estimate
Added memory estimation for filtered KNN via procedures gds.knn.filtered.[mutate|stream|stats|write].estimate
Added Stats and Write modes for Harmonic Closeness Centrality
Added new procedures for SCC:
gds.scc.mutate
gds.scc.stats
Added memory estimation to SCC:
gds.scc.stream.estimate
gds.scc.stats.estimate
gds.scc.mutate.estimate
gds.scc.write.estimate
Added consecutiveIds parameter to gds.scc procedures to output the components in a consecutive id space.
Added memory estimation for Steiner Tree via procedures gds.steinerTree.[mutate|stream|stats|write].estimate
Added stats mode for gds.modularityOptimization
Bug fixes
Fixed a bug that in logging progress of Prepare Batches in GraphSAGE training.
Fixed a bug where KNN would compute incorrect EUCLIDEAN similarity.
Fixed a bug where limits validation could potentially not be triggered with configuration settings passed by from specified defaults.
Fixed a bug where gds.graph.filter would list a relationship type of __ALL__ even if all relationships were filtered out.
Fixed a bug where Triangle Count could compute an incorrect number of triangles when the maxDegree parameter was specified.
Fixed a bug where Triangle Count could compute an incorrect number of triangles when multiple relationship types are specified.
Improvements
The random graph generation procedure now will return a different graph each time gds.beta.graph.generate is called without specifying a random seed. Furthermore, when the seed is specified, the resulting graph will always have the same topology.
It is now possible to specify common node labels when importing nodes via arrow.
A better error message is thrown when encountering null values in the nodeLabels column when importing nodes via arrow.
Added the configuration option listNodeLabels for the node property stream procedures that will trigger listing all node labels for the respective node.
Added the configuration option list_node_labels for the node property stream arrow endpoints that will trigger listing all node labels for the respective node.
The Cypher projection now returns the executing query as part of the projection result as well as part of the gds.graph.list output.
Support passing startNodes to gds.graph.sample.cnarw as node objects instead of only node ids.
Support passing nodeId to gds.util.nodeProperty as node objects instead of only node id.
Improved validation for relationship projections: If a global SUM, MIN, MAX or COUNT aggregation is defined, there needs to be at least one property mapping.
HITS algorithm procedures have a default hitsIterations value of 20
More accurate progress tracking for the gds.scc algorithm.
The componentDistribution and communityDistribution parameters now also include the p1, p5,p10, p25 percentiles. This affects algorithms in the Community Detection category.
Full list of procedure being promoted
Promoting Model Catalog procedures:
gds.beta.model.drop, deprecated by gds.model.drop
Return column shared renamed to published
modelName, modelType extracted to separate return columns
gds.beta.model.exists, deprecated by gds.model.exists
gds.beta.model.list, deprecated by gds.model.list
Return column shared renamed to published
modelName, modelType extracted to separate return columns
gds.alpha.model.delete, deprecated by gds.model.delete
gds.alpha.model.load, deprecated by gds.model.load
gds.alpha.model.publish, deprecated by gds.model.publish
Return column shared renamed to published
modelName, modelType extracted to separate return columns
gds.alpha.model.store, deprecated by gds.model.store
Promoting Pipeline Catalog procedures:
gds.beta.pipeline.drop, deprecated by gds.pipeline.drop
gds.beta.pipeline.exists, deprecated by gds.pipeline.exists
gds.beta.pipeline.list, deprecated by gds.pipeline.list
Procedure gds.alpha.systemMonitor is deprecated by gds.systemMonitor
Procedure gds.beta.listProgress is deprecated by gds.listProgress
Procedure gds.alpha.triangles is deprecated by gds.triangles
Deprecating gds.beta.steinerTree procedures
gds.beta.steinerTree.mutate, deprecated by gds.steinerTree.mutate
gds.beta.steinerTree.stats, deprecated by gds.steinerTree.stats
gds.beta.steinerTree.stream, deprecated by gds.steinerTree.stream
gds.beta.steinerTree.write, deprecated by gds.steinerTree.write
Deprecating gds.beta.spanningTree procedures
gds.beta.spanningTree.mutate[.estimate], deprecated by gds.spanningTree.mutate[.estimate]
gds.beta.spanningTree.stats[.estimate], deprecated by gds.spanningTree.stats[.estimate]
gds.beta.spanningTree.stream[.estimate], deprecated by gds.spanningTree.stream[.estimate]
gds.beta.spanningTree.write[.estimate], deprecated by gds.spanningTree.write[.estimate]
Deprecating gds.alpha.maxkcut procedures
gds.alpha.maxkcut.mutate[.estimate], deprecated by gds.maxkcut.mutate[.estimate]
gds.alpha.maxkcut.stream[.estimate], deprecated by gds.maxkcut.stream[.estimate]
Deprecating gds.beta.closeness procedures
gds.beta.closeness.mutate, deprecated by gds.closeness.mutate
The mutateProperty field has been removed, it can be accessed via the configuration.
gds.beta.closeness.stats, deprecated by gds.closeness.stats
gds.beta.closeness.stream, deprecated by gds.closeness.stream
gds.beta.closeness.write, deprecated by gds.closeness.write
The writeProperty field has been removed, it can be accessed via the configuration.
Deprecating gds.beta.leiden procedures
gds.beta.leiden.mutate[.estimate], deprecated by gds.leiden.mutate[.estimate]
gds.beta.leiden.stats[.estimate], deprecated by gds.leiden.stats[.estimate]
gds.beta.leiden.stream[.estimate], deprecated by gds.leiden.stream[.estimate]
gds.beta.leiden.write[.estimate], deprecated by gds.leiden.write[.estimate]
Deprecating gds.alpha.conductance procedures
gds.alpha.conductance.stream, deprecated by gds.conductance.stream
Deprecating gds.alpha.modularity procedures
gds.alpha.modularity.stream, deprecated by gds.modularity.stream
gds.alpha.modularity.stats, deprecated by gds.modularity.stats
gds.beta.graph.project.subgraph, deprecated by gds.graph.filter
Deprecating gds.alpha.scc procedures
gds.alpha.scc.stream, deprecated by gds.scc.stream
gds.alpha.scc.write, deprecated by gds.scc.write
The output of the procedure has been changed to reflect that of WCC:
setCount is replaced by componentCount.
writeProperty parameter is returned in the configuration map.
The values p1,...,p99,minComponentSize,maxComponentSize are returned inside the componentDistribution map.
nodePropertiesWritten dictates how many properties to nodes were written
Deprecating gds.alpha.backup procedure
gds.alpha.backup, deprecated by gds.backup
Deprecating gds.alpha.restore procedure
gds.alpha.restore, deprecated by gds.restore
Deprecating gds.beta.graph.generate procedures
gds.beta.graph.generate, deprecated by gds.graph.generate
Deprecating gds.beta.kmeans procedures
gds.beta.kmeans.mutate[.estimate], deprecated by gds.kmeans.mutate[.estimate]
gds.beta.kmeans.stats[.estimate], deprecated by gds.kmeans.stats[.estimate]
gds.beta.kmeans.stream[.estimate], deprecated by gds.kmeans.stream[.estimate]
gds.beta.kmeans.write[.estimate], deprecated by gds.kmeans.write[.estimate]
Procedure gds.beta.collapsePath.mutate is deprecated by gds.collapsePath.mutate
Deprecating gds.beta.node2vec procedures:
gds.beta.node2vec.mutate[.estimate], deprecated by gds.node2vec.mutate[.estimate]
gds.beta.node2vec.stream[.estimate], deprecated by gds.node2vec.stream[.estimate]
gds.beta.node2vec.write[.estimate], deprecated by gds.node2vec.write[.estimate]
Deprecating gds.graph.graphProperty procedures:
gds.alpha.graph.graphProperty.drop, deprecated by gds.graph.graphProperty.drop
gds.alpha.graph.graphProperty.stream, deprecated by gds.graph.graphProperty.stream
Procedure gds.alpha.kSpanningTree.write is deprecated by gds.kSpanningTree.write
Procedure gds.alpha.allShortestPaths.stream is deprecated by gds.allShortestPaths.stream
Deprecating gds.alpha.config procedures
gds.alpha.config.defaults.list, deprecated by gds.config.defaults.list
gds.alpha.config.defaults.set, deprecated by gds.config.defaults.set
gds.alpha.config.limits.list, deprecated by gds.config.limits.list
gds.alpha.config.limits.set, deprecated by gds.config.limits.set
Deprecating gds.alpha.graph.nodeLabel procedures
gds.alpha.graph.nodeLabel.write deprecated by gds.graph.nodeLabel.write
gds.alpha.graph.nodeLabel.mutate deprecated by gds.graph.nodeLabel.mutate
Procedure gds.alpha.userLog is deprecated by gds.userLog
Deprecating gds.alpha.sllpa procedures, use gds.sllpa
gds.alpha.sllpa.mutate is deprecated by gds.sllpa.mutate
gds.alpha.sllpa.stats is deprecated by gds.sllpa.stats
gds.alpha.sllpa.stream is deprecated by gds.sllpa.stream
gds.alpha.sllpa.write is deprecated by gds.sllpa.write
Deprecating gds.alpha.hits procedures, use gds.hits
gds.alpha.hits.mutate is deprecated by gds.hits.mutate
gds.alpha.hits.stats is deprecated by gds.hits.stats
gds.alpha.hits.stream is deprecated by gds.hits.stream
gds.alpha.hits.write is deprecated by gds.hits.write
Deprecating HashGNN beta procedures
gds.beta.hashgnn.mutate is deprecated by gds.hashgnn.mutate
gds.beta.hashgnn.mutate.estimate is deprecated by gds.hashgnn.mutate.estimate
gds.beta.hashgnn.stream is deprecated by gds.hashgnn.stream
gds.beta.hashgnn.stream.estimate is deprecated by gds.hashgnn.stream.estimate
Renamed gds.alpha.create.cypherDb to gds.ephemeral.database.create
Renamed gds.alpha.drop.cypherDb to gds.ephemeral.database.drop
Other changes
Added databaseLocation field to the result of gds.graph.list indicating whether the graph is backed by a local or remote database, or not backed by a database at all.