Cypher: итерация и добавление отношений в подграфе - PullRequest
0 голосов
/ 29 апреля 2019

У меня есть узлы с меткой A и узлы с меткой B. Каждый узел A имеет несколько узлов B, связанных с ними (a)-[:c1]-(b).

Я хочу выполнить запрос Cypher, чтобы добавить соединения между всеми узлами B, которые связаны с одним и тем же узлом A. Что-то вроде

match (a:A)<-[:c1]-(b:B)
with collect (b) as bbs
foreach(b in bbs | merge (b1)-[:c2]-(b2) ) 

но я еще не нашел правильный запрос. Я пробовал ключевые слова foreach(), unwind, apoc.path.subgraphAll(), relationships(), startNode() и т. Д.

1 Ответ

1 голос
/ 29 апреля 2019

Вам не нужны эти функции для этой задачи.

Вы можете сделать это просто с помощью следующего запроса:

MATCH (thisB:B)-[:c1]->(a:A)<-[:c1]-(otherB:B)
MERGE (thisB)-[:c2]-(otherBs)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...