GrowGraphGrowGraph
GraFlo logo

GraFlo

Open source · Apache-2.0

Declarative data-to-graph engine and graph ETL framework for Neo4j, ArangoDB, TigerGraph and Postgres

Any data → any graph. The model is code.

A declarative schema and ingestion engine for property graphs: define your graph once, then infer, validate, migrate and load it into any of eight supported backends.

$ pip install graflo

Why GraFlo

Stop writing one-off ingestion code.

Instead of Data → custom function → specific graph, declare the model once: Any data → GraFlo → any graph.

The model is code

One declarative contract defines vertices, edges, typed properties and identities. It lives in your repository — reviewable, diffable and auditable, not buried in ETL scripts.

Your database choice remains a choice

The same contract targets eight supported backends — Neo4j, ArangoDB, TigerGraph, FalkorDB, Memgraph, NebulaGraph, PostgreSQL and a file backend that needs no database at all, and that several writers can share.

Any source, one pipeline

CSV, JSON, Parquet, SQL databases, RDF and SPARQL endpoints, REST APIs and Kafka streams all flow through the same declarative ingestion model. A Kafka offset is committed only once its batch is written.

Schema evolution built in

Schemas evolve. GraFlo diffs models, plans migrations and replays them, and records each change as a commit you can branch, merge and revert — so the graph you run in production is the graph your contract says it is.

Identity is first-class

Natural keys, hashes, and identity funnels — “use this ID if present, otherwise that one” — resolve the same entity across sources into one vertex.

Built for agents too

The Agentic Context Plane serves bounded, policy-gated schema and graph context to LLM agents over MCP — the same model, one more consumer.

The alternatives

What the usual approaches cost you

Native database MCP servers

Engine-specific dialects; raw schema dumps that consume the agent’s context window.

Budgeted subschemas and dialect-free queries behind a policy gate.

Vector RAG over documentation

Text retrieval, with no explicit topology model to traverse.

Multi-hop answers derived from the modelled topology.

Bespoke build

Custom modelling and pipeline code before the first usable answer — and a codebase to maintain afterwards.

A declarative contract, and tooling that maintains it.

For AI agents

The Agentic Context Plane

GraFlo's write-side backend neutrality has a read-side counterpart: an LLM agent gets grounded schema and graph context through one dialect-free, policy-gated surface.

Bounded schema context

Agents receive budgeted subschemas — the slice of the model relevant to the task, sized to a token budget, with elided elements marked. A 400-type schema dump is not usable context; a bounded projection is.

A capped query contract

Traversal, neighbor probes and queries run under hard caps on depth, result size and time — the same dialect-free surface across all eight backends.

Deny-by-default policy

A connection with no policy configured is read-only under the platform’s caps. The unconfigured state is the safe state — governance is the floor, not an add-on.

Ten MCP tools

Schema introspection, traversal and query tools speak MCP natively, so any MCP-capable agent framework can consume the graph without custom glue.

Under the hood

Explore the GraFlo ontology — live

GraFlo's own meta-ontology, rendered from the same OWL vocabulary the engine ships with. Drag, zoom, click a class.

One pipeline

Part of a complete knowledge-graph stack

GraFlo handles what's already structured. OntoCast (open source, Apache-2.0) reads unstructured documents into auditable RDF. The managed OntoCast API Platform runs the pipeline for you.

The GrowGraph ecosystem: sources flow through GraFlo and OntoCast into one governed knowledge graph, served to databases, applications and agents