Как выполнить запрос, написанный на языке cypher (графовая субд neo4j) в Python?
Доброго времени суток! Работаю с графовой СУБД Neo4j, где имеется собственный язык запросов- Cypher.
У меня есть код нужного мне запроса, написанный на cypher:
WITH split(tolower("текст текст текст"), " ") AS text
UNWIND range(0, size(text)-2) AS i
MERGE (w1:Word {name: text[i]})
MERGE (w2:Word {name: text[i+1]})
MERGE (w1)-[:СЛЕД]->(w2)
Как я могу выполнить это в коде Python? Я знаю, что это можно делать с помощью библиотеки py2neo, но до сих пор у меня не получилось сделать это корректно.
Запрос же разбивает текст на слова, и заносит их в бд как nodes, создавая между ними связи.
Я выполняю запросы к neo4j с помощью другой библиотеки и выглядит это примерно вот так.
from neo4j import GraphDatabase
uri = "{}:{}".format(NEO4J_HOST, NEO4J_PORT)
driver = GraphDatabase.driver(uri, auth=(NEO4J_HOST_USER, NEO4J_HOST_PASSWORD))
with driver.session() as session:
result = session.run(YOUR_CYPHER_QUERY).values()
session.close()