Graph Queries

Edge Operations

GRAPH INSERT EDGE IN 'edges' FROM 'alice' TO 'bob' TYPE 'knows' PROPERTIES { since: 2020 };
GRAPH DELETE EDGE IN 'edges' FROM 'alice' TO 'bob' TYPE 'knows';

The IN '<collection>' clause is required — edges are overlays on a named document collection. Statements without IN fail to parse.

Traversal

GRAPH TRAVERSE FROM 'alice' DEPTH 3;
GRAPH TRAVERSE FROM 'alice' DEPTH 2 LABEL 'follows' DIRECTION out;
GRAPH NEIGHBORS OF 'bob' LABEL 'follows' DIRECTION both;
GRAPH PATH FROM 'alice' TO 'charlie' MAX_DEPTH 5 LABEL 'knows';

MATCH Pattern Queries

Cypher-subset pattern matching:

MATCH (a:Person)-[:knows]->(b:Person)-[:knows]->(c:Person)
WHERE a.name = 'Alice'
RETURN b.name, c.name;

-- Variable-length paths
MATCH (u:User)-[:follows*2..3]->(rec:User) WHERE u.id = 'you' RETURN DISTINCT rec.id LIMIT 10;

-- Anti-join
MATCH (a:User)-[:follows]->(b:User) WHERE NOT EXISTS { MATCH (b)-[:blocked_by]->(a) } RETURN a.id, b.id;

-- OPTIONAL MATCH
MATCH (a:Person)-[:knows]->(b:Person) OPTIONAL MATCH (b)-[:works_at]->(c:Company) RETURN a.name, b.name, c.name;

Algorithms

GRAPH ALGO PAGERANK ON 'social' DAMPING 0.85 ITERATIONS 20 TOLERANCE 1e-7;
GRAPH ALGO PAGERANK ON 'social' DAMPING 0.85 PERSONALIZATION {"alice": 1.0, "bob": 0.5};
GRAPH ALGO WCC ON 'knowledge_graph';
GRAPH ALGO SSSP ON 'routes' FROM 'city:chicago';
GRAPH ALGO COMMUNITY ON 'products' ITERATIONS 10 RESOLUTION 1.0;
GRAPH ALGO BETWEENNESS ON 'network' SAMPLE 500;
GRAPH ALGO KCORE ON 'collaboration';
GRAPH ALGO TRIANGLES ON 'social' MODE global;
GRAPH ALGO DIAMETER ON 'web';

Available: PAGERANK, WCC, COMMUNITY (or LABEL_PROPAGATION alias), LCC, SSSP, BETWEENNESS, CLOSENESS, HARMONIC, DEGREE, LOUVAIN, TRIANGLES, DIAMETER, KCORE.

Personalized PageRank uses the optional PERSONALIZATION clause to bias node importance toward specified seed nodes. The JSON object maps node IDs to seed weights (higher weight = more biased teleport probability toward that node). Example: PERSONALIZATION {"alice": 1.0, "bob": 0.5} makes PageRank favor paths leading to Alice twice as much as Bob.

GraphRAG

GRAPH RAG FUSION ON entities
  QUERY $embedding VECTOR_FIELD 'embedding' VECTOR_TOP_K 50 EXPANSION_DEPTH 2
  EDGE_LABEL 'related_to' FINAL_TOP_K 10 RRF_K (60.0, 35.0);