从电子表格导入大量数据时,我尝试使用标签约定,其中节点大写为"This",关系标签标记为"THIS".在一个案例中,我偶然使用了一组节点的关系标签格式.然后,我删除了这些节点,并使用正确的标签格式重新导入它们.(附带问题 - 有没有办法重命名我看不到哪个标签可以避免删除/重新导入的标签?)
我的问题是,在内置的Cypher浏览器(Neo4j 2.1.3)中,正确和错误的标签都会显示在节点列表中,即使标签名称为零的节点也是如此.因此,当我成功删除节点时,我无法弄清楚如何删除标签 - 不是从节点中删除,这很容易使用REMOVE命令,但完全从数据库中删除.为什么当它分配的项目达到零时它不会自动删除此标签?
更具体地说,我可以单击MEASURES的节点标签,此查询将触发:
MATCH (n:`MEASURES`) RETURN n LIMIT 25
Run Code Online (Sandbox Code Playgroud)
结果如下:
Returned 0 rows in 77 ms
Run Code Online (Sandbox Code Playgroud)
我想从数据库中完全删除标签'MEASURES',因为没有使用它.如果您需要进一步的信息,请告诉我.
我认为还没有一种内置方法可以完全从neo4j DB中删除不再使用的标签.我也被过时的标签所困扰,这些标签仍然出现在像neo4j浏览器web UI这样的地方.
我知道有一种方法可以删除它们,但如果你的数据库很庞大,它可能不太实用,而且它可能不是完全安全的.因此,如果您选择执行以下操作,则应确保备份原始数据库(例如,您应复制原始graph.db文件夹或重命名).
这项技术实际上非常简单.您只需导出所有数据,关闭neo4j,删除或重命名原始graph.db文件,重新启动neo4j,然后重新导入数据.以下步骤假定您位于Linux环境中的neo4j安装文件夹中,并且neo4j未作为服务运行.
导出数据(作为将重新创建数据的CYPHER语句):
./bin/neo4j-shell -c"dump"> mydump.cql
关闭neo4j(因为graph.db在DB运行时删除或重命名是不安全的):
./bin/neo4j停止
重命名当前graph.db文件夹,以防您需要替换下面创建的新文件夹:
mv data/graph.db data/graph.db.archive
重启neo4j,会自动创建一个新graph.db文件夹:
./bin/neo4j开始
从转储中重新导入数据:
./bin/neo4j-shell -file mydump.cql
过时的标签应该从任何地方消失(你应该重新加载任何neo4j网页).
| 归档时间: |
|
| 查看次数: |
1661 次 |
| 最近记录: |