Neo4j 从单个csv文件加载节点并创建关系
我必须加载一个具有id(cui)和疾病名称的CSV文件,其中一些id重复出现,但名称略有不同。我想创建具有唯一id的节点,并为所有其他稍有不同的名称创建节点。具有替代名称的节点将与初始节点具有关系Neo4j 从单个csv文件加载节点并创建关系,neo4j,cypher,Neo4j,Cypher,我必须加载一个具有id(cui)和疾病名称的CSV文件,其中一些id重复出现,但名称略有不同。我想创建具有唯一id的节点,并为所有其他稍有不同的名称创建节点。具有替代名称的节点将与初始节点具有关系[:HAS_alternative_name] 我有一个查询,它在node属性中附加了可选名称,这次我想通过为每个可选名称创建一个节点来规范化问题 USING PERIODIC COMMIT LOAD CSV WITH HEADERS FROM 'file:///Concepts_50000.csv'
[:HAS_alternative_name]
我有一个查询,它在node属性中附加了可选名称,这次我想通过为每个可选名称创建一个节点来规范化问题
USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM 'file:///Concepts_50000.csv' AS line
FIELDTERMINATOR '\t'
MERGE (d:Disease{id: line.CUI})
ON CREATE SET
d.prefered_name = line.name,
d.alternative_name = line.name
ON MATCH SET
d.alternative_name = d.alternative_name+', '+line.name;
最后,我希望有类似的情况,一种疾病有不同的名称节点
这可能会满足您的需求:
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)
[更新]
为了获得更好的性能,请确保您有:
:疾病(id)
:疾病名称(名称)