gpt4 book ai didi

neo4j - 从 neo4j 中删除标签引用

转载 作者:行者123 更新时间:2023-12-01 21:24:30 24 4
gpt4 key购买 nike

在从电子表格导入大量数据时,我尝试使用标签约定,其中节点大写,如“This”,关系标签标记为“THIS”。在一个例子中,我不小心对一组节点使用了关系标签格式。然后我删除了这些节点并使用正确的标签格式重新导入它们。 (附带问题 - 有没有办法重命名我没有看到的标签,从而避免删除/重新导入?)

我的问题是,在内置的 Cypher 浏览器(Neo4j 2.1.3)中,正确和错误的标签都会显示在节点列表上,即使有零个节点带有错误的标签。因此,虽然我成功删除了节点,但我不知道如何删除标签 - 不是从节点中删除标签,使用 REMOVE 命令这很容易,而是完全从数据库中删除。当分配给它的项目达到零时,为什么它没有自动删除这个标签?

更具体地说,我可以单击“MEASURES”的节点标签,然后会触发此查询:

MATCH (n:`MEASURES`) RETURN n LIMIT 25

结果如下:

Returned 0 rows in 77 ms

我想从数据库中完全删除标签“MEASURES”,因为没有任何东西使用它。如果您需要更多信息,请告诉我。

最佳答案

我认为还没有一种内置方法可以从 Neo4j 数据库中完全删除不再使用的标签。我还对 Neo4j 浏览器 Web UI 等地方仍然出现过时的标签感到恼火。

我知道一种删除它们的方法,但如果您的数据库很大,那么它可能不实用,并且它可能并不完全安全。因此,如果您选择执行以下操作,则应确保备份原始数据库(例如,应复制原始 graph.db 文件夹或将其重命名)。

技术其实很简单。您只需导出所有数据,关闭neo4j,删除或重命名原始graph.db文件,重新启动neo4j,然后重新导入数据即可。以下步骤假设您位于 Linux 环境中的 Neo4j 安装文件夹中,并且 Neo4j 未作为服务运行。

  1. 导出数据(作为将重新创建数据的 CYPHER 语句):

    ./bin/neo4j-shell -c "dump"> mydump.cql

  2. 关闭 neo4j(因为在数据库运行时删除或重命名 graph.db 是不安全的):

    ./bin/neo4j 停止

  3. 重命名当前的 graph.db 文件夹,以防万一您需要替换下面创建的新文件夹:

    mv data/graph.db data/graph.db.archive

  4. 重新启动neo4j,它将自动创建一个新的graph.db文件夹:

    ./bin/neo4j开始

  5. 从转储中重新导入数据:

    ./bin/neo4j-shell -file mydump.cql

此时,过时的标签应该从各处消失(您应该重新加载所有 neo4j 网页)。

关于neo4j - 从 neo4j 中删除标签引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25533854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com