72+ operators across read, write, projection, composition, schema, and skill categories. Complete reference below.
| Operator | Syntax |
|---|
| MATCH (node) | MATCH (n:Label) |
| MATCH (relationship) | MATCH (a)-[r:TYPE]->(b) |
| MATCH (variable-length) | MATCH (a)-[:TYPE*1..3]->(b) |
| MATCH (property shorthand) | MATCH (n:Label {key: value}) |
| OPTIONAL MATCH | OPTIONAL MATCH (a)-[r]->(b) |
| WHERE = | WHERE n.key = value |
| WHERE <> | WHERE n.key <> value |
WHERE > < >= <= | WHERE n.age > 25 |
| WHERE AND/OR/NOT | WHERE a AND NOT b |
| WHERE IN | WHERE n.name IN ['Alice', 'Bob'] |
| WHERE IS NULL | WHERE n.email IS NULL |
| WHERE IS NOT NULL | WHERE n.email IS NOT NULL |
| WHERE CONTAINS | WHERE n.name CONTAINS 'li' |
| WHERE STARTS WITH | WHERE n.name STARTS WITH 'A' |
| WHERE ENDS WITH | WHERE n.name ENDS WITH 'ce' |
| WHERE EXISTS() | WHERE EXISTS(n.email) |
| WHERE =~ (regex) | WHERE n.name =~ '.*son$' |
| WHERE id(n) = N | WHERE id(n) = 42 |
| shortestPath | shortestPath (a:L {k:v}), (b:L {k:v}) |
| Operator | Syntax |
|---|
| CREATE (node) | CREATE (n:Label {props}) |
| CREATE (relationship) | CREATE (a:L)-[:T]->(b:L) |
| MERGE | MERGE (n:Label {key: value}) |
| DELETE | MATCH (n) WHERE ... DELETE n |
| DETACH DELETE | MATCH (n) WHERE ... DETACH DELETE n |
| SET | MATCH (n) WHERE ... SET n.k = v |
| REMOVE | MATCH (n) WHERE ... REMOVE n.k |
| Operator | Syntax |
|---|
| RETURN | RETURN expr, expr |
| RETURN * | RETURN * |
| RETURN ... AS | RETURN n.name AS name |
| DISTINCT | RETURN DISTINCT expr |
| ORDER BY | ORDER BY expr [ASC|DESC] |
| SKIP | SKIP n |
| LIMIT | LIMIT n |
| Operator | Syntax |
|---|
| WITH | MATCH (n) WITH n WHERE ... RETURN n |
| CASE WHEN | CASE WHEN cond THEN val ELSE val END |
| UNWIND | UNWIND list AS item |
| UNION | query1 UNION query2 |
| Arithmetic | n.age + 1, n.salary * 1.1 |
| Operator | Syntax | Notes |
|---|
| IS LABELED | WHERE n IS LABELED :Person | Label predicate |
| ELEMENT_ID | RETURN ELEMENT_ID(n) | Stable element identifier |
| NEXT WHEN/THEN/ELSE/END | RETURN count(*) NEXT WHEN c > 10 THEN ... ELSE ... END | Conditional pipeline |
| START TRANSACTION | START TRANSACTION [READ ONLY | READ WRITE] | Explicit transaction |
| COMMIT / ROLLBACK | COMMIT / ROLLBACK | Transaction control |
| Operator | Syntax |
|---|
| CREATE INDEX | CREATE INDEX ON :Label(prop) |
| DROP INDEX | DROP INDEX ON :Label(prop) |
| CREATE CONSTRAINT (UNIQUE) | CREATE CONSTRAINT ON :Label(prop) ASSERT UNIQUE |
| CREATE CONSTRAINT (PRIMARY KEY) | CREATE CONSTRAINT ON :Label(prop) ASSERT PRIMARY KEY |
| CREATE CONSTRAINT (SEMANTIC UNIQUE) | CREATE CONSTRAINT ON :Label(prop) ASSERT SEMANTIC UNIQUE THRESHOLD 0.95 |
| DROP CONSTRAINT | DROP CONSTRAINT ON (n:L) ASSERT n.k IS UNIQUE |
| Function |
|---|
count(expr) |
sum(expr) |
avg(expr) |
collect(expr) |
| Category | Functions |
|---|
| Introspection | id(), labels(), type() |
| Conversion | toString(), toInteger(), toFloat() |
| Null | coalesce() |
| String | toUpper, toLower, trim, left, right, substring, replace, split, reverse |
| Procedure |
|---|
db.nodeCount/relCount/labels/types/keys/version |
db.indexes/constraints/stats/procedures |
algo.pageRank |
algo.connectedComponents |
algo.communityDetection |
| Operator | Syntax |
|---|
| CREATE SKILL | CREATE SKILL name FROM PROMPT '...' ALLOWED ON [...] TIER SYMBOLIC |
| PROCESS NODE | PROCESS NODE (n:Label) |
| REPROCESS EDGES | REPROCESS EDGES WHERE confidence < 0.6 |