1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| from neo4j import GraphDatabase, RoutingControl
URI = "neo4j://localhost:7687" AUTH = ("neo4j", "password")
def add_friend(driver, name, friend_name): driver.execute_query( "MERGE (a:Person {name: $name}) " "MERGE (friend:Person {name: $friend_name}) " "MERGE (a)-[:KNOWS]->(friend)", name=name, friend_name=friend_name, database_="neo4j", )
def print_friends(driver, name): records, _, _ = driver.execute_query( "MATCH (a:Person)-[:KNOWS]->(friend) WHERE a.name = $name " "RETURN friend.name ORDER BY friend.name", name=name, database_="neo4j", routing_=RoutingControl.READ, ) for record in records: print(record["friend.name"])
with GraphDatabase.driver(URI, auth=AUTH) as driver: add_friend(driver, "Arthur", "Guinevere") add_friend(driver, "Arthur", "Lancelot") add_friend(driver, "Arthur", "Merlin") print_friends(driver, "Arthur")
|