Создать отношение заказа на основе атрибутов узла - PullRequest
0 голосов
/ 13 июня 2018

Я новичок в Neo4j, и у меня есть несколько узлов, созданных с атрибутом 'order'.Я хотел бы создать отношения между каждой парой узлов, соблюдая порядок, подразумеваемый атрибутом 'order', но я понятия не имею, как.

Пример:

(:node { order: 2 }), (:node { order: 4 }), (:node { order: 1 })

даст:

(:node { order: 1 })->(:node { order: 2 })->(:node {order: 4)

// Это не синтаксис Neo4j, это просто чтобы прояснить мой вопрос.

Заранее большое спасибо :)

1 Ответ

0 голосов
/ 13 июня 2018

Этот запрос должен создать цепочку из node узлов в порядке order (используя отношения NEXT):

MATCH (n:node)
WITH n
ORDER BY n.order
WITH COLLECT(n) AS ns
UNWIND RANGE(0, SIZE(ns)-2) AS i
WITH ns[i] AS a, ns[i+1] AS b
CREATE (a)-[:NEXT]->(b)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...