You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Track missing Cypher features: list parameters, reduce, UNION and functions #20
UNION and UNION ALL, and CALL subqueries (L182-L185).
Functions (L249-L251): reduce; math (abs, round, floor, ceil, sqrt); most string and list functions; the list predicates any, all, none and single; and relationships(p).
Named paths other than shortestPath (p = (a)-[*]->(b)).
Evidence
The official LDBC IC14 text uses reduce(), so the benchmark runs a port with pattern comprehensions instead. List parameters are the normal way to pass id sets from an application. #3 covers a related bug in integer list literals.
Suggested fix
Treat this as a tracking issue and split it into one pull request per group, in roughly this order: list and map parameters (bound as Arrow list and struct scalars), parameters in SKIP/LIMIT, reduce and the list predicates (planned like list comprehensions, which already exist), math functions (direct DataFusion equivalents), UNION, then named paths and relationships(p). Follow openCypher's standardisation scope.
Acceptance criteria (per group)
Parser, semantic and execution tests, in Rust and Python, including nulls and empty lists.
docs/cypher.md moves the feature from the gaps to the supported lists, with an example.
For reduce: the LDBC IC14 official text runs unchanged and matches the golden answer.
Every group in this issue is supported on main (#55), and all of them are in docs/cypher.md: list and map parameters, parameters in SKIP/LIMIT, UNION/UNION ALL, read-only CALL { ... } subqueries, reduce, the list predicates all/any/none/single, the math functions abs/round/floor/ceil/sqrt, the string and list functions, named paths, and relationships(p). Separate issues should track any remaining gaps, such as WITH SKIP or procedure CALL ... YIELD.
Activity
Add ordered reduce and list predicates (#45)
Add map/entity keys and node labels (#44)
Add Cypher string and list scalar functions (#43)
Add numeric scalar functions with strict Cypher types (#42)
feat(cypher): bind parameters in SKIP and LIMIT (#41)
feat(cypher): support typed list and map parameters (#40)
Reuse scalar query templates within each engine snapshot (#34)
Add scoped UNION and UNION ALL queries (#46)
Preserve named path and relationship values (#47)
feat: integrate cypher, csr and engine work for 0.3.0 (#55)
prrao87 commentedon Oct 27, 2026
Every group in this issue is supported on main (#55), and all of them are in
docs/cypher.md: list and map parameters, parameters inSKIP/LIMIT,UNION/UNION ALL, read-onlyCALL { ... }subqueries,reduce, the list predicatesall/any/none/single, the math functionsabs/round/floor/ceil/sqrt, the string and list functions, named paths, andrelationships(p). Separate issues should track any remaining gaps, such asWITH SKIPor procedureCALL ... YIELD.