A Rust-powered graph database with native Cypher support, ACID transactions, built-in algorithms, and a GraphQL API — engineered for speed, safety, and scale.

// Find the shortest path between two people
MATCH path = shortestPath(
(a:Person {name: "Alice"})-[:KNOWS*]-(b:Person {name: "Bob"})
)
RETURN path, length(path) AS hopsFull Cypher with multi-hop BFS pattern matching, quantified paths, ALL SHORTEST, ORDER BY/LIMIT/SKIP/DISTINCT, comma-separated patterns, MERGE, and aggregation — all in safe Rust.
Multi-version concurrency control with snapshot isolation, automatic deadlock detection, write-ahead logging, and ARIES-style crash recovery.
Built-in PageRank, Dijkstra, community detection, betweenness centrality, and more — executed natively on the storage engine for maximum throughput.
Extend Anvil with Rust, Lua, Python, WASM, JavaScript, TypeScript, or Starlark plugins. Ship custom functions, procedures, and storage backends.
Raft-based consensus for leader election, WAL streaming replication for read replicas, and hash-based sharding for horizontal scale-out.
Auto-generated GraphQL schema from your graph model with Relay-spec connections, real-time subscriptions, and batched DataLoader queries.
Built-in NoSQL with schema-namespaced collections, composite keys, TTL, secondary indexes, and bidirectional graph-document sync — no separate database needed.
PostgreSQL-inspired RLS policies on nodes, relationships, and documents with sync pairs. Session variables enable multi-tenancy with zero application code changes.
Graph-native auth with JWT RS256 tokens, JWKS endpoint, Argon2id password hashing, refresh tokens, and per-request session middleware.
Stored Cypher functions with typed parameters and CALL...YIELD. Event-driven triggers on INSERT/UPDATE/DELETE with BEFORE/AFTER timing and OLD/NEW variables.
Built-in event log, slow query detection, query analytics with p95/p99 latency, dependency analysis, and configurable alert rules.
Import Neo4j-compatible Cypher scripts via CLI, REST API, or Hammer UI. Supports multi-CREATE, MERGE, and variable binding across statements.
Run JavaScript/TypeScript on the server via HTTP endpoints. Deno or Node.js subprocess runtime with on-demand execution.
// Create a social graph
CREATE (alice:Person {name: "Alice", role: "Engineer"})
CREATE (bob:Person {name: "Bob", role: "Designer"})
CREATE (alice)-[:KNOWS {since: 2023}]->(bob)
// Query with pattern matching
MATCH (p:Person)-[r:KNOWS]->(friend)
WHERE p.role = "Engineer"
RETURN p.name, collect(friend.name) AS friends# Auto-generated GraphQL API
query GetPerson {
person(name: "Alice") {
name
role
knows(first: 10) {
edges {
since
node {
name
role
}
}
}
}
}Comprehensive test suite covering every layer of the stack
Modular Rust workspace with clean separation of concerns
Native drivers for Rust, TypeScript, Python, and Go
Built-in library of graph utility functions and procedures
Install the CLI, spin up a database, and start querying in minutes.