Fråga en kunskapsgraf

Graph RAG med LangChain och Neo4j

Adam Cowley

Manager, Developer Education at Neo4j

Cypher är mönstermatchning med ASCII-konst

 

Ett grafmönster av Person acted in Movie

 

MATCH


Graph RAG med LangChain och Neo4j

Cypher är mönstermatchning med ASCII-konst

 

Ett grafmönster av Person acted in Movie

 

MATCH (        )               (       )


Graph RAG med LangChain och Neo4j

Cypher är mönstermatchning med ASCII-konst

 

Ett grafmönster av Person acted in Movie

 

MATCH ( :Person)               ( :Movie)


Graph RAG med LangChain och Neo4j

Cypher är mönstermatchning med ASCII-konst

 

Ett grafmönster av Person acted in Movie

 

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


Graph RAG med LangChain och Neo4j

Cypher är mönstermatchning med ASCII-konst

 

Ett grafmönster av Person acted in Movie

 

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


Graph RAG med LangChain och Neo4j

Cypher är mönstermatchning med ASCII-konst

 

Ett grafmönster av Person acted in Movie

 

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


Graph RAG med LangChain och Neo4j

Filtrera resultat

 

Ett grafmönster av Person acted in Movie

 

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

WHERE a.name = 'Tom Hanks'
Graph RAG med LangChain och Neo4j

Styra utdata

 

Ett grafmönster av 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 med LangChain och Neo4j

Hur Cypher fungerar

ett diagram som visar en nod i mitten av ett nätverk och hur dess relationer expanderas för att lyfta fram den väg som tas genom nätverket

Graph RAG med LangChain och Neo4j

Satsen CREATE

Satsen CREATE skapar ett mönster i grafen

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

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

Satsen MERGE

Satsen MERGE hittar eller skapar ett mönster i grafen

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

MERGE (c:Company {name: "Neo4j"})
Graph RAG med LangChain och Neo4j

Cypher-satser i 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 med LangChain och Neo4j

Nu kör vi en övning!

Graph RAG med LangChain och Neo4j

Preparing Video For Download...