grafeo 0.1.3

A high-performance, pure-Rust, embeddable graph database
Documentation

A pure-Rust, high-performance, embeddable graph database supporting both Labeled Property Graph (LPG) and RDF data models.

Features

  • Dual data model support: LPG and RDF with optimized storage for each
  • Multi-language queries: GQL, Cypher, Gremlin, GraphQL, and SPARQL
  • GQL (ISO/IEC 39075) - enabled by default
  • Cypher (openCypher 9.0) - via feature flag
  • Gremlin (Apache TinkerPop) - via feature flag
  • GraphQL - via feature flag, supports both LPG and RDF
  • SPARQL (W3C 1.1) - via feature flag for RDF queries
  • Embeddable with zero external dependencies
  • Python bindings via PyO3
  • In-memory and persistent storage modes
  • MVCC transactions with snapshot isolation

Query Language & Data Model Support

Query Language LPG RDF Status
GQL (ISO/IEC 39075) Default
Cypher (openCypher 9.0) Feature flag
Gremlin (Apache TinkerPop) Feature flag
GraphQL Feature flag
SPARQL (W3C 1.1) Feature flag

Grafeo uses a modular translator architecture where query languages are parsed into ASTs, then translated to a unified logical plan that executes against the appropriate storage backend (LPG or RDF).

Data Models

  • LPG (Labeled Property Graph): Nodes with labels and properties, edges with types and properties. Ideal for social networks, knowledge graphs, and application data.
  • RDF (Resource Description Framework): Triple-based storage (subject-predicate-object) with SPO/POS/OSP indexes. Ideal for semantic web, linked data, and ontology-based applications.

Installation

Rust

cargo add grafeo

With additional query languages:

cargo add grafeo --features cypher   # Add Cypher support
cargo add grafeo --features gremlin  # Add Gremlin support
cargo add grafeo --features graphql  # Add GraphQL support
cargo add grafeo --features full     # All query languages