New 7/20/26 — v0.7.1 release: Document processing now supports LiteParse in addition to the previous Docling and LlamaParse support. Langflow integration ships with fixes and an optional Langflow Docker image bundling the 12 "Flexible" components. MS Graph delta query support was added for more efficient incremental updating with SharePoint and OneDrive data sources.

New 7/5/26: Optional Langflow visual flows — the app can run its ingest pipeline, hybrid search, and AI query through customizable Langflow flows (12 custom Flexible GraphRAG components), using your existing .env config. See Langflow Integration.

New 5/6/26: 15 property graph databases total: 8 supported on both LlamaIndex and LangChain, 1 LI-only (Google Cloud Spanner Graph), 6 LC-only (ArangoDB, Apache AGE, Azure Cosmos DB for Gremlin, Apache HugeGraph, SurrealDB, TigerGraph). AWS Neptune RDF/SPARQL added. All 10 vector databases, all 3 search engines, and all LLM/embedding providers work with both LlamaIndex and LangChain. Every pipeline stage (chunking, KG extraction, graph write, vector write, search write, and retrieval fusion) can be configured independently. (Data source reading is LlamaIndex only; RDF stores use framework-independent adapters with LangChain Text-to-SPARQL retrieval.)

New: Flexible GraphRAG now supports RDF-based ontologies for both property graph databases and RDF triple store databases (Graphwise Ontotext GraphDB, Fuseki, and Oxigraph). Document ingestion with KG extraction, auto incremental data source change detection, and UI search (hybrid search, AI query, and AI chat) are all supported with both database types.

New: Flexible GraphRAG supports automatic incremental updates (Optional) from most data sources, keeping your Vector, Search and Graph databases synchronized in real-time or near real-time.

New: KG Spaces Integration of Flexible GraphRAG in Alfresco ACA Client

Flexible GraphRAG

PyPI - flexible-graphrag Downloads - flexible-graphrag PyPI - flexible-graphrag-mcp Downloads - flexible-graphrag-mcp License: Apache 2.0 Python React Angular Vue

Flexible GraphRAG is an open source AI context platform supporting a document processing pipeline (Docling, LlamaParse, or LiteParse), knowledge graph auto-building, ontologies, schemas, many LLM providers, GraphRAG and RAG, hybrid semantic search (fulltext, vector, property graph, RDF/SPARQL), AI query, and AI chat. The backend is Python with LlamaIndex and LangChain as peer frameworks. LlamaIndex is the default for each pipeline stage; LangChain can be selected per stage in environment configuration. The API is a REST FastAPI service. Angular, React, and Vue TypeScript frontends and an MCP server are included. The stack supports 13 data sources (9 with incremental auto-sync), 15 property graph databases, 4 RDF triple stores (Apache Jena Fuseki, Ontotext GraphDB, Oxigraph, Amazon Neptune RDF), 10 vector databases, OpenSearch / Elasticsearch / BM25 search, and Alfresco. Services and dashboards can be enabled with the provided Docker Compose layout. Optionally, the ingest pipeline, hybrid search, and AI query can run through customizable Langflow visual flows (12 custom components).

v0.6.0 in brief

Version 0.6.0 broadens framework and database choice: LangChain is a full peer to LlamaIndex (per-stage env pickers for chunking, vector, search, property graph, KG extraction, fusion). 15 property graph backends: 8 on both frameworks, Google Cloud Spanner (LlamaIndex-only), 6 LangChain-only (ArangoDB, Apache AGE, Azure Cosmos DB for Gremlin, HugeGraph, SurrealDB, TigerGraph). RDF includes Apache Jena Fuseki, Ontotext GraphDB, Oxigraph, and Amazon Neptune RDF. Incremental delete, LangChain adapters, and cleanup paths were extended across stores (see CHANGELOG.md).

