Een kennisgrafiek bevragen

Graph RAG met LangChain en Neo4j

Adam Cowley

Manager, Developer Education at Neo4j

Cypher is patroonmatching met ASCII-art

 

Een graafpatroon: Persoon speelde in Film

 

MATCH


Graph RAG met LangChain en Neo4j

Cypher is patroonmatching met ASCII-art

 

Een graafpatroon: Persoon speelde in Film

 

MATCH (        )               (       )


Graph RAG met LangChain en Neo4j

Cypher is patroonmatching met ASCII-art

 

Een graafpatroon: Persoon speelde in Film

 

MATCH ( :Person)               ( :Movie)


Graph RAG met LangChain en Neo4j

Cypher is patroonmatching met ASCII-art

 

Een graafpatroon: Persoon speelde in Film

 

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


Graph RAG met LangChain en Neo4j

Cypher is patroonmatching met ASCII-art

 

Een graafpatroon: Persoon speelde in Film

 

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


Graph RAG met LangChain en Neo4j

Cypher is patroonmatching met ASCII-art

 

Een graafpatroon: Persoon speelde in Film

 

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


Graph RAG met LangChain en Neo4j

Resultaten filteren

 

Een graafpatroon: Persoon speelde in Film

 

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

WHERE a.name = 'Tom Hanks'
Graph RAG met LangChain en Neo4j

Uitvoer bepalen

 

Een graafpatroon: Persoon speelde in Film

 

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 met LangChain en Neo4j

Hoe Cypher werkt

een diagram met een knoop in het midden en uitklappende relaties die het gevolgde pad tonen

Graph RAG met LangChain en Neo4j

De CREATE-clausule

De CREATE-clausule maakt een patroon in de graaf

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

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

De MERGE-clausule

De MERGE-clausule vindt of maakt een patroon in de graaf

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

MERGE (c:Company {name: "Neo4j"})
Graph RAG met LangChain en Neo4j

Cypher-statements in LangChain

from langchain_neo4j import Neo4jGraph

graph = Neo4jGraph(url=NEO4J_URI, username=NEO4J_USERNAME, password=NEO4J_PASSWORD)
# Voer een Cypher-statement uit
graph.query(

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

Laten we oefenen!

Graph RAG met LangChain en Neo4j

Preparing Video For Download...