Skip to main content
Graphiti supports multiple graph database backends through a unified driver interface. Choose the database that best fits your deployment needs.

Supported Databases

Neo4j

Production-ready graph database with full Cypher support

FalkorDB

Redis-based graph database for in-memory performance

Amazon Neptune

Fully managed graph database service on AWS

Kùzu

Embedded graph database for local-first applications

Neo4j Driver

Neo4j is the default and most widely used graph database with Graphiti.

Installation

Neo4j support is included in the base Graphiti installation:

Connection

Connection Parameters

Environment Variables

Neo4j Desktop Setup

1

Download Neo4j Desktop

Download from neo4j.com/download
2

Create a Project

Open Neo4j Desktop and create a new project
3

Add a Database

Click “Add” → “Local DBMS” and set a password
4

Start the Database

Click the play button to start your local DBMS
5

Connect from Graphiti

Neo4j Aura (Cloud)

For managed Neo4j hosting:

FalkorDB Driver

FalkorDB is a Redis module that provides graph database capabilities with in-memory performance.

Installation

Install the FalkorDB driver:

Connection

Connection Parameters

Environment Variables

Running FalkorDB

FalkorDB Cloud

For managed FalkorDB hosting, set your connection credentials:

Amazon Neptune Driver

Amazon Neptune is a fully managed graph database service optimized for AWS deployments.

Installation

Connection

Connection Parameters

AWS IAM Authentication

Neptune supports IAM authentication for enhanced security:
Ensure your AWS credentials are configured:

Kùzu Driver

Kùzu is an embedded graph database perfect for local-first applications.

Installation

Connection

Connection Parameters

Use Cases

Kùzu is ideal for:
  • Local development and testing
  • Desktop applications
  • Edge deployments
  • Embedded graph analytics

Driver Interface

All drivers implement a unified interface, allowing you to switch databases without changing your application code:

Passing Custom Drivers

You can pass a pre-configured driver to Graphiti:
This approach is useful when:
  • You need custom driver configuration
  • You want to reuse a driver across multiple Graphiti instances
  • You’re testing with different database backends

Database Initialization

After connecting, build indices and constraints:
This creates:
  • Vector indices for semantic search
  • Full-text indices for keyword search
  • Uniqueness constraints on UUIDs
  • Performance-optimized indices
Always run build_indices_and_constraints() once before using a new database. This ensures optimal performance.

Choosing a Database

Best for:
  • Production deployments
  • Large-scale graphs
  • Complex queries
  • Mature ecosystem
Considerations:
  • Requires separate database server
  • Commercial licensing for production

Connection Pooling

Drivers handle connection pooling automatically:

Closing Connections

Always close the driver when done:
Or use as a context manager:

Multi-Database Support

Some drivers support multiple databases:

Next Steps

Adding Episodes

Start adding content to your graph database

LLM Providers

Configure your LLM provider

Embeddings

Set up embedding providers