Truy vấn đồ thị tri thức

Graph RAG với LangChain và Neo4j

Adam Cowley

Manager, Developer Education at Neo4j

Cypher là khớp mẫu bằng ASCII-art

 

Mẫu đồ thị Người đóng trong Phim

 

MATCH


Graph RAG với LangChain và Neo4j

Cypher là khớp mẫu bằng ASCII-art

 

Mẫu đồ thị Người đóng trong Phim

 

MATCH (        )               (       )


Graph RAG với LangChain và Neo4j

Cypher là khớp mẫu bằng ASCII-art

 

Mẫu đồ thị Người đóng trong Phim

 

MATCH ( :Person)               ( :Movie)


Graph RAG với LangChain và Neo4j

Cypher là khớp mẫu bằng ASCII-art

 

Mẫu đồ thị Người đóng trong Phim

 

MATCH ( :Person)-            ->( :Movie)


Graph RAG với LangChain và Neo4j

Cypher là khớp mẫu bằng ASCII-art

 

Mẫu đồ thị Người đóng trong Phim

 

MATCH ( :Person)-[ :ACTED_IN]->( :Movie)


Graph RAG với LangChain và Neo4j

Cypher là khớp mẫu bằng ASCII-art

 

Mẫu đồ thị Người đóng trong Phim

 

MATCH (a:Person)-[r:ACTED_IN]->(m:Movie)


Graph RAG với LangChain và Neo4j

Lọc kết quả

 

Mẫu đồ thị Người đóng trong Phim

 

MATCH (a:Person)-[r:ACTED_IN]->(m:Movie)

WHERE a.name = 'Tom Hanks'
Graph RAG với LangChain và Neo4j

Kiểm soát đầu ra

 

Mẫu đồ thị Người đóng trong Phim

 

MATCH (a:Person)-[r:ACTED_IN]->(m:Movie)

WHERE a.name = 'Tom Hanks'
RETURN a.name, m.title AS movieTitle, r.roles AS roles
Graph RAG với LangChain và Neo4j

Cách Cypher hoạt động

sơ đồ minh họa một nút ở trung tâm mạng và các quan hệ được mở rộng để làm nổi bật đường đi qua mạng

Graph RAG với LangChain và Neo4j

Mệnh đề CREATE

Mệnh đề CREATE tạo một mẫu trong đồ thị

CREATE (p:Person {name: "Adam"})

CREATE (c:Company {name: "Neo4j"})
CREATE (p)-[:WORKS_FOR]->(c)
Graph RAG với LangChain và Neo4j

Mệnh đề MERGE

Mệnh đề MERGE sẽ tìm hoặc tạo một mẫu trong đồ thị

MERGE (p:Person {name: "Adam"})

MERGE (c:Company {name: "Neo4j"})
Graph RAG với LangChain và Neo4j

Câu lệnh Cypher trong LangChain

from langchain_neo4j import Neo4jGraph

graph = Neo4jGraph(url=NEO4J_URI, username=NEO4J_USERNAME, password=NEO4J_PASSWORD)
# Execute a Cypher statement
graph.query(

"MATCH (p:Person {name: $name}) RETURN p",
{"name": "Your name"}
)
1 Cypher injection: https://neo4j.com/developer/kb/protecting-against-cypher-injection/
Graph RAG với LangChain và Neo4j

Hãy thực hành!

Graph RAG với LangChain và Neo4j

Preparing Video For Download...