pythonadvanced
Graph RAG with Neo4j and LangChain
Build a graph-based RAG system using Neo4j knowledge graph for complex relationship queries.
pythonPress ⌘/Ctrl + Shift + C to copy
from langchain_community.graphs import Neo4jGraph
from langchain_openai import ChatOpenAI
from langchain.chains import GraphCypherQAChain
graph = Neo4jGraph(url='bolt://localhost:7687', username='neo4j', password='password')
# Populate with sample data
graph.query('''
MERGE (p:Person {name: 'Guido van Rossum'})
MERGE (l:Language {name: 'Python'})
MERGE (c:Company {name: 'Google'})
MERGE (p)-[:CREATED]->(l)
MERGE (p)-[:WORKED_AT]->(c)
''')
graph.refresh_schema()
llm = ChatOpenAI(model='gpt-4o-mini', temperature=0)
chain = GraphCypherQAChain.from_llm(llm=llm, graph=graph, verbose=True, allow_dangerous_requests=True)
result = chain.invoke({'query': 'Who created Python and where did they work?'})
print(result['result'])Use Cases
- knowledge graph Q&A
- entity relationships
- complex RAG
Tags
Related Snippets
Similar patterns you can reuse in the same workflow.
pythonbeginner
LangChain Prompt Chain (Python)
Build a simple LLMChain with a prompt template and ChatOpenAI in LangChain.
Best for: prompt chaining
#langchain#openai
typescriptadvanced
LangChain RAG Chain Pipeline
Build a retrieval-augmented generation chain with LangChain using vector store retrieval and prompt templates.
Best for: Document Q&A
#langchain#rag
pythonadvanced
Build a RAG Pipeline with LangChain
Implement retrieval-augmented generation using LangChain, embeddings, and a vector store.
Best for: Knowledge base Q&A
#ai#langchain
pythonintermediate
LangChain Conversation with Memory
Maintain conversation context across turns using LangChain memory modules.
Best for: Multi-turn chatbots
#ai#langchain