Features

  • Hybrid Search: Configurable hybrid search combining vector search, full-text search, property-graph GraphRAG, and SPARQL against RDF stores.
  • Knowledge Graph GraphRAG: Extracts entities and relationships from documents to build graphs in property graph databases and RDF stores. Optional schemas and ontologies guide extraction or act as a starting point for the LLM to extend.
  • RDF/Ontology Support: Load OWL/RDFS ontologies to guide KG extraction into any property graph or RDF store; SPARQL 1.1 queries; RDF 1.2 triple annotations; full UI pipeline (ingest, hybrid search, AI query/chat, incremental auto-sync). See Ontology and RDF Support below.
  • 15 Property Graph Databases: 8 on both LI+LC (Neo4j, ArcadeDB, FalkorDB, Ladybug, Memgraph, NebulaGraph, Amazon Neptune, Neptune Analytics), 1 LI-only (Google Cloud Spanner), 6 LC-only (ArangoDB, Apache AGE, Cosmos Gremlin, HugeGraph, SurrealDB, TigerGraph) — with KG extraction, hybrid search, and AI query/chat
  • 4 RDF Triple Stores: Apache Jena Fuseki, Ontotext GraphDB, Oxigraph, Amazon Neptune RDF.
  • 10 Vector Databases: Qdrant, Elasticsearch, OpenSearch, Neo4j, Chroma, Milvus, Weaviate, Pinecone, PostgreSQL pgvector, LanceDB — for semantic similarity search
  • 3 Search Databases: Elasticsearch, OpenSearch, BM25 (built-in) — for full-text search and hybrid ranking
  • LLM providers (KG extraction & chat): Ollama, OpenAI, Azure OpenAI, Google Gemini, Anthropic Claude, Google Vertex AI, Amazon Bedrock, Groq, Fireworks AI, OpenAI-compatible endpoints (openai_like), OpenRouter, LiteLLM proxy, and vLLM — configurable via LLM_PROVIDER; see Supported LLM Providers
  • Embedding providers: OpenAI, Ollama, Azure OpenAI, Google GenAI, Vertex AI, Bedrock, Fireworks, OpenAI-like (EMBEDDING_KIND=openai_like), and LiteLLM — see LLM Configuration
  • Dual-framework pipeline: LlamaIndex and LangChain are first-class choices for chunking, vector and search adapters, property graphs, KG extraction, RDF text-to-SPARQL retrieval, and hybrid fusion—each stage can be set independently (LlamaIndex defaults). See Framework Configuration.
  • Multi-Source Ingestion: Processes documents from 13 data sources (9 with incremental auto sync): (file upload, cloud storage, enterprise repositories, web sources) with Docling (default), LlamaParse (cloud API), or LiteParse (local, lightweight) document parsing.
  • Observability: Built-in OpenTelemetry instrumentation with automatic LlamaIndex tracing, Prometheus metrics, Jaeger traces, and Grafana dashboards for production monitoring
  • FastAPI Server with REST API: Python based FastAPI server with REST APIs for document ingesting, hybrid search, AI query, and AI chat.
  • MCP Server: MCP server providing Claude Desktop and other MCP clients with tools for document/text ingesting (all 13 data sources with 9 supporting incremental auto sync), hybrid search, and AI query. Uses FastAPI backend REST APIs.
  • UI Clients: Angular, React, and Vue UI clients support choosing the data source (filesystem, Alfresco, CMIS, etc.), ingesting documents, performing hybrid searches, AI queries, and AI chat. The UI clients use the REST APIs of the FastAPI backend.
  • Docker Deployment Flexibility: Supports both standalone and Docker deployment modes. Docker infrastructure provides modular database selection via docker-compose includes - vector, graph, search engines, and Alfresco can be included or excluded with a single comment. Choose between hybrid deployment (databases in Docker, backend and UIs standalone) or full containerization.
  • Langflow Visual Flows (optional): Run the ingest pipeline, hybrid search, and AI query through customizable Langflow flows built from 12 custom Flexible GraphRAG components — the same backend machinery (all database, LLM, and framework .env config applies), orchestrated visually. See Langflow Integration.

Frontend Screenshots

Angular Frontend - Tabbed Interface

Sources Tab Processing Tab Search Tab Chat Tab
Angular Sources Angular Processing Angular Search Angular Chat

React Frontend - Tabbed Interface

Sources Tab Processing Tab Search Tab Chat Tab
React Sources React Processing React Search React Chat
Sources Tab Processing Tab Search Tab Chat Tab
React Sources Light React Processing Light React Search Light React Chat Light

Vue Frontend - Tabbed Interface

Sources Tab Processing Tab Search Tab Chat Tab
Vue Sources Vue Processing Vue Search Vue Chat

