Release Date: 26 September 2019

Breaking Changes:

  • Graph algorithms 3.5.11.0 is only compatible with Neo4j 3.5.9 and above. If you cannot update your Neo4j installation, the most recent compatible release for Neo4j 3.5.8 is 3.5.8.1
  • Heavy Graph has been removed from the library:  In the algorithm API, using graph:'heavy' will default to a Huge graph, and and the default in memory graph representation for algorithms has been moved to heavy. All algorithms work with Heavy graph; the only visible change to users may be slight differences in scoring calculations for algorithms like pageRank (due to using double type precision).

New Features

  • Representing multiple relationships with huge graph: When loading relationships into the in-memory graph using the huge graph loader (algo.graph.load) users can now specify multiple relationship types to load
  • Relationship aggregation in huge graph: When loading multiple relationships of the same type, users can now aggregate relationship properties using functions like min, max, or sum
  • Running algorithms on multiple relationships: With the new multi-relationship huge graph infrastructure, you can now specify multiple relationships to run the product supported algorithms (PageRank, UnionFind, Label Propagation, Louvain) over. Note that the algorithms treat these relationships as if they were the same relationship type internally.

Bug Fixes

  • Default iterations for Label Propagation: We have updated the default number of iterations for label propagation to 10 (previously was 1). This may result in different numbers of communities if you had previously run label propagation with the default settings.

Labs Algorithms

  • Approximate Nearest Neighbors: Our labs team has just released a prototype of the Approximate Nearest Neighbors algorithm, which lets you run similarity calculations over an entire graph without comparing every pair of nodes. This can be run via the algo.labs.ml.ann and algo.labs.ml.ann.stream procedures.