从单个csv文件加载节点并创建关系

时间:2019-04-15 12:40:31

标签: neo4j cypher

我必须加载一个具有ID(cui)和疾病名称的CSV文件,某些ID在重复自己,但名称略有不同。我想为节点创建具有唯一ID的节点,并为所有其他稍有不同的名称创建节点。具有备用名称的节点将与初始节点具有'90000'关系。

我有一个查询,在节点属性中附加了备用名称,这一次我想通过为每个备用名称创建一个节点来规范化该问题。

'90999'

最后,我希望遇到这种情况,一种疾病具有备用名称节点。

Ideal result of the querry

1 个答案:

答案 0 :(得分:1)

这可能会做您想要的:

USING PERIODIC COMMIT 
LOAD CSV WITH HEADERS FROM 'file:///input.csv' AS line 
FIELDTERMINATOR '\t'
MERGE (d:Disease {id: line.CUI})
MERGE (n:DiseaseName {name: line.name})
MERGE (d)-[: HAS_ALTERNATIVE_NAME]->(n)

[已更新]

为获得更好的性能,请确保您使用indexes

  • :Disease(id)
  • :DiseaseName(name)