如何在Neo4j中创建与Neo4j中两个csv条目匹配的两个节点之间的边缘?

时间:2019-05-30 10:54:47

标签: csv neo4j cypher relationship load-csv

假设我在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编号的同一组的另一个元素的关系。

使用上面的数据,我需要创建从abcdcv(例如标记为A),从asdabc(标记为B),然后从cccasd再次标记为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

0 个答案:

没有答案