Fourteen graph methods, shipped.
Not a graph database that stored your edges and stopped there. PageRank, betweenness, eigenvector centrality, label-propagation communities, plus Node2Vec and GraphSAGE node embeddings — all on the same direction-tagged relation keys. Cypher v3 covers CALL subqueries, nested FOREACH, list comprehensions, MERGE, DELETE, and multi-hop undirected. 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.
Brandes' algorithm. Who sits on every shortest path?
Power iteration with bipartite-safe (A+I) shift. Influence by company kept.
Seedable, reproducible community labels. Converges in ~10-20 iterations.
Biased random-walk embeddings with disk persistence. p/q tunable for breadth-first vs depth-first emphasis.
Attribute-aware node embeddings with three aggregator choices — Mean, MaxPool, and LSTM. Deterministic per-(node, layer) shuffle.
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 dialect shim. Cypher v3 is GA on REST + JSON; Gremlin parity is a parser-only effort.
- post-1.0OLAP-style PageRank at >10B edges. Single-region today; multi-region is a 1.x conversation.