为什么我删除的属性键仍会显示?
当使用 Neo4j 浏览器并选择左侧框架和名为 Database Information
的顶部图标,或使用内置存储过程 db.propertyKeys()
时,您可能会看到不再与任何节点关联的属性键。这是预期行为。例如,使用 Neo4j 浏览器连接到空图,如果随后运行 :play movies
,则可以使用示例数据集填充该图。图填充完成后,如果再运行 match (n) detach delete n;
,这将从图中删除所有节点/关系。
然而,浏览器和存储过程都会显示电影图中的属性键,无论它们是否与任何节点关联,例如

与 labels
和 relationship types
不同,它们具有报告每个对象数量的底层元数据,而属性键没有元数据。
如果您需要移除属性键,您的选择是
-
重新创建图
或
-
使用 https://github.com/jexp/store-utils,这是一个离线进程,用于读取 graph.db 并将其(内容、节点、关系)复制到新的 graph.db,并且只包含与节点关联的属性键。
此页面有帮助吗?