Interogarea unui graf de cunoștințe

Graph RAG cu LangChain și Neo4j

Adam Cowley

Manager, Developer Education at Neo4j

Cypher folosește potrivire de tipare cu ASCII-art

 

Un tipar de graf cu Person acted in Movie

 

MATCH


Graph RAG cu LangChain și Neo4j

Cypher folosește potrivire de tipare cu ASCII-art

 

Un tipar de graf cu Person acted in Movie

 

MATCH (        )               (       )


Graph RAG cu LangChain și Neo4j

Cypher folosește potrivire de tipare cu ASCII-art

 

Un tipar de graf cu Person acted in Movie

 

MATCH ( :Person)               ( :Movie)


Graph RAG cu LangChain și Neo4j

Cypher folosește potrivire de tipare cu ASCII-art

 

Un tipar de graf cu Person acted in Movie

 

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


Graph RAG cu LangChain și Neo4j

Cypher folosește potrivire de tipare cu ASCII-art

 

Un tipar de graf cu Person acted in Movie

 

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


Graph RAG cu LangChain și Neo4j

Cypher folosește potrivire de tipare cu ASCII-art

 

Un tipar de graf cu Person acted in Movie

 

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


Graph RAG cu LangChain și Neo4j

Filtrarea rezultatelor

 

Un tipar de graf cu Person acted in Movie

 

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

WHERE a.name = 'Tom Hanks'
Graph RAG cu LangChain și Neo4j

Controlul rezultatelor

 

Un tipar de graf cu Person acted in Movie

 

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 cu LangChain și Neo4j

Cum funcționează Cypher

o diagramă care ilustrează un nod în centrul unei rețele și relațiile sale, evidențiind traseul parcurs prin rețea

Graph RAG cu LangChain și Neo4j

Clauza CREATE

Clauza CREATE creează un tipar în graf

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

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

Clauza MERGE

Clauza MERGE caută sau creează un tipar în graf

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

MERGE (c:Company {name: "Neo4j"})
Graph RAG cu LangChain și Neo4j

Instrucțiuni Cypher în 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 cu LangChain și Neo4j

Hai să exersăm!

Graph RAG cu LangChain și Neo4j

Preparing Video For Download...