OpenCypher Compatibility Status
Last Updated: 2026-10-19 GraphForge Version: v0.5.0
Executive Summary
Section titled “Executive Summary”GraphForge v0.5.0 implements openCypher clauses, functions, operators and patterns (partial MERGE support — see Writing clauses) on a Rust core with Arrow results and Parquet-backed projects. Authoritative TCK status lives in TCK Compliance and the CI-enforced coverage matrix.
Design Philosophy
Section titled “Design Philosophy”GraphForge prioritizes:
- ✅ openCypher clauses, functions, operators and patterns — the TCK baseline in TCK Compliance is authoritative; MERGE supports single nodes and relationships between bound endpoints only (see Writing clauses)
- ✅ Parquet-backed projects with generation-based durability
- ✅ Zero-configuration embedded usage
- ✅ Temporal/spatial types — nanosecond precision, IANA timezones, extreme years
- ✅ Arrow-first results —
forge.execute()and analyst verbs return Apache Arrow Tables - ✅ Hybrid text/vector search via
forge.find()/forge.index() - ❌ Multi-database / distributed features (single-node embedded design)
- ❌ Serializable or high-concurrency multi-writer workloads (
single_writeris the default; opt-inqueued_writerandoptimistic_multi_writermodes do not claim serializable isolation — see write modes)
Feature Matrix
Section titled “Feature Matrix”Reading clauses
Section titled “Reading clauses”- MATCH — node and relationship patterns, multi-pattern, property filters
- WHERE — comparisons, logical operators, NULL ternary logic
- RETURN — projection, aliasing,
DISTINCT - WITH — query chaining and filtering
- ORDER BY / LIMIT / SKIP
- OPTIONAL MATCH
- UNWIND, UNION / UNION ALL
- EXISTS { } / COUNT { } subqueries
Writing clauses
Section titled “Writing clauses”- CREATE, SET, REMOVE, DELETE, DETACH DELETE
- MERGE (partial) — standalone new-node upsert and relationship MERGE with already-bound endpoints; multi-node construction and row-conditional map actions are rejected. See implementation-status/clauses.md.
Aggregations
Section titled “Aggregations”- COUNT, SUM, AVG, MIN, MAX, COLLECT
- Implicit GROUP BY for non-aggregated columns
- stDev / percentileDisc where covered by the corpus
Patterns
Section titled “Patterns”- Directed and undirected relationships, multiple types (
|) - Variable-length paths (
*,*1..3, named paths) - Pattern comprehensions and list comprehensions
Functions and types
Section titled “Functions and types”String, math, list, aggregation, predicate, temporal, spatial, graph, and conversion functions used by the openCypher TCK. Temporal values support nanosecond precision and IANA timezones. See the Cypher guide for examples.
Analyst surface (non-Cypher)
Section titled “Analyst surface (non-Cypher)”Graph algorithms and hybrid search are not Cypher CALL procedures. They
are the seven Rust-backed verbs — rank, cluster, paths, analyze,
similar, find, plus execute — returning Arrow Tables. See
Algorithm Verbs.
Out of scope
Section titled “Out of scope”These remain outside GraphForge’s embedded design:
- Enterprise auth / RBAC / multi-tenant user management
- Multi-database switching and distributed clusters
- Explicit user-managed B-tree index DDL (storage uses Parquet + derived indexes)
- High-availability replication
Comparison with Neo4j
Section titled “Comparison with Neo4j”| Feature Category | GraphForge v0.5.0 | Neo4j |
|---|---|---|
| Core Cypher | ✅ openCypher TCK corpus | ✅ Full Cypher |
| Temporal / spatial | ✅ Supported | ✅ Supported |
| Algorithms | ✅ Analyst verbs → Arrow | ✅ GDS / procedures |
| Deployment | ✅ Embedded (pip install) |
⚠️ Service |
| Persistence | ✅ Parquet project directory | ✅ Native store |
| Results | ✅ Apache Arrow Tables | Driver rows |
| Scale | Research / notebook | Billions of nodes |
| Multi-user | ⚠️ Embedded write modes: single_writer (default), opt-in queued_writer / optimistic_multi_writer; no auth / RBAC |
✅ Auth / RBAC |
Summary: GraphForge is a lightweight, embedded alternative for single-user analytical workflows — not a production multi-tenant database replacement.
Usage recommendations
Section titled “Usage recommendations”Good fits
Section titled “Good fits”- Notebook-based analysis and knowledge-graph prototyping
- LLM entity/relationship storage and retrieval context
- Small to medium graphs (see Scale Limits)
- Embedded single-user applications and teaching Cypher
Not recommended
Section titled “Not recommended”- Production multi-tenant web applications
- Distributed queries or HA clusters
- Workloads that need serializable concurrent writes on one project
(
optimistic_multi_writeris not SSI and admits write-skew; see concurrency and recovery)
Roadmap
Section titled “Roadmap”See Releases roadmap. Current product line: v0.5.0.