ArcFlow
Company
Managed Services
Markets
  • News
  • LOG IN
  • GET STARTED

OZ brings Visual Intelligence to physical venues, a managed edge layer that lets real-world environments see, understand, and act in real time.

Talk to us

ArcFlow

  • World Models
  • Sensors

Managed Services

  • OZ VI Venue 1
  • Case Studies

Markets

  • Sports
  • Broadcasting
  • Robotics

Company

  • About
  • Technology
  • Careers
  • Contact

Ready to see it live?

Talk to the OZ team about deploying at your venues, from a single pilot match to a full regional rollout.

Schedule a deployment review

© 2026 OZ. All rights reserved.

LinkedIn
ArcFlow Docs
Start
  • Quickstart
  • Installation
  • Bindings
  • Platforms
  • Get Started
  • Cookbook
Concepts
  • World Model
  • Graph Model
  • Evidence Model
  • Observations
  • Confidence & Provenance
  • Proof Artifacts & Gates
  • SQL vs GQL
  • Graph Patterns
  • Parameters
  • Query Results
  • Persistence & WAL
  • Snapshot-Pinned Reads
  • Error Handling
  • Execution Models
  • Causal Edges
  • Adapter Discipline
  • Time Decay
  • Layers
  • 1. World Store
  • 1a. World Store · Smart Reader
  • 2. Perception Lake
  • 3. World Graph
  • 4. Query Engine
  • 5. Live Surface
  • 6. Event Bus
  • 7. Behavior Engine
  • 8. Algorithm Library
  • Virtual Computed Columns
  • Threading Model
  • Typed ID Contract
WorldCypher
  • Overview
  • Execution Options
  • Statements
  • MATCH
  • WHERE
  • RETURN
  • OPTIONAL MATCH
  • CREATE
  • SET
  • MERGE
  • DELETE
  • REMOVE
  • Composition
  • WITH
  • UNION
  • UNWIND
  • CASE
  • Schema
  • Schema Overview
  • Indexes
  • Constraints
  • Functions
  • Built-in Functions
  • Aggregations
  • Procedures
  • Shortest Path
  • EXPLAIN
  • PROFILE
  • Temporal Queriesfacet
  • Spatial Queriesfacet
  • Algorithmsfacet
  • Triggers
Capabilities
  • Live Queries
  • Vector Search
  • Trusted RAG
  • Spatial Knowledge
  • Temporal
  • Behavior Graphs
  • Graph Algorithms
  • Skills
  • CREATE SKILL
  • PROCESS NODE
  • REPROCESS EDGES
  • Sync
  • Programs
  • GPU Acceleration
  • Agent-Native
  • MCP Server
  • Event Sourcing
  • Intent Relay
  • Event Bus
Use Cases
  • Agent Tooling
  • Trusted RAG
  • Knowledge Management
  • Behavior Graphs
  • Autonomous Systems
  • Physical AI
  • Digital Twins
  • Robotics & Perception
  • Sports Analytics
  • Grounded Neural Objects
  • Fraud Detection
Walkthroughs
    Guides
  • Agent Integration
  • Building a World Model
  • Modeling a Social Graph
  • Build a RAG Pipeline
  • Using Skills
  • Behavior Graphs
  • Swarm & Multi-Agent
  • Fleet Coordination
  • Migrate from Cypher / Neo4j
  • From SQL to GQL
  • Filesystem Workspace
  • Data Quality
  • Code Intelligence
  • Scale Patterns
  • v0.7 → v0.8 Lakehouse Fast-Path
  • Tutorials
  • Knowledge Graph
  • Entity Linking
  • Vector Search
  • Graph Algorithms
  • Recipes
  • CRUD
  • Multi-MATCH
  • MERGE (Upsert)
  • Full-Text Search
  • Batch Projection
  • Multi-Source Observation
  • Sports Analytics
