Nine algorithms, shipped.
Not a graph database that stored your edges and stopped there. PageRank converges. All-simple-paths bidirectional is 5–20× faster on real graphs. Per-hop EXPLAIN ANALYZE shows you what every step cost.
Friends-of-friends, transitive closure to depth N.
Per-hop WHERE predicate narrows the frontier.
MATCH (a)-[:KNOWS*1..3]->(b) - bounded recursion.
Source-to-target with explicit hop count.
Union-Find. Community detection without an extra library.
Clustering coefficient. Motif counting.
Bounded by (depth, max_paths). Discrete option enumeration.
Same answer, 5–20× faster on real graphs.
Power-method iteration. Influence ranking that converges.
Every relation step, every row count, every millisecond.
Graph queries fan out fast - one wrong predicate at depth 4 multiplies your work by orders of magnitude. EXPLAIN ANALYZE reports the frontier size, edges considered, and time per hop in a single response so you can see where the cost actually went.
{
"hops": [
{ "depth": 1, "frontier": 12, "edges": 38, "ms": 0.4 },
{ "depth": 2, "frontier": 184, "edges": 612, "ms": 1.1 },
{ "depth": 3, "frontier": 1942, "edges": 6204, "ms": 4.8 },
{ "depth": 4, "frontier": 8773, "edges": 28891, "ms": 19.7 }
],
"total_ms": 26.0
} - under evalGremlin / Cypher dialect shim. Today's surface is REST + JSON.
- post-1.0OLAP-style PageRank at >10B edges. Single-region today; multi-region is a 1.x conversation.