Open
Conversation
ArcadeDB is an open-source multi-model DBMS that natively supports graph, document, vector (HNSW), and full-text search (Lucene) in a single engine. ArcadeDB 26.2.1+ ships the Neo4j Bolt wire protocol, allowing the existing neo4j Python async driver to connect directly. This adds: - ArcadeDBDriver using AsyncGraphDatabase (Bolt transport) - 11 operation implementations (entity/episode/community/saga nodes, entity/episodic/community/has-episode/next-episode edges, search, graph maintenance) - ArcadeDB-specific SQL DDL for index creation (range + Lucene fulltext) - GraphProvider.ARCADEDB enum value - ArcadeDB branches in shared query builders (node_db_queries, edge_db_queries, graph_queries, search_filters) - arcadedb optional dependency in pyproject.toml Key design decisions: - Reuses neo4j async driver (no new dependency needed) - Embeddings stored as regular list properties (no vector property API) - Labels stored as node property (single-type-per-vertex constraint) - Batch deletes without Neo4j's IN TRANSACTIONS syntax - Vector similarity computed in Python via numpy (can be optimized with ArcadeDB's native vectorNeighbors() in future iterations) - Fulltext search via CONTAINS predicates (can be enhanced with native Lucene index queries in future iterations) Closes getzep#1259 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Member
|
All contributors have signed the CLA ✍️ ✅ |
Add unit tests for ArcadeDBDriver (driver init, query execution, sessions, health check, transactions, operations properties). Add quickstart example following the FalkorDB pattern. Update helpers_test.py with ArcadeDB driver discovery for integration tests. Update README with ArcadeDB installation, configuration, and architecture sections. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Author
|
I have read the CLA Document and I hereby sign the CLA |
danielchalef
added a commit
that referenced
this pull request
Mar 9, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds ArcadeDB as a new graph database backend for Graphiti, as requested in #1259.
ArcadeDB is an open-source (Apache 2.0) multi-model DBMS that natively supports graph, document, vector (HNSW), and full-text search (Lucene) — all in a single engine. ArcadeDB 26.2.1+ ships the Neo4j Bolt wire protocol, allowing the existing
neo4jPython async driver to connect directly with zero additional dependencies.What's included
ArcadeDBDriver— main driver usingAsyncGraphDatabase(Bolt transport)GraphProvider.ARCADEDBenum valuenode_db_queries,edge_db_queries,graph_queries,search_filters)arcadedboptional dependency inpyproject.toml(empty — reusesneo4jcore dependency)Key design decisions
neo4jasync driver via Bolt protocol — no new dependencydb.create.setNodeVectorProperty())DETACH DELETE(no Neo4jIN TRANSACTIONSsyntax)vectorNeighbors()CONTAINSpredicates; can be enhanced with native Lucene index queriesMATCH (node {uuid: ...})for polymorphic queries (like FalkorDB)Usage
Why ArcadeDB for Graphiti
With Kùzu archived after the Apple acquisition (#1132), users looking for a self-contained, local-first graph + vector + fulltext backend now have ArcadeDB as an option:
Closes #1259
Test plan
arcadedata/arcadedb)make check(ruff + pyright)🤖 Generated with Claude Code