我有标签 TypeA 的节点,它有一个字符串属性 propA。propA 是一个字符串 JSON,可以使用 apoc.convert.fromJsonMap() 转换为映射。
我想创建 TypeB 的新节点,其属性为 propA,并在两个节点之间建立关系。我已成功运行以下查询:
MATCH (n:TypeA)
WITH apoc.convert.fromJsonMap(n.propA) AS values,n limit 1
MERGE (v:TypeB)
SET v=values
WITH n,v
MERGE (v)-[:RELATION_TYPE]->(n)
RETURN v,n;
但是,当我使用以下 apoc.periodic.iterate 来转换整个数据库时,它会引发错误。我运行的查询:
CALL apoc.periodic.iterate(
"MATCH (n:TypeA) RETURN n;",
"WITH apoc.convert.fromJsonMap(n.propA) AS values, n
MERGE (v:TypeB)
SET v=values
WITH n,v
MERGE (v)-[:RELATION_TYPE]->(n)
RETURN v,n;
",
{batchSize:10000, parallel: false});
错误:
{
"Expected ReferenceFromSlot(2) to be a map, but it was :`NO_VALUE`": 4382
}
非常感谢您的帮助。