System Components

FastAPI Backend (/flexible-graphrag)

  • REST API Server: Provides endpoints for document ingestion, search, and AI query/chat
  • Hybrid Search Engine: Combines vector similarity (RAG), fulltext (BM25), and graph traversal (GraphRAG)
  • Document Processing: Advanced document conversion with Docling, LlamaParse, and LiteParse integration
  • Configurable Architecture: Environment-based configuration for all components
  • Async Processing: Background task processing with real-time progress updates

MCP Server (/flexible-graphrag-mcp)

  • MCP Client support: Model Context Protocol server for Claude Desktop and other MCP clients
  • Full API Parity: Tools like ingest_documents() support all 13 data sources with source-specific configs: filesystem, repositories (Alfresco, SharePoint, Box, CMIS), cloud storage, web; skip_graph flag for all data sources; paths parameter for filesystem/Alfresco/CMIS; Alfresco also supports nodeDetails list (multi-select for KG Spaces)
  • Additional Tools: search_documents(), query_documents(), ingest_text(), system diagnostics, and health checks
  • Dual Transport: HTTP mode for debugging, stdio mode for production
  • Tool Suite: 9 specialized tools for document processing, search, and system management
  • Multiple Installation: pipx system installation or uvx no-install execution

UI Clients (/flexible-graphrag-ui)

  • Angular Frontend: Material Design with TypeScript
  • React Frontend: Modern React with Vite and TypeScript
  • Vue Frontend: Vue 3 Composition API with Vuetify and TypeScript
  • Unified Features: All clients support the 4 tab views, async processing, progress tracking, and cancellation

Docker Infrastructure (/docker)

  • Modular Database Selection: Include/exclude vector, graph, and search engines, and Alfresco with single-line comments
  • Flexible Deployment: Hybrid mode (databases in Docker, apps standalone) or full containerization
  • NGINX Reverse Proxy: Unified access to all services with proper routing
  • Built-in Database Dashboards: Most server dockers also provide built-in web interface dashboards (Neo4j browser, ArcadeDB, FalkorDB, OpenSearch, etc.)
  • Separate Dashboards: Additional dashboard dockers are provided: including Kibana for Elasticsearch and optional Ladybug Explorer (see docker/includes/ladybug-explorer.yaml).

Data Sources

Flexible GraphRAG supports 13 different data sources for ingesting documents into your knowledge base:

File & Upload Sources

  1. File Upload - Direct file upload through web interface with drag & drop support

Cloud Storage Sources

  1. Amazon S3 - AWS S3 bucket integration
  2. Google Cloud Storage (GCS) - Google Cloud storage buckets
  3. Azure Blob Storage - Microsoft Azure blob containers
  4. OneDrive - Microsoft OneDrive personal/business storage
  5. Google Drive - Google Drive file storage

Enterprise Repository Sources

  1. Alfresco - Alfresco ECM/content repository with two integration options:
    • KG Spaces ACA Extension - Integrates the Flexible GraphRAG Angular UI as an extension plugin within the Alfresco Content Application (ACA), enabling multi-select document/folder ingestion with nodeIds directly from the Alfresco interface
    • Flexible GraphRAG Alfresco Data Source - Direct integration using Alfresco paths (e.g., /Shared/GraphRAG, /Company Home/Shared/GraphRAG, or /Shared/GraphRAG/cmispress.txt)
  2. SharePoint - Microsoft SharePoint document libraries
  3. Box - Box.com cloud storage
  4. CMIS (Content Management Interoperability Services) - Industry-standard content repository interface

Web Sources

  1. Web Pages - Extract content from web URLs
  2. Wikipedia - Ingest Wikipedia articles by title or URL
  3. YouTube - Process YouTube video transcripts

Each data source includes:

  • Configuration Forms: Easy-to-use interfaces for credentials and settings
  • Progress Tracking: Real-time per-file progress indicators
  • Flexible Authentication: Support for various auth methods (API keys, OAuth, service accounts)

Incremental Updates & Auto-Sync

NEW! Flexible GraphRAG supports automatic incremental updates (Optional) from most data sources, keeping your Vector, Search and Graph databases synchronized in real-time or near real-time:

