根据节点属性创建订单关系

时间:2018-06-12 21:24:24

标签: neo4j cypher

我是Neo4j的新手,我创建了一些名为'order'的节点。我想在每个节点之间创建一个关系,它遵循'order'属性隐含的顺序,但我不知道如何。

示例:

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

会给:

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

//这不是Neo4j语法,这只是为了让我的问题清楚。

提前,非常感谢你:)

1 个答案:

答案 0 :(得分:2)

此查询应以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)