使用 LangChain 與 Neo4j 的 Graph RAG
Adam Cowley
Manager, Developer Education at Neo4j
MATCH
MATCH ( ) ( )
MATCH ( :Person) ( :Movie)
MATCH ( :Person)- ->( :Movie)
MATCH ( :Person)-[ :ACTED_IN]->( :Movie)
MATCH (a:Person)-[r:ACTED_IN]->(m:Movie)
MATCH (a:Person)-[r:ACTED_IN]->(m:Movie)WHERE a.name = 'Tom Hanks'
MATCH (a:Person)-[r:ACTED_IN]->(m:Movie)WHERE a.name = 'Tom Hanks'RETURN a.name, m.title AS movieTitle, r.roles AS roles

使用 CREATE 子句可在圖中建立樣式
CREATE (p:Person {name: "Adam"})CREATE (c:Company {name: "Neo4j"})CREATE (p)-[:WORKS_FOR]->(c)
MERGE 子句會在圖中尋找或建立樣式
MERGE (p:Person {name: "Adam"})MERGE (c:Company {name: "Neo4j"})
from langchain_neo4j import Neo4jGraph
graph = Neo4jGraph(url=NEO4J_URI, username=NEO4J_USERNAME, password=NEO4J_PASSWORD)
# 執行一段 Cypher 陳述式 graph.query("MATCH (p:Person {name: $name}) RETURN p",{"name": "Your name"})
使用 LangChain 與 Neo4j 的 Graph RAG