NopalDB
High-performance embedded graph database with ACID transactions, MVCC time-travel, a built-in query language (NQL), and Apache Arrow analytics.
Features
- ACID + MVCC — snapshot isolation and time-travel queries over a versioned store.
- NQL — a Cypher-like query language for pattern matching and traversal.
- Embedded — runs in-process, no separate server. Sled-backed storage by default.
- Analytics — zero-copy export to Apache Arrow / Parquet (
analyticsfeature). - Optional tiers — vector embeddings + HNSW, full-text search, graph algorithms, ML tensors, OWL reasoning and SHACL validation, all behind feature flags.
Install
Requires Rust ≥ 1.85 (edition 2024).
Quickstart
use ;
async
Feature flags
| Feature | Enables |
|---|---|
storage-sled (default) |
Sled-backed embedded storage |
analytics |
Apache Arrow / Parquet export |
ml |
ML tensors (implies analytics) |
algorithms |
Graph algorithms (community detection, centrality, …) |
embeddings, embeddings-index |
Vector embeddings + HNSW ANN index |
fulltext |
Full-text search (Tantivy) |
reasoner, owl-import, shacl |
OWL EL reasoning, RDF/OWL import, SHACL validation |
python |
PyO3 bindings (used to build the Python package) |
Convenience meta-features: core, semantic, full. See
Cargo.toml for the full list.
Python
NopalDB also ships as a Python package built with maturin. See the repository for build instructions.
License
Licensed under the GNU Affero General Public License v3.0 only (AGPL-3.0-only).