FalkorDB Algorithms Overview

FalkorDB offers a suite of graph algorithms optimized for high-performance graph analytics.
These algorithms are accessible via the CALL algo.<name>() interface and are built for speed and scalability using matrix-based computation.

This overview summarizes the available algorithms and links to their individual documentation.

Pathfinding Algorithms

  • BFS
    Performs a breadth-first search starting from a source node and optionally stopping at target nodes or maximum depth.

  • SPpath
    Computes the shortest paths between a source and one or more destination nodes.

  • SSpath
    Enumerates all paths from a single source node to other nodes, based on constraints like edge filters and depth.

  • MSF
    Computes the Minimum Spanning Forest of a graph, finding the minimum spanning tree for each connected component.

For path expressions like shortestPath() used directly in Cypher queries, refer to the Cypher Path Functions section.

Centrality Measures

  • PageRank
    Computes the PageRank score of each node in the graph, representing its influence based on the structure of incoming links.

  • Betweenness Centrality
    Calculates the number of shortest paths that pass through each node, indicating its importance as a connector in the graph.

Community Detection

Frequently Asked Questions 5
How do I call a graph algorithm in FalkorDB?

All algorithms are invoked using the CALL algo.<name>() syntax within a Cypher query. Each algorithm returns results via YIELD clauses. See individual algorithm pages for specific syntax.

Are FalkorDB algorithms optimized for large graphs?

Yes. FalkorDB algorithms use matrix-based computation for high performance and scalability, leveraging sparse matrix representations internally.

What is the difference between algo.SPpaths and algo.SSpaths?

algo.SPpaths finds shortest paths between a single source and a single target node. algo.SSpaths finds shortest paths from a single source to all reachable nodes. Use SPpaths for point-to-point queries and SSpaths for broader exploration.

Can I filter which nodes and edges are included in an algorithm?

Yes. Most algorithms accept optional nodeLabels and relationshipTypes parameters that let you restrict computation to specific subsets of the graph.

Which algorithm should I use for community detection?

Use WCC to find disconnected components (groups of nodes connected by any path). Use CDLP (Label Propagation) to detect densely connected communities within a connected graph. See WCC and CDLP for details.


Table of contents