Создание пути узлов - PullRequest
       7

Создание пути узлов

0 голосов
/ 20 октября 2018

Если у меня должен быть массив, и я хочу MERGE всех элементов в массиве в путь узлов, чтобы при задании имени отношения узлы были созданы, если они еще не существовали, а затем присоединилисьдруг под другом, в котором последний элемент в массиве будет листовым узлом.Как мне написать это в CYPHER?

Ответы [ 2 ]

0 голосов
/ 22 октября 2018

Ответ Томажа правильный, и способ сделать это с помощью только Cypher.

В дополнение к этому, если у вас установлено Процедуры APOC , вы можете использовать процедуру для выполненияэта ссылка для вас.

Используя запрос Томажа с небольшим изменением:

WITH [1,2,3,4,5] as start
UNWIND start as a
MERGE (l:Label{id:a})
WITH collect(l) as array
CALL apoc.nodes.link(array, 'NEXT')
RETURN true // since we can't end the query on a procedure call
0 голосов
/ 20 октября 2018

Я не совсем уверен, правильно ли я вас понимаю, но если вы хотите преобразовать массив элементов в последовательный путь узлов, используйте следующий запрос:

WITH [1,2,3,4,5] as start
UNWIND start as a
MERGE (l:Label{id:a})
WITH collect(l) as array
    FOREACH(i in RANGE(0, length(array)-2) |
       FOREACH(element1 in [array[i]] |
           FOREACH(element2 in [array[i+1]] |
    MERGE (element1)-[:NEXT]->(element2))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...