Skip to content

Neo4j Compatibility Matrix

CoordiNode is OpenCypher-compatible and supports common Neo4j workloads. This document tracks what works today and what's planned. Full Neo4j ecosystem parity (Bolt, APOC, GDS) is a long-term goal, not a current state.

Query Language (OpenCypher)

FeatureStatusNotes
MATCH / OPTIONAL MATCHSupportedFull pattern matching
WHERE (comparisons, boolean, IS NULL)SupportedAll standard operators
RETURN / ORDER BY / LIMIT / SKIPSupportedWith expressions and aliases
CREATE / MERGE / DELETE / DETACH DELETESupportedFull write operations
SET / REMOVESupportedProperties and labels
WITH / UNWINDSupportedPipeline and list expansion
Variable-length paths *1..NSupportedWith configurable depth bounds
Shortest pathSupportedBFS-based
CASE WHENSupportedSimple and searched forms
AggregationsSupportedcount, sum, avg, min, max, collect, percentile
UPSERT (atomic)ExtensionNot in standard Neo4j Cypher
AS OF TIMESTAMPExtensionTime-travel reads (7-day retention)
vector_distance()ExtensionNative vector search
text_match() / text_score()ExtensionNative full-text search
EXPLAIN / EXPLAIN SUGGESTExtensionQuery advisor with suggestions
CALL proceduresPlannedv1.2 milestone
LOAD CSVPlannedv1.2 milestone
FOREACHPlannedv1.0 milestone

Data Types

TypeStatusNotes
String, Integer, Float, BooleanSupportedStandard types
List, MapSupportedHomogeneous lists, string-keyed maps
Point (spatial)SupportedWGS84 lat/lon
DateTime / TimestampSupportedMicrosecond precision
VectorExtensionUp to 65536 dimensions
BlobExtensionContent-addressed binary storage
NULLSupportedThree-valued logic

Indexes

TypeStatusNotes
B-tree (single property)SupportedStandard performance index
Composite (multi-property)SupportedCompound B-tree
Unique constraintSupportedWith commit-time enforcement
Text index (full-text)SupportedBM25, fuzzy, phrase, 23+ languages
Vector index (HNSW)ExtensionApproximate nearest neighbor
Vector index (Flat)ExtensionExact NN for small datasets
Partial indexExtensionIndex with filter predicate
TTL indexExtensionAutomatic expiration
Point indexPlannedSpatial R-tree
Lookup indexPlannedNeo4j-specific

Protocols

ProtocolStatusNotes
Bolt (Neo4j wire protocol)Planned (v1.2)Neo4j drivers will connect without changes
gRPCSupportedNative high-performance API
HTTP/RESTSupportedJSON API with gRPC transcoding
GraphQLPlannedAuto-generated schema (SDL generation implemented, server wiring in progress)
WebSocketPlannedSubscriptions and live queries

Drivers

DriverStatusNotes
Official gRPC client (Rust)SupportedGenerated from proto
Any gRPC clientSupportedProto definitions available
Neo4j Python driverPlanned (v1.2)Via Bolt protocol
Neo4j JavaScript driverPlanned (v1.2)Via Bolt protocol
Neo4j Java driverPlanned (v1.2)Via Bolt protocol
Neo4j Go driverPlanned (v1.2)Via Bolt protocol

What's Different from Neo4j

CoordiNode has, Neo4j doesn't:

  • Native vector search (HNSW) on nodes AND edges
  • Encrypted search (SSE) — query encrypted fields without decryption (programmatic API; Cypher DDL planned)
  • Time-travel queries (AS OF TIMESTAMP)
  • Partial indexes with filter predicates
  • TTL indexes with automatic cascade delete
  • Built-in query advisor (EXPLAIN SUGGEST)
  • Free 3-node HA clustering (Raft consensus implemented; server binary wiring in progress — Neo4j charges per-node for clustering)
  • UPSERT MATCH as atomic operation

Neo4j has, CoordiNode doesn't (yet):

  • Bolt protocol (planned v1.2)
  • APOC procedures library (partial support planned)
  • LOAD CSV (planned v1.2)
  • GDS (Graph Data Science) library
  • Neo4j Browser / Bloom visualization
  • Cypher subqueries (CALL {} syntax)