由于"name"的空属性值,无法合并以下节点:



我的代码:

LOAD CSV WITH HEADERS FROM "file:///C:/test1.csv" AS line
MERGE (n:SiteA {name: line.SiteA})
MERGE (m:SiteB {name: line.SiteB})
MERGE (n) -[:has_device_function]-> (m);

我的错误:

无法合并以下节点,因为'name'的属性值为空:(:SiteA {name: null})

你能帮我一下吗?

try this

LOAD CSV WITH HEADERS FROM "file:///C:/test1.csv"AS行匹配(n:SiteA {name: line.SiteA})其中n.name不为空{name: line.SiteB}),其中m.name不为空- - - - - - [: has_device_function]→

(m);

需要注意两件事:过滤掉空值,在为新关系初始提取节点时使用MATCH而不是merge。

为了容易地避免这种问题,我通常为我的CSV传递null项的默认值(通常是DELETE_ME_PLEASE)。然后我用这个来匹配和删除节点。

首先,要确定一下:这意味着CSV中有些行的名称列是空的。

也就是说,您可以在继续查询之前从CSV中删除行:

LOAD CSV WITH HEADERS FROM "file:///C:/test1.csv" AS line
WITH line WHERE line.name IS NOT NULL
MERGE (n:SiteA {name: line.SiteA})
MERGE (m:SiteB {name: line.SiteB})
MERGE (n) -[:has_device_function]-> (m);

Csv只需要逗号,这是工作…

最新更新