假设我在csv
中有下表。
elementID | groupID | sequence
abc | A | 0
dcv | A | 1
asd | B | 3
ccc | B | 2
abc | B | 4
我已经在Neo4j中创建了Element
节点(sequence
不是节点的属性),其密钥为elementID
。
从这个csv
,我需要创建一个从属于一个组的每个Element
节点到属于具有下一个sequence
编号的同一组的另一个元素的关系。
使用上面的数据,我需要创建从abc
到dcv
(例如标记为A
),从asd
到abc
(标记为B
),然后从ccc
到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
变量,我只有{ {1}}节点。
我该怎么办?有没有办法使用表示from
中另一个条目的第二个变量来用于第二个csv
?
在最后一种情况下,我需要在其上表达条件,例如:
MATCH