Working with Neo4j Relationships in Python: Practical Examples

27.09.2024

Working with Neo4j Relationships in Python: Practical Examples

When working with Neo4j, a popular graph database, understanding how relationships between nodes work is essential. In this article, we will explore practical examples of working with Neo4j relationships in Python.

Graph Data Science with Python and Neo4j: Hands-on Projects on ...

1. Installing Neo4j Python Driver

Before you can start working with Neo4j in Python, you need to install the Neo4j Python driver. You can do this using pip:

GraphAcademy Live: Neo4j & LLM Fundamentals – YouTube
Apr 25, 2024 … ‘ We go hands-on using Langchain and Python to seamlessly connect an LLM with Neo4j, using Cypher and Vector Indexes for robust AI applications.
pip install neo4j

2. Connecting to a Neo4j Database

Once you have installed the Neo4j Python driver, you can connect to a Neo4j database using the following code:

from neo4j import GraphDatabase  uri = "bolt://localhost:7687" driver = GraphDatabase.driver(uri, auth=("neo4j", "password"))

3. Creating Relationships Between Nodes

To create a relationship between two nodes in Neo4j, you can use a query like the following:

MATCH (a:Person), (b:Person) WHERE a.name = 'Alice' AND b.name = 'Bob' CREATE (a)-[:FRIENDS_WITH]->(b)

4. Retrieving Relationships Between Nodes

You can retrieve relationships between nodes in Neo4j using queries like the following:

MATCH (a:Person)-[r:FRIENDS_WITH]->(b:Person) RETURN a, b, r

5. Updating Relationships

If you need to update a relationship between nodes, you can do so using a query like this:

MATCH (a:Person)-[r:FRIENDS_WITH]->(b:Person) SET r.strength = 5

6. Deleting Relationships

To delete a relationship between nodes in Neo4j, you can use a query like the following:

MATCH (a:Person)-[r:FRIENDS_WITH]->(b:Person) DELETE r

7. Handling Relationships in Python

When working with Neo4j relationships in Python, you can use the Neo4j Python driver to execute queries and retrieve data. Here is an example:

def get_friends(tx, person_name):     result = tx.run("MATCH (a:Person {name: $name})-[:FRIENDS_WITH]->(b) RETURN b.name", name=person_name)     return [record["b.name"] for record in result]

8. Conclusion

In this article, we have explored practical examples of working with Neo4j relationships in Python. By understanding how to create, retrieve, update, and delete relationships between nodes, you can effectively work with graph data in Neo4j using Python.

Yan Hadzhyisky

fullstack PHP+JS+REACT developer