Neo4j ships an official GraphRAG assembly kit for Python
It gives Python developers an official, supported path to turn text into Neo4j knowledge graphs and run RAG with vector or hybrid retrieval.
What it does
This is Neo4j’s first-party Python library for GraphRAG. It wraps the database’s vector indexes and graph engine into a pipeline toolkit: you feed it text or PDFs, and it can construct a structured knowledge graph via LLM, embed the results, and answer questions using vector search, graph traversal, or generated Cypher queries. It is essentially the vendor’s attempt to own the entire lifecycle from ingestion to generation inside the Neo4j ecosystem.
The interesting bit
The library does not assume you already have a clean graph. It ships with both a SimpleKGPipeline for quick prototyping and a customizable Pipeline for advanced extraction, plus retrievers that mix vector similarity with graph hops. That dual personality—builder and query engine—is what separates it from a generic database driver.
Key highlights
- First-party support from Neo4j, with explicit long-term maintenance promises.
- Knowledge graph construction from raw text or PDFs using LLM-defined schemas (
SimpleKGPipelineor advancedPipeline). - Multiple retrieval modes: vector similarity, hybrid search, graph traversal, and
Text2CypherRetrieverthat generates Cypher on the fly. - Pluggable LLM and embedding backends, including OpenAI, Ollama, Anthropic, Google, Cohere, Mistral, and Amazon Bedrock.
- Optional integrations with external vector stores (Weaviate, Pinecone, Qdrant) for retrieval.
Caveats
- Knowledge graph construction requires the APOC core library installed in your Neo4j instance.
- The
nlpextra (spaCy-based components) is currently broken on Python 3.14 due to an upstream spaCy import issue. - Vector index queries rely on approximate nearest neighbor search, which the documentation notes may not always return exact results.
Verdict
Worth a look if you are already committed to Neo4j and want a supported, all-in-one Python path to GraphRAG. If your graph lives in Postgres, or you prefer to orchestrate ingestion and retrieval yourself, this is not your toolkit.
Frequently asked
- What is neo4j/neo4j-graphrag-python?
- It gives Python developers an official, supported path to turn text into Neo4j knowledge graphs and run RAG with vector or hybrid retrieval.
- Is neo4j-graphrag-python open source?
- Yes — neo4j/neo4j-graphrag-python is an open-source project tracked on heatdrop.
- What language is neo4j-graphrag-python written in?
- neo4j/neo4j-graphrag-python is primarily written in Python.
- How popular is neo4j-graphrag-python?
- neo4j/neo4j-graphrag-python has 1.2k stars on GitHub.
- Where can I find neo4j-graphrag-python?
- neo4j/neo4j-graphrag-python is on GitHub at https://github.com/neo4j/neo4j-graphrag-python.