Data Source Auto-Sync Support Detection Method Status Notes
Alfresco ✅ Real-time Apache ActiveMQ Ready
Amazon S3 ✅ Real-time SQS event notifications Ready
Azure Blob Storage ✅ Real-time Change feed Ready
Google Cloud Storage ✅ Real-time Pub/Sub notifications Ready
Google Drive ✅ Near real-time Changes API (polling) Ready
OneDrive ✅ Near real-time MS Graph delta query Ready
SharePoint ✅ Near real-time MS Graph delta query Ready
Box ✅ Near real-time Events API (polling) Ready
Local Filesystem ✅ Real-time OS events (watchdog) Ready REST API and MCP Server only
File Upload UI, CMIS, Web Pages, Wikipedia, YouTube ➖ Not supported - - No support for incremental updates

Features:

  • Modification Date Tracking: Uses file modification timestamps (ordinal) to detect changes
  • Content Hash Optimization: Skips reprocessing when file modification date changed but content hasn't
  • Dual Mechanism: Event-driven streams (real-time) + periodic polling fallback
  • LlamaIndex Integration: Uses proper abstractions for all databases
  • UI, REST API, MCP Server: Setting up an auto update data source location can be done thru the 3 UIs, with the REST API, or with the MCP server

Setup Requirements:

Enable incremental updates in your .env file:

ENABLE_INCREMENTAL_UPDATES=true

# PostgreSQL database for state management
# By default, uses the pgvector database from docker-compose.yaml
POSTGRES_INCREMENTAL_URL=postgresql://postgres:password@localhost:5433/postgres

Note: The incremental updates system uses PostgreSQL to track document state. The docker-compose.yaml includes a pgvector container that can be used both as a vector database option and for incremental updates state management. The database connection creates the necessary tables automatically on first use.

Usage:

  • Check the "Enable auto change sync" checkbox in the Processing tab when configuring your data source
  • For S3: Also provide the "SQS Queue URL" for event notifications
  • For GCS: Also provide the "Pub/Sub Subscription Name" for real-time updates

PostgreSQL for State Management:

The docker/includes/postgres-pgvector.yaml sets up two databases automatically on first start: flexible_graphrag (for optional pgvector vector storage) and flexible_graphrag_incremental (for incremental update state management, with its schema created automatically). pgAdmin is also configured at http://localhost:5050 with both databases pre-registered — just enter the master password admin when prompted, then use password for the server connection and save it. See docs/DATABASES/POSTGRES-SETUP.md for details.

Documentation:

Scripts:

  • scripts/incremental/sync-now.sh|.ps1|.bat - Trigger immediate synchronization
  • scripts/incremental/set-refresh-interval.sh|.ps1|.bat - Configure polling interval
  • scripts/incremental/TIMING-CONFIGURATION.md - Timing configuration details
  • scripts/incremental/README.md - Script usage documentation

Document Processing Options

All data sources support three document parser options (full per-parser format matrix in Supported File Formats):

Docling (Default):

  • Open-source, local processing
  • Free with no API costs
  • GPU acceleration supported (CUDA/Apple Silicon) for 5-10x faster processing
  • Built-in OCR for scanned documents and images — DOCLING_OCR=true + DOCLING_OCR_ENGINE=auto|rapidocr|easyocr|tesseract_cli|tesserocr|ocrmac
  • Multi-language support (English, German, French, Spanish, Czech, Russian, Chinese, Japanese, etc.)
  • Configured via: DOCUMENT_PARSER=docling
  • DOCLING_DEVICE=auto|cpu|cuda|mps — control GPU vs CPU processing
  • SAVE_PARSING_OUTPUT=true — save intermediate parsing results for inspection (works for all three parsers)
  • PARSER_FORMAT_FOR_EXTRACTION=auto|markdown|plaintext — control format used for knowledge graph extraction
  • See Docling GPU + OCR Configuration Guide for setup details | Quick Reference

LlamaParse:

  • Cloud-based API service with advanced AI
  • Multimodal parsing with Claude Sonnet 3.5
  • Three modes available:
    • parse_page_without_llm - 1 credit/page
    • parse_page_with_llm - 3 credits/page (default)
    • parse_page_with_agent - 10-90 credits/page
  • Configured via: DOCUMENT_PARSER=llamaparse + LLAMAPARSE_API_KEY
  • Get your API key from LlamaCloud
  • New: SAVE_PARSING_OUTPUT=true - Save parsed output and metadata for inspection
  • New: PARSER_FORMAT_FOR_EXTRACTION=auto|markdown|plaintext - Control format used for knowledge graph extraction

