Skip to content

OpenCypher Compatibility Status

Last Updated: 2026-10-19 GraphForge Version: v0.5.0


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.

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_writer is the default; opt-in queued_writer and optimistic_multi_writer modes do not claim serializable isolation — see write modes)

  • 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
  • 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.
  • COUNT, SUM, AVG, MIN, MAX, COLLECT
  • Implicit GROUP BY for non-aggregated columns
  • stDev / percentileDisc where covered by the corpus
  • Directed and undirected relationships, multiple types (|)
  • Variable-length paths (*, *1..3, named paths)
  • Pattern comprehensions and list comprehensions

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.

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.


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

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.


  • 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
  • Production multi-tenant web applications
  • Distributed queries or HA clusters
  • Workloads that need serializable concurrent writes on one project (optimistic_multi_writer is not SSI and admits write-skew; see concurrency and recovery)

See Releases roadmap. Current product line: v0.5.0.