Operations
  • CLI
  • REPL Commands
  • Snapshot & Restore
  • Filesystem Projection
  • Plugin Management
  • Agent Governance
  • Server Modes & PG Wire
  • Persistence (ops)
  • Import & Export
  • Deployment
  • Deployment Modes
  • Daemon (UDS)
  • Why not Docker
  • Architecture
  • Engine Architecture
  • Cloud Architecture
  • Sync Protocol (Deep Dive)
  • World Graph Substrate (Preview)
Reference
  • TypeScript API
  • Glossary
  • Naming & Domain Map
  • Data Types
  • Operators
  • Error Codes
  • GQL Reference
  • Known Issues
  • Versioning
  • Licensing
  • Conformance
  • GQL Conformance
  • openCypher TCK
  • Extension Regressions
GQL Reference
    Conformance
  • Conformance Dashboard
  • openCypher TCK Results
  • Extension Regressions
  • Features
  • MATCH Basic
  • CREATE Nodes Edges
  • SET REMOVE Properties
  • DELETE Detach DELETE
  • RETURN WITH WHERE
  • Order BY Limit Skip
  • Order BY Nulls First Last
  • UNWIND
  • Aggregate Functions
  • OPTIONAL MATCH
  • Variable Length Paths
  • Label OR AND NOT Expressions
  • Label Wildcard
  • Quantified Path Sugar
  • Path Modes Walk Trail Simple Acyclic
  • Shortest Path Variants
  • IS Labeled Predicate
  • Element ID Function
  • IS Type Predicate
  • Binary Literals
  • Line Comments Solidus
  • Line Comments Minus
  • GQLSTATUS Result Codes
  • GQL Error Code Mapping
  • Transaction Control Syntax
  • SET Session
  • Conditional Execution WHEN THEN ELSE
  • RETURN NEXT Pipeline
  • Primary Key Constraint
  • Unique Constraint
  • Deterministic MERGE Via PK
  • Undirected Edge MATCH
  • Cast Type Conversion
  • GQL Directories
  • Multiple Labels Per Node
  • GQL Flagger
  • NEXT Linear Composition
  • Cardinality Function
  • INT64 BIGINT Type Names
  • FLOAT64 Double Type Names
  • Log10 Log2 Functions
  • Trim Leading Trailing Both
  • FILTER Clause
  • LET Statement
  • Group BY Explicit
  • EXCEPT SET Operations
  • INTERSECT SET Operations
  • ALL Different Predicate
  • Same Predicate
  • Property Exists Function
  • Path Variable Binding
  • USE Graph Clause
  • FOR IN List
  • Typed Temporal Literals
  • Session SET Value Params
  • Typed List Annotations
  • arcflow.cosine() function
  • arcflow.embed() function
  • arcflow.similar() procedure
  • arcflow.graphrag() procedure
  • ArcFlow Extensions
  • LIVE Queries
  • Triggered Write-Back Views
  • Evidence Algebra
  • Relationship Skills
  • AI Function Namespace
  • Graph Embedding Algorithms
  • ASOF JOIN
  • Durable Workflows
  • Incremental Z-Set Engine
  • GPU GraphBLAS
  • Triggers
  • HNSW Vector Index
  • Extensions Moat

Migration Guide

If you've worked with Cypher-style or other graph query systems before, most of what you know transfers. ArcFlow's WorldCypher is Cypher-inspired; your existing MATCH, CREATE, MERGE, and WHERE clauses usually carry over directly. What changes: the deployment model (in-process or lightweight server), built-in GPU-accelerated algorithms, confidence scoring, temporal queries, and vector search with no add-ons.

This guide covers what stays the same, what's different, and how to move your data.

Architecture Differences#

