如何使用定期提交

时间:2018-03-12 13:24:24

标签: neo4j cypher neo4j-apoc

我在CSV文件中读取了一个名为node.lab的属性,其中包含标签列表。我想拆分并将其添加为每个节点上的标签。

由于节点数量巨大,我想用apoc.periodic.commit包装它。

我尝试了以下查询,但有些问题我无法完全理解。

call apoc.periodic.commit("MATCH (n:Node)
WITH n limit {limit}, split(n.lab) as labels
call apoc.create.addLabels(id(n), labels) yield node
with node
remove node.lab
remove node:Node ", {limit:100000});

我觉得查询的第二行有一些问题,但无法弄明白。需要帮忙。

1 个答案:

答案 0 :(得分:0)

LIMIT子句应该在WITH子句的末尾使用:

call apoc.periodic.commit("MATCH (n:Node)
    WITH n, split(n.lab) as labels limit {limit} call 
    apoc.create.addLabels(id(n), labels) yield node
    with node
    remove node.lab
    remove node:Node",
{limit:100000});