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
Get Started
  • Get Started
  • Quickstart
  • Installation
  • Project Setup
  • Platforms
  • Bindings
  • Licensing
  • Pricing
Capabilities
  • Vector Search
  • Graph Algorithms
  • Sync
  • MCP Server (AI Agents)
  • Live Queries
  • Programs
  • Temporal
  • Spatial
  • Trusted RAG
  • Behavior Graph
  • Agent-Native
  • Event Sourcing
  • GPU Acceleration
  • Intent Relay
Concepts
  • World Model
  • Graph Model
  • Query Language (GQL)
  • Graph Patterns
  • SQL vs GQL
  • Parameters
  • Query Results
  • Persistence & WAL
  • Error Handling
  • Observations & Evidence
  • Confidence & Provenance
  • Proof Artifacts & Gates
  • Skills
GQL / WorldCypher
  • Overview
  • MATCH
  • WHERE
  • RETURN
  • OPTIONAL MATCH
  • CREATE
  • SET
  • MERGE
  • DELETE
  • REMOVE
  • WITH
  • UNION
  • UNWIND
  • CASE
  • Spatial Queries
  • Temporal Queries
  • Algorithms Reference
  • Triggers
Schema
  • Overview
  • Indexes
  • Constraints
  • Data Types
Functions
  • Built-in Functions
  • Aggregations
  • Procedures
  • Shortest Path
  • EXPLAIN
  • PROFILE
Skills
  • Overview
  • CREATE SKILL
  • PROCESS NODE
  • REPROCESS EDGES
Operations
  • CLI
  • REPL Commands
  • Snapshot & Restore
  • Server Modes & PG Wire
  • Persistence
  • Import & Export
  • Docker
  • Architecture
  • Cloud Architecture
  • Sync Protocol (Deep Dive)
Guides
  • Agent Integration
  • World Model
  • Graph Model Fundamentals
  • Trusted RAG
  • Using Skills
  • Behavior Graphs
  • Swarm & Multi-Agent
  • Migration Guide
  • Filesystem Workspace
  • From SQL to GQL
  • ArcFlow for Coding Agents
  • Data Quality & Pipeline Integrity
  • Code Intelligence
Tutorials
  • Knowledge Graph
  • Entity Linking
  • Vector Search
  • Graph Algorithms
Recipes
  • CRUD
  • Multi-MATCH
  • MERGE (Upsert)
  • Full-Text Search
  • Temporal Queries
  • Batch Projection
  • GraphRAG
Use Cases
  • Agent Tooling
  • Knowledge Management
  • RAG Pipeline
  • Fraud Detection
  • Sports Analytics
  • Grounded Neural Objects
  • Behavior Graphs
  • Autonomous Systems
  • Digital Twins
  • Robotics & Perception
Reference
  • TypeScript API
  • GQL Conformance
  • Compatibility Matrix
  • Glossary
  • Data Types
  • Operators
  • Error Codes
  • Known Issues

Project Setup

Embed ArcFlow in any project type. The API is the same across Node.js, Python, and Rust — in-memory for tests, persistent for production, no configuration files required.

Node.js / Express / Fastify#

import { open } from 'arcflow'
 
// Open once at startup, share across request handlers
const db = open('./data/graph')
 
app.get('/api/people', (req, res) => {
  const result = db.query("MATCH (n:Person) RETURN n.name, n.age")
  res.json(result.rows.map(r => r.toObject()))
})
 
app.post('/api/people', (req, res) => {
  const { name, age } = req.body
  db.mutate("CREATE (n:Person {name: $name, age: $age})", { name, age })
  res.json({ ok: true })
})
 
// Graceful shutdown
process.on('SIGTERM', () => {
  db.close()
  process.exit(0)
})

Testing#

import { openInMemory } from 'arcflow'
 
describe('my graph logic', () => {
  let db
 
  beforeEach(() => {
    // Fresh in-memory graph per test — fast, no cleanup needed
    db = openInMemory()
  })
 
  it('creates and queries nodes', () => {
    db.mutate("CREATE (n:Person {name: 'Alice'})")
    const result = db.query("MATCH (n:Person) RETURN n.name")
    expect(result.rows[0].get('name')).toBe('Alice')
  })
})

TypeScript configuration#

The SDK ships with full type definitions. No extra @types/ packages needed.

// tsconfig.json — no special config required
{
  "compilerOptions": {
    "target": "ES2022",
    "module": "commonjs",
    "strict": true,
    "esModuleInterop": true
  }
}

Monorepo setup (pnpm / turborepo)#

// packages/my-app/package.json
{
  "dependencies": {
    "arcflow": "workspace:*"
  }
}

If using pnpm with file: protocol during local dev, the .node binary may not sync on rebuild. Workaround:

# Manually copy the built .node binary into your node_modules
cp <built-binary>.node node_modules/arcflow/arcflow.<platform>.node

Environment setup#

# Optional: disable Metal GPU if module load hangs during development
export ARCFLOW_METAL_FORCE_UNAVAILABLE=true

Data directory conventions#

my-project/
├── data/
│   └── graph/                    # ArcFlow data directory
│       ├── worldcypher.snapshot.json   # Graph snapshot (auto-managed)
│       └── wal/                  # Write-ahead log (auto-managed)
├── src/
│   └── ...
└── package.json

Add to .gitignore:

data/graph/

See Also#

  • Quickstart — first world model query in 5 minutes
  • Installation — pre-built binaries for all platforms
  • Agent-Native Database — filesystem workspace layout and CLI usage
  • Language Bindings — Node.js, Python, Rust, Go, WASM
Try it
Open ↗⌘↵ to run
Loading engine…
← PreviousInstallationNext →Platforms