知识库

如何使用 LOAD CSV 更新/设置现有节点的属性

可以使用 LOAD CSV 对现有节点进行批量更新,并创建新节点,如下所示。

如果我们有一个名为 Movies.csv 的 .csv 文件,其内容为

code,wysiwyg-indent3
code,wysiwyg-indent3
101,The Matrix,463420706
102,The Matrix Reloaded,738576929
103,The Matrix Revolutions,427289109
104,A Few Good Men,24234017

并且当前图形包含带有 Movie 标签的节点,对应于列出的前三部电影,那么以下 LOAD CSV Cypher 语句将导致更新这三部现有 Movie 节点的 TotalRevenue 属性,并为第四部电影(即 A Few Good Men)创建一个新节点。

LOAD CSV FROM "file:///Movies.csv" AS csvLine
MERGE (n:Movie {id:csvLine[0]})
ON CREATE SET n.id=csvLine[0],n.name=csvLine[1], n.TotalRevenue = csvLine[2]
ON MATCH SET n.TotalRevenue = csvLine[2]

第一次运行上述 Cypher 将导致

Added 1 label, created 1 node, set 7 properties

随后重新运行相同的 LOAD CSV 将导致

Set 4 properties