在Cypher中为每个节点创建50个节点

时间:2019-12-06 13:16:59

标签: neo4j cypher

我只想用一个Cypher语句创建50个节点。 每个节点都应具有一个介于1到50之间的数字。

预期结果是:

(:Slot{number:1}), (:Slot{number:2}), (:Slot{number:3}), ...

有什么建议吗?

第2部分:

这些节点中的每个节点都应与另一个节点建立关系。 1盒装50个插槽 Diagram Link

MATCH (s:Slot) CREATE (b:Box{number:1}) WITH MAX(s.number) AS maxSlotNumber WITH COALESCE(maxSlotNumber, 0) AS lastExistingSlotNumber FOREACH (i in range(lastExistingSlotNumber+1, lastExistingSlotNumber+50) | CREATE (:Slot {number: i}))

这是我现在的代码,我希望所有这些插槽在创建时都与b有关联。

1 个答案:

答案 0 :(得分:0)

您可以通过以下几种方式进行操作-FOREACH是最短的方法:

FOREACH (i in range(1, 50) | MERGE (:Slot { number: i }))

或者您可以UNWIND以此方式range创建的整数数组:

UNWIND range(1, 50) AS i
MERGE (:Slot { number: i })