New to configuration?See the Setup Configuration Overview for the complete workflow:install extras → create
.env → choose providers → handle pruning.Supported Providers
Cognee supports multiple graph store options:- Kuzu — Local file-based graph database (default)
- Kuzu-remote — Kuzu with HTTP API access
- Neo4j — Production-ready graph database
- Neptune — Amazon Neptune cloud graph database
- Neptune Analytics — Amazon Neptune Analytics hybrid solution
Configuration
Environment Variables
Environment Variables
Set these environment variables in your
.env file:GRAPH_DATABASE_PROVIDER— The graph store provider (kuzu, kuzu-remote, neo4j, neptune, neptune_analytics)GRAPH_DATABASE_URL— Database URL or connection stringGRAPH_DATABASE_USERNAME— Database username (optional)GRAPH_DATABASE_PASSWORD— Database password (optional)GRAPH_DATABASE_NAME— Database name (optional)
Setup Guides
Kuzu (Default)
Kuzu (Default)
Kuzu is file-based and requires no network setup. It’s perfect for local development and single-user scenarios.Installation: Kuzu is included by default with Cognee. No additional installation required.Data Location: The graph is stored on disk. Path defaults under the Cognee system directory and is created automatically.
Kuzu (Remote API)
Kuzu (Remote API)
Use Kuzu with an HTTP API when you need remote access or want to run Kuzu as a service.Installation: Requires a running Kuzu service exposing an HTTP API.
Neo4j
Neo4j
Neo4j is recommended for production environments and multi-user scenarios.Installation: Install Neo4j extras:Docker Setup: Start the bundled Neo4j service with APOC + GDS plugins:
Neptune (Graph-only)
Neptune (Graph-only)
Use Amazon Neptune for cloud-based graph storage.Installation: Install Neptune extras:Note: AWS credentials should be configured via environment variables or AWS SDK.
Neptune Analytics (Hybrid)
Neptune Analytics (Hybrid)
Use Amazon Neptune Analytics as a hybrid vector + graph backend.Installation: Install Neptune extras:Note: This is the same as the vector store configuration. Neptune Analytics serves both purposes.
Advanced Options
Backend Access Control
Backend Access Control
Enable per-user dataset isolation for multi-tenant scenarios.This feature is available for Kuzu and other supported graph stores.
Provider Comparison
Graph Store Comparison
Graph Store Comparison
| Provider | Setup | Performance | Use Case |
|---|---|---|---|
| Kuzu | Zero setup | Good | Local development |
| Kuzu-remote | Server required | Good | Remote access |
| Neo4j | Server required | Excellent | Production |
| Neptune | AWS required | Excellent | Cloud solution |
| Neptune Analytics | AWS required | Excellent | Hybrid cloud solution |
Important Considerations
Data Location
Data Location
- Local providers (Kuzu): Graph files are created automatically under
SYSTEM_ROOT_DIRECTORY - Remote providers (Neo4j, Neptune): Require running services or cloud setup
- Path management: Local graphs are managed automatically, no manual path configuration needed
Performance Notes
Performance Notes
- Kuzu: Single-file storage with good local performance
- Neo4j: Excellent for production workloads with proper indexing
- Neptune: Cloud-scale performance with managed infrastructure
- Hybrid solutions: Combine graph and vector capabilities in one system
Notes
- Backend Access Control: When enabled, Kuzu supports per-user dataset isolation
- Path Management: Local Kuzu databases are created automatically under the system directory
- Cloud Integration: Neptune providers require AWS credentials and proper IAM permissions