

Grafeo
Grafeo is a pure-Rust, high-performance graph database that can be embedded as a library or run as a standalone database, with optional in-memory or persistent storage. Grafeo supports both LPG and RDF and all major query languages.
Cost / License
- Free
- Open Source (Apache-2.0)
Platforms
- Rust
- Self-Hosted
- Python
Features
- Graph database
- GraphQL
- Embeddable
- Low memory usage
Grafeo News & Activities
Recent activities
Grafeo information
What is Grafeo?
Grafeo is a graph database built in Rust from the ground up for speed and low memory use. It runs embedded as a library or as a standalone server, with in-memory or persistent storage and full ACID transactions.
On the LDBC Social Network Benchmark, Grafeo is the fastest tested graph database in both embedded and server configurations, while using a fraction of the memory of some of the alternatives.
Grafeo supports both Labeled Property Graph (LPG) and Resource Description Framework (RDF) data models and all major query languages.
Features:
Core Capabilities
- Dual data model support: LPG and RDF with optimized storage for each
- Multi-language queries: GQL, Cypher, Gremlin, GraphQL, SPARQL and SQL/PGQ
- Embeddable with zero external dependencies - no JVM, no Docker, no external processes
- Multi-language bindings: Python (PyO3), Node.js/TypeScript (napi-rs), Go (CGO), C (FFI), C# (.NET 8 P/Invoke), Dart (dart:ffi), WebAssembly (wasm-bindgen)
- In-memory and persistent storage modes
- MVCC transactions with snapshot isolation
Query Languages
- GQL (ISO/IEC 39075)
- Cypher (openCypher 9.0)
- Gremlin (Apache TinkerPop)
- GraphQL
- SPARQL (W3C 1.1)
- SQL/PGQ (SQL:2023)
Vector Search & AI
- Vector as a first-class type: Value::Vector(Arc<[f32]>) stored alongside graph data
- HNSW index: O(log n) approximate nearest neighbor search with tunable recall
- Distance functions: Cosine, Euclidean, Dot Product, Manhattan (SIMD-accelerated: AVX2, SSE, NEON)
- Vector quantization: Scalar (f32 ? u8), Binary (1-bit) and Product Quantization (8-32x compression)
- BM25 text search: Full-text inverted index with Unicode tokenizer and stop word removal
- Hybrid search: Combined text + vector search with Reciprocal Rank Fusion (RRF) or weighted fusion
- Change data capture: Before/after property snapshots for audit trails and history tracking
- Hybrid graph+vector queries: Combine graph traversals with vector similarity in GQL and SPARQL
- Memory-mapped storage: Disk-backed vectors with LRU cache for large datasets
- Batch operations: Parallel multi-query search via rayon
Performance Features
- Push-based vectorized execution with adaptive chunk sizing
- Morsel-driven parallelism with auto-detected thread count
- Columnar storage with dictionary, delta and RLE compression
- Cost-based optimizer with DPccp join ordering and histograms
- Zone maps for intelligent data skipping (including vector zone maps)
- Adaptive query execution with runtime re-optimization
- Transparent spilling for out-of-core processing
- Bloom filters for efficient membership tests




