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

Vector Search

Embeddings are first-class properties of the world model — semantic dimensions queryable alongside graph relationships, confidence scores, and temporal state.

No dedicated vector database. No separate similarity service. An embedding lives on a node the same way a position, a confidence score, or an observation class does — queryable with the same GQL that traverses the graph. Combine semantic similarity with graph structure and temporal snapshots in one query, one process. GPU acceleration available when supported hardware is present.

-- Vector search + graph traversal in one query, one process
CALL algo.vectorSearch('movie_embeddings', [0.12, -0.34, 0.56, ...], 5)

Create a Vector Index#

CREATE VECTOR INDEX movie_embeddings
  FOR (m:Movie)
  ON (m.embedding)
  OPTIONS {dimensions: 128, similarity: 'cosine'}

| Option | Values | Default | Description | |---

--------
---------

----| | dimensions | 1–4096 | required | Vector dimensionality | | similarity | 'cosine', 'euclidean', 'dotProduct' | 'cosine' | Distance function |

Similarity Functions#

Cosine — angle between vectors, normalized. Best for text embeddings where magnitude is irrelevant.

Euclidean — L2 distance. Best for spatial data and embeddings where absolute position matters.

Dot Product — raw inner product. Best for pre-normalized vectors where higher values mean more similar.

-- Euclidean distance for spatial embeddings
CREATE VECTOR INDEX spatial_vec
  FOR (p:Point)
  ON (p.coords)
  OPTIONS {dimensions: 3, similarity: 'euclidean'}
 
-- Dot product for pre-normalized embeddings
CREATE VECTOR INDEX doc_vec
  FOR (d:Document)
  ON (d.embedding)
  OPTIONS {dimensions: 768, similarity: 'dotProduct'}

Search#

K-Nearest Neighbor Search#

CALL algo.vectorSearch('movie_embeddings', [0.1, 0.2, 0.3, ...], 10)

| Parameter | Type | Description | |---

-----------

----| | index name | string | Name of the vector index | | query vector | float[] | Query vector (must match index dimensions) | | k | integer | Number of nearest neighbors to return |

Returns rows with nodeId, similarity score, and all node properties.

-- Find 5 movies most similar to a query embedding
CALL algo.vectorSearch('movie_embeddings', [0.12, -0.34, 0.56, ...], 5)
| nodeId | name              | score    |
|---
-----|---
------
------
----|---
-------|
| 42     | The Matrix        | 0.952341 |
| 17     | Blade Runner      | 0.891205 |
| 23     | Ghost in the Shell| 0.847193 |
| 8      | Tron              | 0.812045 |
| 31     | Ex Machina        | 0.798412 |

Similar Nodes#

Find nodes structurally similar based on their vector embeddings:

CALL algo.similarNodes()

Hybrid Search#

Combine graph traversal with vector similarity in a single query. Graph structure constrains the candidate set, then vector similarity ranks results.

CALL algo.hybridSearch()

Hybrid search uses graph adjacency to narrow candidates before running vector comparison — faster than brute-force vector scan on large graphs.

-- Example: find documents similar to a query, but only within a specific project
CREATE (p:Project {name: 'ArcFlow'})
CREATE (d1:Document {name: 'Architecture', embedding: [0.1, 0.2, 0.3]})
CREATE (d2:Document {name: 'API Guide', embedding: [0.15, 0.22, 0.28]})
CREATE (p)-[:CONTAINS]->(d1)
CREATE (p)-[:CONTAINS]->(d2)
 
-- Traverse graph to project, then vector search within results
MATCH (p:Project {name: 'ArcFlow'})-[:CONTAINS]->(d:Document)
RETURN d.name

Vector Indexes Management#

List all vector indexes:

CALL db.indexes()

Measuring on your hardware#

Vector throughput depends on host CPU/GPU and embedding dimension. Measure on the hardware you'll deploy on:

# From the ozinc/arcflow repo:
cargo bench --bench vector

GPU acceleration is automatic based on index size — no configuration required. On CUDA hardware with larger vector collections, ArcFlow Adaptive Dispatch routes automatically to the GPU-accelerated nearest-neighbour path. Same query, zero configuration.

Use Cases#

RAG Pipeline#

ArcFlow's vector search integrates directly with the GraphRAG pipeline:

-- Index document embeddings
CREATE VECTOR INDEX doc_embeddings
  FOR (d:Document)
  ON (d.embedding)
  OPTIONS {dimensions: 768, similarity: 'cosine'}
 
-- Ingest documents with embeddings
CREATE (d:Document {
  name: 'Architecture Overview',
  content: 'ArcFlow is a graph database...',
  embedding: [0.12, -0.34, ...]
})
 
-- Run GraphRAG with vector-backed retrieval
CALL algo.graphRAG('How does the storage engine work?')

Semantic Search#

-- Create embeddings from your ML pipeline, store directly in the graph
CREATE (n:Concept {
  name: 'machine learning',
  embedding: [0.45, 0.12, -0.33, ...]
})
 
-- Query with a new embedding
CALL algo.vectorSearch('concept_embeddings', [0.44, 0.13, -0.31, ...], 10)

Recommendation Engine#

-- Users and items with embeddings in the same vector space
CREATE VECTOR INDEX user_item_vec
  FOR (n:Entity)
  ON (n.embedding)
  OPTIONS {dimensions: 128, similarity: 'dotProduct'}
 
-- Find items closest to a user's embedding
CALL algo.vectorSearch('user_item_vec', [0.2, 0.8, -0.1, ...], 20)

See Also#

  • Graph Algorithms — algo.node2vec(), algo.graphSAGE(), algo.similarNodes() for embedding generation
  • Trusted RAG — hybrid vector + graph retrieval with confidence scoring
  • RAG Pipeline Guide — full GraphRAG pipeline implementation
  • Algorithms Reference — algo.vectorSearch() and algo.hybridSearch() signatures
Try it
Open ↗⌘↵ to run
Loading engine…
← PreviousLive QueriesNext →Trusted RAG