Neo4j导入csv以生成特定图形

Neo4j导入csv以生成特定图形,neo4j,graph-databases,Neo4j,Graph Databases,我是Neo4j新手,在Neo4j上做一些练习 我有一个带有标题的csv文件: product,material aa,bb aa,cc cc,bb dd,aa 我想将其导入N4j并创建一个名为from的关系 并希望它是这样的图形: 起初我认为这很容易,我挣扎了2秒,然后放弃了。。。 我需要帮助。 我的代码在这里: load csv with headers from"files:\\test.csv" as file merge (p:product {id:file.product}) me

我是Neo4j新手,在Neo4j上做一些练习

我有一个带有标题的csv文件:

product,material
aa,bb
aa,cc
cc,bb
dd,aa
我想将其导入N4j并创建一个名为from的关系 并希望它是这样的图形: 起初我认为这很容易,我挣扎了2秒,然后放弃了。。。 我需要帮助。 我的代码在这里:

load csv with headers from"files:\\test.csv" as file
merge (p:product {id:file.product})
merge (m:material {id:file.material})
create (p)-[:from]->(m)
结果如下:

所以

1.如何使aa只创建一个节点

2.如何使节点显示aabb…而不是数字


3.顺便说一句,在n4j手册中,导入工具和加载csv之间有什么区别?

问题是您在创建查询中使用了不同的标签

CSV中的第2行创建id为“cc”的:材质节点。 虽然第3行中有“cc”作为id,但它用于:product节点。在第3行上执行时,不存在id为“cc”的:product节点存在id为“cc”的:material节点,但由于标签不同,匹配失败,因此创建了一个新的:product节点

“aa”也是如此。CSV中的第1行和第2行合并了一个:产品节点“aa”,但在第4行中,id代表一个:物料节点。同样,标签是不同的,因此它不会重用以前创建的节点

要实现所需的图形,如果所有ID都指向同一节点,则合并中的标签也必须相同