AspectTypical Graph EngineArcFlow
DeploymentUsually server-based or embedded depending on stackIn-process library or lightweight server mode
RuntimeVaries by implementationNative binary, no runtime dependency
Memory modelOff-heap page cache or shared memoryIn-process shared memory (SoC architecture)
SerializationWire protocol or RPC boundaryNone (in-process) or TCP/HTTP
Query languageVaries by graph stackWorldCypher (ArcFlow's GQL dialect with spatial/temporal/live extensions)
IndexesB-tree, full-text, vector (varies by vendor)Property index, HNSW vector index
TransactionsFull ACID (most vendors)WAL-based journaling
ClusteringCausal clustering, replication (varies)Single-node (replication planned)
GPU accelerationNoneCUDA + Metal (17 kernels each)
Vector searchAdd-on or separate product (varies)HNSW index + algo.graphRAG built-in
TemporalVaries by implementationBuilt-in: AS OF, clock domains, temporal replay
Confidence scoringNoneBuilt-in: 0.0-1.0 per node/edge

ArcFlow can run as an in-process engine with zero network overhead, or as a standalone server. The in-process mode eliminates serialization and connection management entirely.

GQL Compatibility#

If you're coming from a Cypher-family system, most of your queries port directly. If you're coming from a different graph query model, expect a query rewrite, but the graph modeling concepts still transfer.

Fully Compatible (GQL family)#

These Cypher features work identically in WorldCypher:

Statements: CREATE, MATCH, OPTIONAL MATCH, WHERE, RETURN, ORDER BY, SKIP, LIMIT, DELETE, DETACH DELETE, SET, REMOVE, MERGE, WITH, UNION, UNWIND, CASE WHEN

Predicates: AND, OR, NOT, XOR, =, <>, <, >, <=, >=, IS NULL, IS NOT NULL, IN, CONTAINS, STARTS WITH, ENDS WITH, EXISTS

Functions: id(), labels(), type(), count(), sum(), avg(), min(), max(), collect(), coalesce(), toString(), toInteger(), toFloat(), toLower(), toUpper(), trim(), substring(), left(), right(), replace(), split(), reverse()

Patterns: Node patterns (n:Label {prop: val}), relationship patterns -[:TYPE]->, variable-length paths [*1..5], shortestPath()

Schema: CREATE INDEX, CREATE CONSTRAINT (unique), DROP INDEX, DROP CONSTRAINT

WorldCypher Extensions#

Features in WorldCypher that go beyond standard GQL — ArcFlow-specific capabilities:

FeatureSyntaxPurpose
Temporal snapshotsMATCH (n) AS OF 1700000000000Point-in-time queries
Confidence scoringconfidence(n), observationClass(n)Trust metadata on every node/edge
Authority planesauthorityPlane(n)Semantic vs scene classification
Clock domainsclockDomain(n)Multi-clock temporal modeling
Observation sourceobservationSource(n)Provenance tracking
Map projectionRETURN n {.name, .age}Project specific properties
toJsontoJson(n)Serialize node to JSON
hashhash(n.prop)FNV-1a deterministic hashing
Graph algorithmsCALL algo.pageRank()20+ built-in algorithms (no separate plugin)
PROCESS NODEPROCESS NODE (n:Label) ...Batch node processing with constructors
REPROCESSREPROCESSRe-run edge constructors
Vector searchCALL algo.vectorSearch()HNSW nearest-neighbor search
GraphRAGCALL algo.graphRAGTrusted()Confidence-filtered RAG pipeline
EXPLAIN / PROFILEEXPLAIN MATCH ...Query plan introspection

Not Yet Supported#

Standard GQL features or ecosystem-specific extensions not yet available in WorldCypher:

FeatureStatusAlternative
FOREACHNot implementedUse UNWIND + CREATE
CALL {} IN TRANSACTIONSNot applicableIn-process, no batching needed
LOAD CSVDifferent syntax:import csv path/to/file.csv
Plugin/extension proceduresNot applicableBuilt-in equivalents where needed
SHOW DATABASESSingle databaseCALL db.stats()
Subqueries (CALL {})Not implementedUse WITH for pipeline queries
CREATE ... SET chainingUse comma syntaxCREATE (n:Label {prop1: v1, prop2: v2})
Multi-databaseNot implementedSingle graph store
Role-based accessPlannedCurrently single-user

Performance Snapshot#

Recent ArcFlow benchmark runs on the current engine show strong single-node throughput in the embedded path:

WorkloadCurrent throughput
IS1: person profile10.6M/s
Property scan14.6M/s
Count(Person)43.7M/s
3-hop traversal780.0K/s
Upsert (1K get_or_create)10.1M/s
Bulk insert + edges503.7K/s
Index build single151.3/s
Index build composite343.8/s

For the exact benchmark methodology and the latest corrected report, see the engine benchmark artifacts in the main ArcFlow repository.

Migration Steps#

Step 1: Export from Your Current Database#

Export your data as Cypher statements, CSV, or JSON from your current stack. The exact command depends on your existing tooling, but the migration target is the same: node rows, relationship rows, and any schema definitions you want to recreate.

-- Most GQL-compatible databases support exporting as CREATE statements
-- Adapt vendor-specific export commands to your setup

Step 2: Adapt the Export#

WorldCypher accepts most Cypher CREATE statements directly. Key adaptations:

  1. Remove environment-specific syntax (proprietary ID functions, internal properties)
  2. Replace FOREACH with UNWIND
  3. Remove CALL {} IN TRANSACTIONS wrappers
  4. Convert non-Cypher query definitions into Cypher-style mutations where needed
  5. Keep CREATE, MERGE, and SET statements as-is

Step 3: Import into ArcFlow#

# Start ArcFlow CLI
arcflow --data-dir ./my-graph
 
# Import CSV files
:import csv /tmp/nodes.csv

Or use CREATE statements directly:

-- Nodes import directly
CREATE (n:Person {name: 'Alice', age: 30})
CREATE (n:Person {name: 'Bob', age: 25})
-- Relationships
MATCH (a:Person {name: 'Alice'}), (b:Person {name: 'Bob'})
CREATE (a)-[:KNOWS {since: 2020}]->(b)

Step 4: Recreate Indexes#

CREATE INDEX ON :Person(name)
CREATE INDEX ON :Person(email)
CREATE CONSTRAINT ON (p:Person) ASSERT p.email IS UNIQUE

Step 5: Verify#

-- Check counts match
CALL db.stats()
-- Check schema
CALL db.schema()
-- Run diagnostics
CALL db.doctor()

Graph Analytics: Built In#

ArcFlow ships graph algorithms directly in the engine. No projection step, no separate installation.

Common Analytics ProcedureArcFlow Equivalent
PageRank streamCALL algo.pageRank()
Betweenness centralityCALL algo.betweenness()
Closeness centralityCALL algo.closeness()
Degree centralityCALL algo.degreeCentrality()
Weakly connected componentsCALL algo.connectedComponents()
Louvain community detectionCALL algo.louvain()
Leiden community detectionCALL algo.leiden()
Local clustering coefficientCALL algo.clusteringCoefficient()
Triangle countCALL algo.triangleCount()
K-core decompositionCALL algo.kCore()
Node similarityCALL algo.nodeSimilarity()
All-pairs shortest pathCALL algo.allPairsShortestPath()
K-nearest neighborsCALL algo.nearestNodes()

Key difference: no projection step. With most graph analytics libraries, you first create an in-memory graph projection, run the algorithm, then optionally write results back. In ArcFlow, algorithms run directly on the live graph store with zero copy.

-- Traditional analytics workflow (3 steps):
-- 1. Project graph into analytics engine
-- 2. Run algorithm on projection
-- 3. Drop projection
 
-- ArcFlow (1 step):
CALL algo.pageRank()

When to Use Which#

Use ArcFlow when:

  • Embedding a graph engine in your application (no server management)
  • You need GPU-accelerated graph algorithms
  • You want built-in vector search + graph context (GraphRAG)
  • Temporal queries and confidence scoring matter for your domain
  • You want a single binary with no runtime dependency

Use a server-oriented graph platform when:

  • You need multi-user concurrent access at scale
  • Full ACID transactions are a hard requirement
  • Your graph exceeds available RAM
  • You need a large plugin ecosystem
  • You need enterprise features (RBAC, causal clustering, CDC)

See Also#

  • QuickStart -- get running in 5 minutes
  • Built-in Functions -- all 93 functions
  • Procedures -- 100+ procedures
  • RAG Pipeline -- building RAG with ArcFlow
← PreviousFleet CoordinationNext →From SQL to GQL