0

假设我在 a 中有下表csv

 elementID | groupID | sequence
     abc   |    A    |    0
     dcv   |    A    |    1
     asd   |    B    |    3
     ccc   |    B    |    2
     abc   |    B    |    4

我已经Element在 Neo4j 中创建了节点(sequence不是节点的属性),其属性为 key elementID

由此csv,我需要创建从属于一个组的每个Element节点到属于同一组的另一个元素的关系,该元素具有下一个sequence数字。

使用上面的数据,我需要创建一个关系 from abcto dcvA例如标记), from asdto abc(labeled B)和 from cccto再次asd标记B

我是这样想的查询:

LOAD CSV WITH HEADERS FROM "file:///file.csv" AS row
WITH row
MATCH (from:Element {elementID : row.elementID})
MATCH (to:Element {...})
MERGE (from)-[r:row.groupID]->(t)

问题是我不知道如何处理MATCH第二个节点,因为在图中我需要nodeID当前row变量的 while 我只有from节点的数据。

我该怎么做?有没有办法使用第二个变量来表示csv要用于第二个的另一个条目MATCH

在最后一种情况下,我需要对其表达条件,例如:

WHERE row2.sequence = row.sequence+1 AND row2.groupID = row.groupID
4

0 回答 0