【问题标题】:Neo4J: Renaming property keysNeo4J:重命名属性键
【发布时间】:2015-04-21 12:11:39
【问题描述】:

我刚开始使用 Neo 并试图寻找有关此主题的先前问题。我需要帮助来重命名其中一个属性键。

我创建了以下节点:

CREATE (Commerce:Category {title:' Commerce', Property:'Category', Owner:'Magic Pie', Manager:'Simple Simon'})

现在想将标题重命名为名称。有没有办法做到这一点?我不想删除该节点,因为有 100 个具有属性“title”的节点。

【问题讨论】:

    标签: neo4j cypher


    【解决方案1】:

    是的,您想用旧属性title 的值来SET 一个新属性name。然后REMOVE 旧属性title。像这样的...

    MATCH (c:Category)
    WHERE c.name IS NULL
    SET c.name = c.title
    REMOVE c.title
    

    如果您有许多节点,建议以较小的批次执行操作。这是一次将操作限制为 10k 的示例。

    MATCH (c:Category)
    WHERE c.name IS NULL
    WITH c
    LIMIT 10000
    SET c.name = c.title
    REMOVE c.title
    

    【讨论】:

    • 有趣的事实,但是当您将查询传递给 Neo4j 时,它会在执行操作之前将所有内容加载到内存中。这就是为什么 Neo4j 浏览器在运行怪物查询时会长时间崩溃的原因。有一个 cypher shell program 你可以得到明显的补救措施,但如上所述,这是由于缺乏批处理。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-25
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多