Citations & Verifiable Claims
Anvil DB is a graph database with native Cypher query language support
cite:graph-database
Hand-written lexer, recursive-descent parser, semantic analyzer, and Volcano-model executor implemented in Rust (anvil-cypher crate, ~20,000 lines across 12 source files).
https://anvildb.com/stats/crates#cypherDocumentation covering all supported Cypher clauses: MATCH, CREATE, MERGE, SET, DELETE, WITH, UNWIND, UNION, ORDER BY, SKIP, LIMIT, FOREACH, OPTIONAL MATCH, and more.
https://anvildb.com/docsProperty graph implementation with nodes, relationships, labels, and property maps (anvil-core crate, ~14,700 lines).
https://anvildb.com/stats/crates#core2,321 tests verify Cypher parsing, pattern matching, aggregation, path traversal, and all query features.
https://anvildb.com/stats/testsAnvil DB provides a built-in GraphQL API with auto-generated schema
cite:graphql
Auto-generates GraphQL types from graph labels and relationship types, with Relay-spec connections for pagination (anvil-graphql crate, ~2,000 lines).
https://anvildb.com/stats/crates#graphqlPOST /graphql endpoint with introspection, filtering, nested traversals, and Cypher passthrough queries.
https://anvildb.com/features#graphqlMarketing page describing GraphQL capabilities including auto-schema generation and real-time subscriptions.
https://anvildb.com/featuresAnvil DB includes a native document store (NoSQL) with schema-namespaced collections
cite:document-store
MemDocumentStore with collections, composite keys, TTL, secondary indexes, and batch operations implemented in anvil-core (~14,700 lines).
https://anvildb.com/stats/crates#coreFull CRUD REST API: GET/PUT/DELETE /docs/{collection}/{id}, POST /docs/{collection}/query for filtering, GET /docs/{collection}/scan for pagination.
https://anvildb.com/docsCREATE DOCUMENT, MATCH DOCUMENT, UPSERT DOCUMENT, DELETE DOCUMENT clauses extend Cypher for document operations.
https://anvildb.com/features#document-storeCollections are organized into schemas: public.* for application data and auth.* for system collections (users, roles, tokens). Names are reserved across schemas to prevent conflicts.
https://anvildb.com/docsAnvil extends the Cypher query language with custom syntax for documents, functions, triggers, RLS, and sync
cite:custom-cypher
CREATE DOCUMENT IN collection key { fields }, MATCH DOCUMENT d IN collection WHERE ..., UPSERT DOCUMENT, DELETE DOCUMENT — native document CRUD inside Cypher queries.
https://anvildb.com/docsCREATE FUNCTION with typed parameters (STRING, INT, FLOAT, BOOL, LIST, MAP, ANY, VOID), return types, MUTATING keyword, and CALL...YIELD invocation.
https://anvildb.com/features#functions-triggersCREATE TRIGGER with BEFORE/AFTER timing, INSERT/UPDATE/DELETE events, OLD/NEW pseudo-variables, PRIORITY ordering, and RAISE for abort.
https://anvildb.com/features#functions-triggersCREATE POLICY with USING predicates, FOR SELECT/INSERT/UPDATE/DELETE/ALL, permissive and restrictive modes, session variables for multi-tenancy.
https://anvildb.com/features#rlsSYNC LABEL ... TO COLLECTION with KEY, INCLUDE, SKIP TRIGGERS. Bidirectional, graph-to-document, or document-to-graph directions with conflict resolution.
https://anvildb.com/features#document-storeComplete documentation covering all Anvil Cypher extensions organized into 16 subsections.
https://anvildb.com/docsAnvil DB supports ACID transactions with MVCC, snapshot isolation, and deadlock detection
cite:acid-transactions
Page-based storage engine with write-ahead logging (WAL), ARIES-style crash recovery, B+ tree indexes, and MVCC implementation (anvil-storage crate, ~16,700 lines).
https://anvildb.com/stats/crates#storageMulti-version concurrency control with version chains, three isolation levels (read committed, repeatable read, serializable), record-level locking with intent locks, and deadlock detection via wait-for graph.
https://anvildb.com/features#transactionsWrite-ahead log with CRC32 checksums, checkpoint records, and ARIES-protocol redo/undo phases for crash recovery (anvil-storage crate, 52 source files).
https://anvildb.com/stats/crates#storageAnvil DB is organized into 13 modular Rust workspace crates
cite:workspace-crates
All 13 workspace crates listed with source files, lines of code, test ratios, modules, and dependencies: core, storage, cypher, graphql, server, cli, algorithms, client, cluster, migration, plugin-sdk, apoc, benches.
https://anvildb.com/stats/cratesDetailed breakdown of each crate: source files, lines of code, test ratio, public modules, and internal dependencies.
https://anvildb.com/stats/cratesFeatures page describing the modular architecture and separation of concerns across workspace crates.
https://anvildb.com/features#storageThe codebase has 2,321 tests comprising 37% of the total code
cite:test-suite
Interactive browser listing all 2,321 tests organized by module, with search and filter capabilities.
https://anvildb.com/stats/testsRun 'cargo test --workspace -- --list' to enumerate all tests. Run 'cargo test --workspace' to execute the full suite.
https://anvildb.com/stats/testsPer-crate breakdown showing test line counts. Total: 88,229 lines of Rust, 29,299 lines (37%) are test code inside #[cfg(test)] blocks.
https://anvildb.com/stats/crates103-assertion integration test script (scripts/test-cypher.sh) that verifies Cypher queries, aggregation, relationships, document operations, and more against a running Anvil instance.
https://anvildb.com/stats/tests55+ built-in APOC functions across 9 modules
cite:apoc-functions
anvil-apoc crate implementing 53 functions across bitwise, collections, conversion, date/time, import/export, math, graph refactoring, spatial/geospatial, and text similarity modules (~1,686 lines).
https://anvildb.com/stats/crates#apocComplete listing of every APOC function with module, signature, and description — generated directly from source code doc comments.
https://anvildb.com/stats/apocOfficial client drivers for Rust, TypeScript/JavaScript, Python, and Go
cite:client-drivers
Monorepo containing all four drivers with URI parsing (anvil:// and anvil+tls://), JWT auth with auto-refresh, Cypher queries, transactions, GraphQL, and document operations.
https://anvildb.com/start#client-driversQuick Start guide showing connection examples in all four languages with the anvilent package.
https://anvildb.com/start#client-driversHammer UI is a web-based administration interface built with React and TypeScript
cite:hammer-ui
React Router 7, React 19, TypeScript, Tailwind CSS 4. MIT licensed. Includes Cypher editor, GraphQL playground, graph visualization (D3.js), document manager, admin panel, and more.
https://github.com/anvildb/hammerQuick Start guide for installing and deploying Hammer UI, including npm setup, production build, and Docker.
https://anvildb.com/start#hammer-uiBuilt-in graph algorithms: PageRank, Dijkstra, community detection, centrality, and more
cite:graph-algorithms
anvil-algorithms crate with modules: centrality (PageRank, betweenness, closeness, degree), community (Louvain, label propagation), path (Dijkstra, A*, BFS, DFS), similarity, traversal (~2,198 lines).
https://anvildb.com/stats/crates#algorithmsDescription of all built-in algorithms executed natively on the storage engine.
https://anvildb.com/features#algorithmsTLS encryption via Rustls with PEM certificate configuration
cite:tls-support
tls_cert and tls_key settings in [server] section of anvil.toml, or ANVIL_TLS_CERT and ANVIL_TLS_KEY environment variables.
https://anvildb.com/start#configurationaxum-server with tls-rustls feature in workspace dependencies. Server conditionally binds with TLS when cert/key paths are configured.
https://anvildb.com/stats/cratesWritten in Rust (edition 2024, minimum Rust 1.85)
cite:rust-language
Cargo.toml specifies edition = "2024", rust-version = "1.85". All crates inherit workspace settings.
https://anvildb.com/stats/crates88,229 lines of Rust across 175 source files in 13 crates. No runtime dependencies on external databases or VMs.
https://anvildb.com/stats/crates