Omnigraph
Concepts

Concepts

OmniGraph is a typed property-graph engine built as a coordination layer over the

OmniGraph is a typed property-graph engine built as a coordination layer over the Lance columnar storage format. It gives you a schema-checked graph with vector, full-text, and graph queries in one runtime, plus Git-style branches and commits across the whole graph.

The data model

  • A graph has node types and edge types, declared in a schema.
  • Each node type and each edge type is stored as its own Lance dataset — columnar, versioned, on local disk or object storage.
  • A single __manifest table coordinates all of those datasets, so the graph has one coherent version even though it spans many datasets.

This split is what lets a graph commit be atomic across every type at once: a publish flips every relevant dataset's version together in one manifest write, so readers never see a half-applied change. See storage for the layout.

Two layers: inherited vs. added

Throughout the docs, capabilities are framed as L1 (inherited from Lance) or L2 (added by OmniGraph):

L1 — from LanceL2 — added by OmniGraph
StorageColumnar Arrow datasets on object storagePer-type datasets coordinated as one graph
VersioningPer-dataset versions + time travelSnapshots across all types at once
BranchesPer-dataset branchesGraph-level branches, atomic across types
CommitsPer-dataset commitsCommit DAG for the whole graph; three-way merge
IndexesScalar / vector / full-text indexesBuilt per relevant column; graph topology index for traversal
SearchVector + full-text primitivesnearest / bm25 / rrf in one query, plus graph traversal
QueryingThe .gq query language and .pg schema language

How the pieces fit

  • The schema (.pg) and query (.gq) languages are compiled to a typed intermediate representation.
  • The engine runs queries and mutations against Lance, coordinates the manifest, maintains the commit graph, and builds indexes.
  • The CLI (omnigraph) and the HTTP server (operations/server.md) are two front ends over the same engine, so embedded and remote behavior match.
  • Cedar policy enforcement is engine-wide — every writer goes through the same authorization gate regardless of front end.

For deployment-scale topics — multi-graph servers, control-plane operations, recovery — see clusters.

On this page