Предположим, я хотел объединить новые ребра в мой график между двумя соседними узлами (так что после операции ребра, о которых идет речь, удваиваются, так сказать).py2neo установить новые грани между существующими узлами
У меня есть следующая запись возвращенное graph.cypher.execute(<some query>)
:
| p
---+----------------------------
1 | (:A)-[:r]->(:B)-[:r]->(:C)
Теперь я хотел бы, чтобы удвоить края (A, B) и (B, C). Для этого я написал этот код:
for record in graph.cypher.execute(<some query>):
for rel in record[0]:
self.graph.cypher.execute("MERGE "+str(self.graph.node(rel.start_node.ref))+"-[:new]->"+str(self.graph.node(rel.end_node.ref)))
Однако, я не получаю новые грани между существующими узлами, но два новых отношениями в общей сложности 4 новых узлов, потому что, по-видимому Neo не интерпретирует str(self.graph.node(rel.start_node.ref))
и str(self.graph.node(rel.end_node.ref))
как относящиеся к существующие узлы в графике. Как я могу это исправить?