Expand description
§Grafeo
A high-performance, pure-Rust, embeddable graph database.
If you’re new here, start with GrafeoDB - that’s your entry point for
creating databases and running queries. Grafeo uses GQL (the ISO standard)
by default, but you can enable other query languages through feature flags.
§Query Languages
| Feature | Language | Notes |
|---|---|---|
gql | GQL | ISO standard, enabled by default |
cypher | Cypher | Neo4j-style queries |
sparql | SPARQL | For RDF triple stores |
gremlin | Gremlin | Apache TinkerPop traversals |
graphql | GraphQL | Schema-based queries |
Use the full feature to enable everything.
§Quick Start
use grafeo::GrafeoDB;
// Create an in-memory database
let db = GrafeoDB::new_in_memory();
let mut session = db.session();
// Add a person
session.execute("INSERT (:Person {name: 'Alice', age: 30})")?;
// Find them
let result = session.execute("MATCH (p:Person) RETURN p.name")?;§Performance Features
Enable platform-optimized memory allocators for 10-20% faster allocations:
jemalloc- Linux/macOS (x86_64, aarch64)mimalloc-allocator- Windows
Structs§
- Catalog
- The database’s schema dictionary - maps names to compact internal IDs.
- Config
- Database configuration.
- EdgeId
- Identifies an edge (relationship) in the graph.
- GrafeoDB
- Your handle to a Grafeo database.
- Index
Definition - Index definition.
- NodeId
- Identifies a node in the graph.
- Session
- Your handle to the database - execute queries and manage transactions.
Enums§
- Catalog
Error - Catalog-related errors.
- Index
Type - Type of index.
- Value
- A dynamically-typed property value.