Notes
relTypes Parameter
All procedures that accept a relTypes parameter use comma-separated relationship type names. To traverse all relationship types, pass an empty string '' or omit the parameter where it is optional:
CALL algo.pagerank() -- all types (parameter omitted)
CALL algo.wcc('') -- all types (empty string)
CALL algo.wcc('KNOWS,FOLLOWS') -- only KNOWS and FOLLOWS edges
direction Parameter
Where supported, the direction parameter controls which edges are considered:
-
"OUT"— only outgoing edges from each vertex -
"IN"— only incoming edges to each vertex -
"BOTH"— edges in either direction (default for most algorithms)
Config Map Parameters
Several algorithms (PageRank, Louvain, Betweenness, LabelPropagation) accept an optional configuration map as their first argument:
CALL algo.pagerank({dampingFactor: 0.9, maxIterations: 50})
YIELD node, score
Memory Considerations
Algorithms marked CPU+RAM build in-memory data structures that scale with V² or E²:
| Algorithm | Memory Usage |
|---|---|
|
O(V²) distance matrix |
|
O(V²) capacity matrix |
|
O(V²) weight matrix |
|
O(V²) similarity matrix |
|
O(V²) similarity pairs |
|
O(V²) neighbor bit-matrix |
|
O(V²) neighbor bit-matrix |
|
O(V²) neighbor bit-matrix (built twice, once per decomposition pass) |
|
O(V²) neighbor bit-matrix, plus a search stack that can itself reach O(V²) at its deepest point |
As of version 26.9.1, every allocation above — including the graph itself (the loaded vertex list, its RID index, and the adjacency list every procedure builds from it, not only the table in this list) — is checked against the arcadedb.cypher.algoMaxWorkingMemory setting before it is allocated, and the call is refused with a client error naming the offending component rather than risking an OutOfMemoryError. Because the setting now also covers the graph load itself, a call that used to succeed under a given limit may now be refused if the graph alone consumes a large share of that limit — raise the setting if a call that previously worked starts being refused after upgrading. The default auto-scales with the JVM’s maximum heap (one eighth of it, never below 64 MB).
For graphs with more than a few thousand vertices, these algorithms may still require significant heap space even within the budget.