LiteParse:

  • Open-source, local processing (Rust/PyO3) — free, no API key
  • Natively parses PDFs with bundled Tesseract OCR; .txt/.md read directly
  • Office formats need LibreOffice, images need ImageMagick — see Supported File Formats
  • Optional complexity-based routing of scanned/complex docs to Docling or LlamaParse via LITEPARSE_COMPLEX_ROUTING
  • Configured via: DOCUMENT_PARSER=liteparse; install uv pip install liteparse
  • Supports SAVE_PARSING_OUTPUT and PARSER_FORMAT_FOR_EXTRACTION like the other parsers

Supported File Formats

Flexible GraphRAG processes documents, images, and audio across its three parsers:

  • Documents: PDF (.pdf); Microsoft Office + legacy (.docx/.xlsx/.pptx, .doc/.xls/.ppt); web (.html/.htm/.xhtml); data (.csv/.tsv/.json/.xml); documentation (.md/.markdown/.asciidoc/.rtf/.txt/.epub)
  • Images: .png/.jpg/.jpeg/.gif/.bmp/.webp/.tiff/.tif
  • Audio: .wav/.mp3/.mp4/.m4a (speech recognition / transcription)

Capabilities vary by parser — Docling and LlamaParse handle all of the above natively (advanced layout/table/formula analysis, configurable OCR, VLM/multimodal, ASR); LiteParse parses PDFs natively and needs LibreOffice for Office formats / ImageMagick for images. Both markdown and plaintext are saved, and the best is auto-selected for knowledge-graph extraction, embeddings, and search (markdown for tables, plaintext for text-heavy docs; override with PARSER_FORMAT_FOR_EXTRACTION).

Full per-parser matrix, OCR/VLM options, and output formats: Supported File Formats.

Database Configuration

Flexible GraphRAG uses three types of databases for its hybrid search capabilities. Each can be configured independently via environment variables.

Search Databases (Full-Text Search)

