Skip to content

feat: ArcadeDB graph database adapter#72

Merged
Vasilije1990 merged 1 commit into
topoteretes:mainfrom
lvca:feat/arcadedb-graph-adapter
Mar 11, 2026
Merged

feat: ArcadeDB graph database adapter#72
Vasilije1990 merged 1 commit into
topoteretes:mainfrom
lvca:feat/arcadedb-graph-adapter

Conversation

@lvca
Copy link
Copy Markdown
Contributor

@lvca lvca commented Feb 26, 2026

Summary

  • Adds a new graph adapter for ArcadeDB, the open-source multi-model database (Apache 2.0)
  • ArcadeDB implements the Neo4j Bolt wire protocol natively, so this adapter uses the standard neo4j async Python driver — no custom driver needed
  • All queries use standard OpenCypher (97.8% TCK compliance)
  • Includes full GraphDBInterface implementation, example, test, and README with Docker quickstart

What's included

File Description
cognee_community_graph_adapter_arcadedb/__init__.py Package init with register() function
cognee_community_graph_adapter_arcadedb/arcadedb_adapter.py Full GraphDBInterface implementation (~600 lines)
examples/example.py Working example with ArcadeDB connection
tests/test_arcadedb.py Edge persistence test (3 nodes, 3 relationship types)
pyproject.toml Package metadata with cognee[neo4j]>=0.5.2 dependency
README.md Installation, Docker quickstart, usage example

Testing

Tested locally against ArcadeDB v26.2.2 in Docker with Bolt protocol enabled:

docker run -d --name arcadedb -p 2480:2480 -p 7687:7687 \
  -e JAVA_OPTS="-Darcadedb.server.rootPassword=arcadedb -Darcadedb.server.defaultDatabases=cognee[root]{} -Darcadedb.server.plugins=Bolt:com.arcadedb.bolt.BoltProtocolPlugin" \
  arcadedata/arcadedb:latest

All tests pass: node creation, edge creation with multiple relationship types, query verification.

Context

This follows up on topoteretes/cognee#2239 where @Vasilije suggested the adapter should live in cognee-community.

ArcadeDB implements the Neo4j Bolt wire protocol natively, so this adapter
uses the standard neo4j async Python driver. All queries use standard
OpenCypher (97.8% TCK compliance).

Includes adapter implementation, example, test, and README with Docker
quickstart.
@Vasilije1990 Vasilije1990 merged commit 57857a7 into topoteretes:main Mar 11, 2026
1 check passed
@lvca
Copy link
Copy Markdown
Contributor Author

lvca commented Mar 11, 2026

@Vasilije1990 thanks for merging it! Do you need anything from me to appear in the adapters (README.md)?

@AKC777
Copy link
Copy Markdown
Contributor

AKC777 commented Apr 9, 2026

If ArcadeDB supports not only graphs, but also a vector database... Maybe it makes sense to connect vectors to ArcadeDB as well?

@lvca
Copy link
Copy Markdown
Contributor Author

lvca commented Apr 9, 2026

It makes sense. I see other implementations are hybrid: graph + vector.... working on it

@lvca
Copy link
Copy Markdown
Contributor Author

lvca commented Apr 9, 2026

@AKC777 Great suggestion! ArcadeDB does support vector search natively with HNSW indexes and the vectorNeighbors() function.

I've just opened PR #94 that upgrades the ArcadeDB adapter from graph-only to a hybrid adapter (like FalkorDB), implementing both GraphDBInterface and VectorDBInterface in a single class.

Graph operations continue to use Bolt/Cypher, while vector operations use ArcadeDB's HTTP API for SQL-based HNSW indexing and KNN search. This means Cognee users can use ArcadeDB as a unified graph+vector store without needing a separate vector database.

@lvca
Copy link
Copy Markdown
Contributor Author

lvca commented Apr 10, 2026

It's ready! #94

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants