LlamaIndex Graph_Stores Integration: ArcadeDB
ArcadeDB is a Multi-Model DBMS that supports Graph, Document, Key-Value, Vector, and Time-Series models in a single engine. It's designed to be fast, scalable, and easy to use, making it an excellent choice for GraphRAG applications.
This integration provides both basic graph store and property graph store implementations for ArcadeDB, enabling LlamaIndex to work with ArcadeDB as a graph database backend with full vector search capabilities.
Features
- Multi-Model Support: Graph, Document, Key-Value, Vector, and Time-Series in one database
- High Performance: Native SQL with graph traversal capabilities
- Vector Search: Built-in vector similarity search capabilities
- Schema Flexibility: Dynamic schema creation and management
- Production Ready: ACID transactions, clustering, and enterprise features
Installation
pip install llama-index-graph-stores-arcadedb
Usage
Property Graph Store (Recommended)
The property graph store is the recommended approach for most GraphRAG applications:
from llama_index.graph_stores.arcadedb import ArcadeDBPropertyGraphStore
from llama_index.core import PropertyGraphIndex
# For OpenAI embeddings (ada-002)
graph_store = ArcadeDBPropertyGraphStore(
host="localhost",
port=2480,
username="root",
password="playwithdata",
database="knowledge_graph",
embedding_dimension=1536 # OpenAI text-embedding-ada-002
)
# For Ollama embeddings (all-MiniLM-L6-v2 - common in flexible-graphrag)
graph_store = ArcadeDBPropertyGraphStore(
host="localhost",
port=2480,
username="root",
password="playwithdata",
database="knowledge_graph",
embedding_dimension=384 # Ollama all-MiniLM-L6-v2
)
# Or omit embedding_dimension to disable vector operations
graph_store = ArcadeDBPropertyGraphStore(
host="localhost",
port=2480,
username="root",
password="playwithdata",
database="knowledge_graph"
# No embedding_dimension = no vector search
)
# Create a property graph index
index = PropertyGraphIndex.from_documents(
documents,
property_graph_store=graph_store,
show_progress=True
)
# Query the graph
response = index.query("What are the main topics discussed?")
Basic Graph Store
For simpler use cases, you can use the basic graph store:
from llama_index.graph_stores.arcadedb import ArcadeDBGraphStore
from llama_index.core import KnowledgeGraphIndex
# Initialize the graph store
graph_store = ArcadeDBGraphStore(
host="localhost",
port=2480,
username="root",
password="playwithdata",
database="knowledge_graph"
)
# Create a knowledge graph index
index = KnowledgeGraphIndex.from_documents(
documents,
storage_context=StorageContext.from_defaults(graph_store=graph_store)
)
Configuration
Connection Parameters
host: ArcadeDB server hostname (default: "localhost")port: ArcadeDB server port (default: 2480)username: Database username (default: "root")password: Database passworddatabase: Database nameembedding_dimension: Vector dimension for embeddings (optional)
Query Engine
The property graph store uses native ArcadeDB SQL for optimal performance and reliability. ArcadeDB's SQL engine provides excellent graph traversal capabilities with MATCH patterns and is the recommended approach for production use.
Embedding Dimensions
Choose the correct embedding_dimension based on your embedding model:
| Model | Dimension | Example | Usage |
|---|---|---|---|
| OpenAI text-embedding-ada-002 | 1536 | embedding_dimension=1536 |
Production OpenAI |
| Ollama all-MiniLM-L6-v2 | 384 | embedding_dimension=384 |
flexible-graphrag default |
| Ollama nomic-embed-text | 768 | embedding_dimension=768 |
Alternative Ollama |
| Ollama mxbai-embed-large | 1024 | embedding_dimension=1024 |
High-quality Ollama |
| No vector search | None | Omit parameter entirely | Graph-only mode |
Requirements
- ArcadeDB server (version 23.10+)
- Python 3.9+
- LlamaIndex core
Getting Started
- Start ArcadeDB server:
docker run -d --name arcadedb -p 2480:2480 -p 2424:2424 \
-e JAVA_OPTS="-Darcadedb.server.rootPassword=playwithdata" \
arcadedata/arcadedb:latest
- Install the package:
pip install llama-index-graph-stores-arcadedb
- Run your GraphRAG application!
Examples
Check out the examples directory for complete working examples including:
- Basic usage with document ingestion
- Advanced GraphRAG workflows
- Vector similarity search
- Migration from other graph databases
License
Apache License 2.0
Metadata
Release files for llama-index-graph-stores-arcadedb 0.4.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| llama_index_graph_stores_arcadedb-0.4.4.tar.gz | 52.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| llama_index_graph_stores_arcadedb-0.4.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 105.7 kB
Release files / llama_index_graph_stores_arcadedb-0.4.4.tar.gz
| Download URL | llama_index_graph_stores_arcadedb-0.4.4.tar.gz |
|---|---|
| Size | 52.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1bd2ff99fc36054871267ba2a6ba5031acfc18066caa99b490f1065a171ec27a
|
|
BLAKE2b-256 checksum How to use checksums |
1bb6f32a2294397e1ea90530466b0286b020a44868681cb40fc1a8d2cd38bde8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.17
|
Release files / llama_index_graph_stores_arcadedb-0.4.4-py3-none-any.whl
| Download URL | llama_index_graph_stores_arcadedb-0.4.4-py3-none-any.whl |
|---|---|
| Size | 53.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5335318e90eb018aba9c1c6a6ec5f1cc924742e2bb60a15e4a5d992b46ff4fe3
|
|
BLAKE2b-256 checksum How to use checksums |
e30619f155b02e42a0855842dd63d8913df38f9c5bdcd77da9ca229fbbbc5ff8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.17
|