Graph Algorithms Supported In Neo4j

Kevin Feasel



Amy Hodler gives us a quick summary of fifteen separate algorithms for traversing a graph in Neo4j:

6. PageRank

What it does: Estimates a current node’s importance from its linked neighbors and then again from their neighbors. A node’s rank is derived from the number and quality of its transitive links to estimate influence. Although popularized by Google, it’s widely recognized as a way of detecting influential nodes in any network.

How it’s used: PageRank is used in quite a few ways to estimate importance and influence. It’s used to suggest Twitter accounts to follow and for general sentiment analysis.

PageRank is also used in machine learning to identify the most influential features for extraction. In biology, it’s been used to identify which species extinctions within a food web would lead to biggest chain reaction of species death.

If you are interested in getting into graph databases, it’s useful to know these algorithms.

Related Posts

The Semantics Of GraphQL

Kevin Feasel



Adrian Colyer reviews a paper on the mathematical properties behind GraphQL: The authors study the computational complexity of GraphQL looking at three central questions: The evaluation problem: what can we say about the complexity of GraphQL query evaluation? The enumeration problem: how efficiently can we enumerate the results of a query in practice? The response size problem: how large can responses […]

Read More

Closure Tables: Graph Data In Relational Form

Phil Factor shows how to use the concept of closure tables to represent graph-style data in a relational database: Closure tables are plain ordinary relational tables that are designed to work easily with relational operations. It is true that useful extensions are provided for SQL Server to deal with hierarchies. The HIERARCHYID data type and the common […]

Read More


April 2018
« Mar May »