Set SEARCH_DB to select the store and SEARCH_BACKEND=llamaindex or langchain for the framework.

  • BM25 (Built-in): Local in-memory BM25 full-text search with TF-IDF ranking

    • Dashboard: None (file-based)
    • Configuration:
      SEARCH_DB=bm25
      BM25_SEARCH_DB_CONFIG={"persist_dir": "./bm25_index"}
      
  • Elasticsearch: Enterprise search engine with advanced analyzers, faceted search, and real-time analytics

    • Dashboard: Kibana (http://localhost:5601)
    • Configuration:
      SEARCH_DB=elasticsearch
      ELASTICSEARCH_SEARCH_DB_CONFIG={"hosts": ["http://localhost:9200"], "index_name": "hybrid_search"}
      
  • OpenSearch: AWS-led open-source fork with native hybrid scoring (vector + BM25) and k-NN algorithms

    • Dashboard: OpenSearch Dashboards (http://localhost:5601)
    • Configuration:
      SEARCH_DB=opensearch
      OPENSEARCH_SEARCH_DB_CONFIG={"hosts": ["http://localhost:9201"], "index_name": "hybrid_search"}
      
  • None: Disable full-text search (vector search only)

    • Configuration:
      SEARCH_DB=none
      

Vector Databases (Semantic Search)

Set VECTOR_DB to select the store and VECTOR_BACKEND=llamaindex or langchain for the framework.

When switching embedding models, delete existing vector indexes — dimensions differ by provider. See docs/DATABASES/VECTOR-DATABASES/VECTOR-DIMENSIONS.md for cleanup instructions.

Supported Vector Databases

  • Neo4j: Can be used as vector database with separate vector configuration

    • Dashboard: Neo4j Browser (http://localhost:7474)
    • Configuration:
      VECTOR_DB=neo4j
      NEO4J_VECTOR_DB_CONFIG={"uri": "bolt://localhost:7687", "username": "neo4j", "password": "your_password", "index_name": "hybrid_search_vector"}
      
  • Qdrant: Dedicated vector database with advanced filtering

    • Dashboard: Qdrant Web UI (http://localhost:6333/dashboard)
    • Configuration:
      VECTOR_DB=qdrant
      QDRANT_VECTOR_DB_CONFIG={"host": "localhost", "port": 6333, "collection_name": "hybrid_search"}
      
  • Elasticsearch: Can be used as vector database with separate vector configuration

    • Dashboard: Kibana (http://localhost:5601)
    • Configuration:
      VECTOR_DB=elasticsearch
      ELASTICSEARCH_VECTOR_DB_CONFIG={"hosts": ["http://localhost:9200"], "index_name": "hybrid_search_vectors"}
      
  • OpenSearch: Can be used as vector database with separate vector configuration

    • Dashboard: OpenSearch Dashboards (http://localhost:5601)
    • Configuration:
      VECTOR_DB=opensearch
      OPENSEARCH_VECTOR_DB_CONFIG={"hosts": ["http://localhost:9201"], "index_name": "hybrid_search_vectors"}
      
  • Chroma: Open-source vector database with dual deployment modes

    • Dashboard: Swagger UI (http://localhost:8001/docs/) (HTTP mode)
    • Configuration (Local Mode):
      VECTOR_DB=chroma
      CHROMA_VECTOR_DB_CONFIG={"persist_directory": "./chroma_db", "collection_name": "hybrid_search"}
      
    • Configuration (HTTP Mode):
      VECTOR_DB=chroma
      CHROMA_VECTOR_DB_CONFIG={"host": "localhost", "port": 8001, "collection_name": "hybrid_search"}
      
  • Milvus: Cloud-native, scalable vector database for similarity search

    • Dashboard: Attu (http://localhost:3003)
    • Configuration:
      VECTOR_DB=milvus
      MILVUS_VECTOR_DB_CONFIG={"host": "localhost", "port": 19530, "collection_name": "hybrid_search"}
      
  • Weaviate: Vector search engine with semantic capabilities and data enrichment

    • Dashboard: Weaviate Console (http://localhost:8081/console)
    • Configuration:
      VECTOR_DB=weaviate
      WEAVIATE_VECTOR_DB_CONFIG={"url": "http://localhost:8081", "index_name": "HybridSearch"}
      
  • Pinecone: Managed vector database service optimized for real-time applications

    • Dashboard: Pinecone Console (web-based)
    • Configuration:
      VECTOR_DB=pinecone
      PINECONE_VECTOR_DB_CONFIG={"api_key": "your_api_key", "region": "us-east-1", "cloud": "aws", "index_name": "hybrid-search"}
      
  • PostgreSQL: Traditional database with pgvector extension for vector similarity search

    • Dashboard: pgAdmin (http://localhost:5050)
    • Configuration:
      VECTOR_DB=postgres
      POSTGRES_VECTOR_DB_CONFIG={"host": "localhost", "port": 5433, "database": "postgres", "username": "postgres", "password": "your_password"}
      
  • LanceDB: Modern, lightweight vector database designed for high-performance ML applications

    • Dashboard: LanceDB Viewer (http://localhost:3005)
    • Configuration:
      VECTOR_DB=lancedb
      LANCEDB_VECTOR_DB_CONFIG={"uri": "./lancedb", "table_name": "hybrid_search"}
      

RAG without GraphRAG

For faster document ingest processing (no graph extraction), and hybrid search with only full text + vector, configure:

VECTOR_DB=qdrant       # Any vector store
SEARCH_DB=elasticsearch  # Any search engine
PG_GRAPH_DB=none

Property Graph Databases (Knowledge Graph / GraphRAG)

Set PG_GRAPH_DB to select the store and GRAPH_BACKEND=llamaindex or langchain for the framework where both are supported. LangChain-only stores (ArangoDB, Apache AGE, HugeGraph, SurrealDB, TigerGraph, Cosmos Gremlin) route property-graph ingestion and retrieval through LangChain adapters regardless of other env defaults. LlamaIndex-only stores (Spanner): when PG_GRAPH_DB=spanner, startup forces GRAPH_BACKEND=llamaindex and ignores GRAPH_BACKEND=langchain.

  • Neo4j Property Graph: Primary knowledge graph storage with Cypher querying

    • Dashboard: Neo4j Browser (http://localhost:7474)
    • Configuration:
      PG_GRAPH_DB=neo4j
      NEO4J_GRAPH_DB_CONFIG={"uri": "bolt://localhost:7687", "username": "neo4j", "password": "your_password"}
      
  • ArcadeDB: Multi-model database supporting graph, document, key-value, and search with SQL and Cypher

    • Dashboard: ArcadeDB Studio (http://localhost:2480)
    • Configuration:
      PG_GRAPH_DB=arcadedb
      ARCADEDB_GRAPH_DB_CONFIG={"host": "localhost", "port": 2480, "username": "root", "password": "password", "database": "flexible_graphrag", "query_language": "sql"}
      
  • FalkorDB: High-performance graph database using GraphBLAS; purpose-built for LLM / GraphRAG

    • Dashboard: FalkorDB Browser (http://localhost:3001)
    • Configuration:
      PG_GRAPH_DB=falkordb
      FALKORDB_GRAPH_DB_CONFIG={"url": "falkor://localhost:6379", "database": "falkor"}
      
  • Ladybug: Embedded property graph database (Cypher, single .lbug file) with optional structured schema and HNSW vector index on chunks; Explorer UI via Docker (port 7003)

    • Configuration:
      PG_GRAPH_DB=ladybug
      LADYBUG_GRAPH_DB_CONFIG={"db_dir": "./ladybug", "db_file": "database.lbug", "use_vector_index": true, "has_structured_schema": false, "strict_schema": false}
      
  • MemGraph: Real-time graph database with streaming support and advanced graph algorithms

    • Dashboard: MemGraph Lab (http://localhost:3002)
    • Configuration:
      PG_GRAPH_DB=memgraph
      MEMGRAPH_GRAPH_DB_CONFIG={"url": "bolt://localhost:7687", "username": "", "password": ""}
      
  • NebulaGraph: Distributed graph database for large-scale data with horizontal scalability

    • Dashboard: NebulaGraph Studio (http://localhost:7001)
    • Configuration:
      PG_GRAPH_DB=nebula
      NEBULA_GRAPH_DB_CONFIG={"space": "flexible_graphrag", "host": "localhost", "port": 9669, "username": "root", "password": "nebula"}
      
  • Amazon Neptune: Fully managed graph database service supporting property graph and RDF models

    • Dashboard: Graph-Explorer (http://localhost:3007) or Neptune Workbench (AWS Console)
    • Configuration:
      PG_GRAPH_DB=neptune
      NEPTUNE_GRAPH_DB_CONFIG={"host": "your-cluster.region.neptune.amazonaws.com", "port": 8182}
      
  • Amazon Neptune Analytics: Serverless graph analytics with openCypher support

    • Dashboard: Graph-Explorer (http://localhost:3007) or Neptune Workbench (AWS Console)
    • Configuration:
      PG_GRAPH_DB=neptune_analytics
      NEPTUNE_ANALYTICS_GRAPH_DB_CONFIG={"graph_identifier": "g-xxxxx", "region": "us-east-1"}
      
  • Google Cloud Spanner Graph (LlamaIndex only): Managed relational + property graph (GQL). Uses llama-index-spanner — install with uv pip install -e ".[spanner-extras]" then uv pip uninstall llama-index (see Optional under Prerequisites). LangChain is not supported for this store (langchain-google-spanner pins incompatible langchain-core).

    • Setup: docs/DATABASES/GRAPH-DATABASES/SPANNER-SETUP.md
    • Configuration:
      PG_GRAPH_DB=spanner
      # GRAPH_BACKEND=llamaindex is forced for Spanner (LlamaIndex-only); langchain is ignored
      SPANNER_GRAPH_DB_CONFIG={"project_id": "my-gcp-project", "instance_id": "my-spanner-instance", "database_id": "my-database", "graph_name": "knowledge_graph", "credentials_file": "./gcs.json"}
      
  • ArangoDB (LangChain only): Multi-model database with AQL graph queries

    • Dashboard: ArangoDB Web UI (http://localhost:8529)
    • Configuration:
      PG_GRAPH_DB=arangodb
      ARANGODB_GRAPH_DB_CONFIG={"url": "http://localhost:8529", "database": "flexible_graphrag", "username": "root", "password": "password"}
      
  • Apache AGE (LangChain only): PostgreSQL extension for graph data via Cypher

    • Dashboard: pgAdmin (http://localhost:5050)
    • Configuration:
      PG_GRAPH_DB=apache_age
      APACHE_AGE_GRAPH_DB_CONFIG={"host": "localhost", "port": 5434, "database": "flexible_graphrag_age", "username": "postgres", "password": "password", "graph_name": "knowledge_graph"}
      
  • HugeGraph (LangChain only): Distributed graph database with Gremlin and openCypher

    • Dashboard: HugeGraph Hubble (http://localhost:8085)
    • Configuration:
      PG_GRAPH_DB=hugegraph
      HUGEGRAPH_GRAPH_DB_CONFIG={"host": "localhost", "port": 8082, "database": "hugegraph"}
      
  • SurrealDB (LangChain only): Multi-model database with SurrealQL graph queries

    • Dashboard: Surrealist (http://localhost:8011)
    • Configuration:
      PG_GRAPH_DB=surrealdb
      SURREALDB_GRAPH_DB_CONFIG={"url": "ws://localhost:8010/rpc", "namespace": "test", "database": "flexible_graphrag", "username": "root", "password": "root"}
      
  • TigerGraph (LangChain only): Distributed graph database with GSQL

    • Dashboard: GraphStudio (http://localhost:14240)
    • Configuration:
      PG_GRAPH_DB=tigergraph
      TIGERGRAPH_GRAPH_DB_CONFIG={"host": "http://localhost", "port": 14240, "restpp_port": 9002, "database": "MyGraph", "username": "tigergraph", "password": "tigergraph"}
      
  • Cosmos Gremlin (LangChain only): Azure Cosmos DB for Gremlin API

    • Configuration:
      PG_GRAPH_DB=cosmos_gremlin
      COSMOS_GREMLIN_GRAPH_DB_CONFIG={"url": "ws://localhost:8182/gremlin"}
      
  • None: Disable knowledge graph extraction for RAG-only mode

    • Configuration:
      PG_GRAPH_DB=none
      

Ontology and RDF Support

Flexible GraphRAG supports RDF/RDFS/OWL ontologies to guide knowledge graph extraction, with optional RDF graph store backends. Ontology-guided extraction works with any configured store — property graph, RDF graph store, or both.

  • Load OWL/RDFS ontologies (owl:Class, owl:ObjectProperty, owl:DatatypeProperty, rdfs:domain, rdfs:range) to constrain entity/relation extraction; OWL is supported but not required
  • Works with all 15 property graph databases — no RDF store required to use ontology-guided extraction
  • Full pipeline for all 4 RDF graph stores: UI document ingest → KG extraction → RDF storage; auto incremental sync; Hybrid Search and AI Query/Chat fuse RDF store results alongside vector, BM25, and property graph results
  • SPARQL 1.1 queries; RDF 1.2 triple terms and relation annotations ({| |} syntax); XSD-typed literals from OWL DatatypeProperty ranges

RDF Graph Store Configuration — set RDF_GRAPH_DB to select the store (all four support RDF 1.2 triple terms; Neptune is AWS-managed—no local compose include):

  • Apache Jena Fuseki — SPARQL 1.1 server; dashboard: http://localhost:3030

    RDF_GRAPH_DB=fuseki
    FUSEKI_BASE_URL=http://localhost:3030
    FUSEKI_DATASET=flexible-graphrag
    
  • Ontotext GraphDB — enterprise RDF store with OWL reasoning; dashboard: http://localhost:7200

    RDF_GRAPH_DB=graphdb
    GRAPHDB_BASE_URL=http://localhost:7200
    GRAPHDB_REPOSITORY=flexible-graphrag
    GRAPHDB_USERNAME=admin
    GRAPHDB_PASSWORD=admin
    
  • Oxigraph — lightweight local store, native RDF 1.2; dashboard: http://localhost:7878

    RDF_GRAPH_DB=oxigraph
    OXIGRAPH_URL=http://localhost:7878
    
  • Amazon Neptune RDF — managed SPARQL 1.1 on Neptune (same cluster can host property graph and RDF; IAM SigV4 auth). See [Neptune RDF setup](https://github.com/stevereiner/flexible-graphrag/blob/main/docs/DATABASES/GRAPH-DAT