GraFlo — Graph Schema & Transformation Language (GSTL)
¶
GraFlo is a manifest-driven schema and ingestion layer for labeled property graphs (LPGs).
Write a GraphManifest (YAML or Python) once — it defines vertices, edges, typed properties,
identities, and DB profile — then infer, validate, migrate, and load into any supported graph engine.
Start here¶
| Section | What you'll find |
|---|---|
| Getting Started | Install, quickstart, and your first manifest |
| Concepts | Architecture, schema, ingestion pipeline, connectors |
| Guides | Task-oriented walkthroughs (export, API wiring, identity inference, …) |
| Examples | Fifteen runnable examples with sample data |
| API Reference | Auto-generated Python API docs |
Highlights¶
- One manifest, many backends — ArangoDB, Neo4j, TigerGraph, FalkorDB, Memgraph, NebulaGraph, PostgreSQL, or a GraFlo file backend on disk.
- Graph DB migration — Move Neo4j, ArangoDB, or a file backend to any supported target (including PostgreSQL) with
GraphEngine.migrate_graph()— no manifest required. See Graph DB migration guide. - Explicit identities — upsert on keys instead of blind duplication.
- Reusable ingestion — actor pipelines bind to files, SQL, SPARQL/RDF, APIs, or in-memory batches.
- Schema as contract — validated at
finish_init; migrations viamigrate_schema. - Manifest as linked data — export/restore as RDF via the GraFlo ontology.
Contributing¶
We welcome contributions! See the Contributing Guide for setup and workflow.