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
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. Perception Lake
  • 2. World Graph
  • 3. Query Engine
  • 4. Live Surface
  • 5. Event Bus
  • 6. Behavior Engine
  • 7. Algorithm Library
WorldCypher
  • Overview
  • 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
  • Server Modes & PG Wire
  • Persistence (ops)
  • Import & Export
  • Deployment
  • Daemon (UDS)
  • 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 Conformance
  • Conformance Dashboard
  • openCypher TCK Results
  • Extension Regressions
GQL 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

Naming & Domain Map

ArcFlow is a world-model engine — one in-process Rust binary that holds the persistent property graph, the live query surface, the event bus, the behavior engine, and the algorithm library. The five layers each have an industry analog; the names below are the canonical labels for each one. Use these consistently in docs, marketing, API names, log messages, and commit subjects.

The World Model story (one sentence)#

ArcFlow is the world-model engine: a single in-process store that remembers what was observed, infers what is happening, predicts what comes next, and lets agents query, subscribe, fuse, and act — all in one address space.

Everything below is a way of saying what part of this story you mean.

Domain map#

LayerIndustry analogsWhat it is in ArcFlowCanonical nameCypher / API surface
Persistent graph + indexesNeo4j, Memgraph, DuckDB, DuckPGQ, KuzuDBProperty-graph store + composite/spatial/vector/FTS indexes + WALWorld Store (the data layer)MATCH, CREATE, MERGE, indexes, constraints
Query engineMemgraph engine, DuckDB engine, VeloxCypher / ISO GQL compiler + planner + executorQuery EngineEXPLAIN, PROFILE, prepared statements
Live surfaceMaterialize, RisingWave, Flink standing queriesZ-set-incremental standing queries + materialised viewsLive SurfaceCREATE LIVE VIEW, LIVE CALL, LIVE MATCH, db.subscribe()
Event busNATS, Inngest (events), Redis StreamsTopics + durable consumers + wildcard subscriptions + sync request-replyEvent BusCREATE TOPIC, PUBLISH, SUBSCRIBE, SUBSCRIBE PATTERN, bus.request()
Behavior engineUnreal Engine 5 behavior trees, Unity ML-Agents, TemporalBehavior-tree ticks, durable workflows, triggers, programsBehavior EngineCREATE TRIGGER, CREATE PROGRAM, CALL behavior.tick()
Algorithm libraryNeo4j GDS, cuGraph, NetworkX29+ graph + sensor-fusion + spatial algorithmsAlgorithm LibraryCALL algo.*, CALL algo.fusion.*, CALL algo.spatial.*
Durability laneWAL, RocksDB writes-aheadAsync WAL + checkpointing + hot backupDurability Lanearcflow_flush_snapshot(), replication
BindingsC ABI + per-language wrappersPython (ctypes), Node (napi-rs), C ABI, Rust SDKBindingsimport arcflow, import { open } from 'arcflow'

The umbrella label for the whole binary is the world-model engine or the ArcFlow engine — never just "the graph database" (which under-sells the live + event-bus + behavior + algorithm layers) and never just "the event broker" (which under-sells the graph + query

  • behavior layers).

How the layers compose#

                ┌────────────────────────────────────────────┐
                │                                            │
                │            ArcFlow Engine                  │
                │     (one in-process Rust binary)           │
                │                                            │
   Cypher /  ──►│  Query Engine ──► World Store              │
   GQL          │       │             ▲                      │
                │       ▼             │                      │
   Subscribe ──►│  Live Surface ─────┘                       │
                │       │                                    │
                │       ▼                                    │
   Publish   ──►│  Event Bus ──► World Store changes         │
                │       │           emit events              │
                │       ▼                                    │
   Tick      ──►│  Behavior Engine ──► World Store mutations │
                │       │                                    │
                │       ▼                                    │
   CALL algo.* ►│  Algorithm Library ──► reads/writes        │
                │                                            │
                │  Durability Lane (WAL + snapshots)         │
                │                                            │
                └────────────────────────────────────────────┘
                     ▲
                     │ Bindings (Python / TS / C / Rust)
                     │
                  Application

Every layer reads and writes the same GraphStore. No serialisation between modules. No second store to operate.

Banned words#

These terms are not used in user-facing copy, in API surfaces, in log messages, or in commit subjects. Internal Rust type names that pre-date this convention are grandfathered until they migrate.

BannedWhyUse instead
reactive (as in "reactive system" / "reactive view")Carries a negative connotation — sounds like firefighting rather than dataflow. PAT-0038 in arcflow-core.live (for materialised / standing things), event-driven (for fire-on-event), trigger (for the binding itself), event bus (for pub/sub)
legacy in user-facing copyImplies neglect or shame.prior, pre-vN.M.K, or just drop the qualifier
broker (when talking about ArcFlow's bus)Implies a separate process you'd run alongside. ArcFlow's bus is in-process.event bus, in-process bus, bus
"reactive systems" in the taglineSame as reactive.live systems or event-driven systems or agent systems

What to call each new feature#

When shipping a new feature, name it from its layer:

  • A new aggregator that runs in standing queries → "Live Surface feature"
  • A new CALL procedure that does an algorithm → "Algorithm Library entry"
  • A new pub/sub primitive (e.g. wildcard subscriptions) → "Event Bus feature"
  • A new behavior-tree node → "Behavior Engine primitive"
  • A new index, type, or constraint → "World Store feature"

In commit subjects this looks like:

feat(core/pubsub): NATS-compatible topic wildcard subscriptions
feat(core/algo): weighted_centroid fusion CALL procedure
feat(core/live): EMA aggregator over the Live Surface
feat(core/store): composite index for (label, position_prop)

Avoid genericised commits like feat(core): add stuff — the layer prefix tells the reader where in the architecture the change lives.

Cross-references#

  • Event Bus capability — the canonical surface for the Event Bus layer.
  • Live queries — the canonical surface for the Live Surface.
  • Algorithms — the canonical surface for the Algorithm Library.
  • Behavior graphs — the canonical surface for the Behavior Engine.
  • Architecture — operational detail for the whole binary.
← PreviousGlossaryNext →Data Types