Overview Introduction Graph Algorithms Library Centralities Community Detection Path Finding Installation Further reading Introduction Graph algorithms are used to compute metrics for graphs, nodes, or relationships. They can provide insights on relevant entities (centralities, ranking) in the graph or inherent… Read more →
Graph algorithms are used to compute metrics for graphs, nodes, or relationships.
They can provide insights on relevant entities (centralities, ranking) in the graph or inherent structures such as communities (community-detection, graph-partitioning, clustering).
Graph Algorithms Library
Neo4j Graph Algorithms is a library that provides efficiently implemented, parallel versions of common graph algorithms for Neo4j 3.x exposed as Cypher procedures.
It currently contains implementations for the following algorithms:
These algorithms determine the importance of distinct nodes in a network.
Page Rank (
Betweenness Centrality (
Closeness Centrality (
These algorithms evaluate how a group is clustered or partitioned, as well as its tendency to strengthen or break apart.
Label Propagation (
(Weakly) Connected Components (
Strongly Connected Components (
Triangle Count / Clustering Coefficient (
These algorithms help find the shortest path or evaluate the availability and quality of routes.
Minimum Weight Spanning Tree (
All Pairs- and Single Source – Shortest Path (
Download the library from the downloads page and put the jar into
- Restart Neo4j
We’re now ready to start using the graph algorithms. Run the following query to check that the algorithms library has been picked up by Neo4j:
If we don’t see any rows we’ll need to revisit the installation instructions.
We have an Algorithms section in the user guide which goes into the history of each algorithm and the use cases for which they’re applicable.
Our colleague Amy Holder has also written an excellent blog post – The Top 13 Resources for Understanding Graph Theory & Algorithms – in which she lists some of her favorite books and online courses.