0 purchases
redisgraph 2.4.4
redisgraph-py
RedisGraph python client
Example: Using the Python Client
import redis
from redisgraph import Node, Edge, Graph, Path
r = redis.Redis(host='localhost', port=6379)
redis_graph = Graph('social', r)
john = Node(label='person', properties={'name': 'John Doe', 'age': 33, 'gender': 'male', 'status': 'single'})
redis_graph.add_node(john)
japan = Node(label='country', properties={'name': 'Japan'})
redis_graph.add_node(japan)
edge = Edge(john, 'visited', japan, properties={'purpose': 'pleasure'})
redis_graph.add_edge(edge)
redis_graph.commit()
query = """MATCH (p:person)-[v:visited {purpose:"pleasure"}]->(c:country)
RETURN p.name, p.age, v.purpose, c.name"""
result = redis_graph.query(query)
# Print resultset
result.pretty_print()
# Use parameters
params = {'purpose':"pleasure"}
query = """MATCH (p:person)-[v:visited {purpose:$purpose}]->(c:country)
RETURN p.name, p.age, v.purpose, c.name"""
result = redis_graph.query(query, params)
# Print resultset
result.pretty_print()
# Use query timeout to raise an exception if the query takes over 10 milliseconds
result = redis_graph.query(query, params, timeout=10)
# Iterate through resultset
for record in result.result_set:
person_name = record[0]
person_age = record[1]
visit_purpose = record[2]
country_name = record[3]
query = """MATCH p = (:person)-[:visited {purpose:"pleasure"}]->(:country) RETURN p"""
result = redis_graph.query(query)
# Iterate through resultset
for record in result.result_set:
path = record[0]
print(path)
# All done, remove graph.
redis_graph.delete()
Installing
Install official release
pip install redisgraph
Install latest release (Aligned with RedisGraph master)
pip install git+https://github.com/RedisGraph/redisgraph-py.git@master
Install for development in env
Create a virtualenv to manage your python dependencies, and ensure it's active.
virtualenv -v venv; source venv/bin/activate
Install pypoetry to manage your dependencies.
pip install poetry
Install dependencies.
poetry install
tox runs all code linters as its default target.
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.