Release Date: 8 May 2020

Compatibility: GDS 1.2.1 is compatible with Neo4j 4.0.0 and above. GDS 1.2 is not compatible with Neo4j 3.5.x.

New Features:

  • Triangle Count has moved into the product tier. This means it is now called via gds.triangleCount, and all associated bugs have been fixed. We have also added an optional maxDegree parameter that users can specify to eliminate dense nodes and speed up calculations.
    • This adds the following new procedures: gds.triangleCount.stream, gds.triangleCount.write, gds.triangleCount.mutate, gds.triangleCount.stats
    • This removes the alpha procedures gds.alpha.triangleCount.stream, gds.alpha.triangleCount.write, and gds.alpha.triangleCount.stats
    • The global triangle count is available as an output of the .stats or .write mode
  • Clustering Coefficient . has moved into the product tier (and is now separate from triangleCount). It can now be called via gds.localClusteringCoefficient, and all bugs have been fixed.
    • This adds the following new procedures: gds.localClusteringCoefficient.stream, gds.localClusteringCoefficient.write, gds.localClusteringCoefficient.mutate, gds.localClusteringCoefficient.stats
    • The global clustering coefficient is available as an output of the .stats or .write mode
  • Graph export has moved to the beta tier, and can now export a new graph as a new database in Neo4j 4.0’s multidatabase environment.
  • All of our product tier community detection algorithms now support assigning consecutive integers for community IDs by using the optional consecutiveID parameter.
  • gds.graph.list now outputs sizeInBytes and memoryUsage to enable users to see the memory footprint of loaded graphs.
  • We have added node label filters to gds.graph.writeNodeProperties, gds.graph.removeNodeProperties, and gds.util.nodeProperty
  • We have added a centralityDistribution result field for page pank’s write, stats, and mutate procedures

Breaking changes:

  • GDS 1.2 has dropped support for Neo4j 3.5, and now only works in 4.0
  • gds.alpha.triangle.stream has been renamed gds.alpha.triangles
  • storeDir has been removed from gds.graph.export, instead it will create a new database in the databases directory of your current installation.
  • creationTime and modificationTime have been updated to used ZonedDateTime
  • We have removed explicit definition of property mappings and aggregations from cypher projections

Bug fixes:

  • We’ve fixed a bug in the maxDegree parameter for triangle count where using it caused an error.
  • Fixed gds.graph.writeNodeProperties where it did not return the count of mutated properties, and incorrectly wrote 0 for nodes which were missing properties.
  • Graphs created via Cypher projections no longer return inferred projections (they just return the query)
  • Corrected a bug where mutated node properties had size 0
  • Fixed a bug where community detection using a seed property from an in-memory node property failed to write results.
  • Fixed a bug where similarity algorithms would throw on weight vectors containing null