我一直在尝试按照 neo4j 谷歌组和其他在线资源中的建议运行此查询:
START n = node(*) MATCH n-[r?]-() WHERE ID(n)>0 DELETE n, r;
为了删除测试之间的所有节点和关系。当我从控制台执行此操作时,我用完了 java 堆空间。当我从 python 执行此操作时(使用新出现的 graph_db.clear(),它使用相同的查询),我得到一个“SystemError:None”,我认为这是相同的 java 堆空间错误。我有一个包含 500k 个节点、只有 5k 个关系和 7M 个属性的数据库。我正在使用 neo4j-1.8.1 的 Mac 笔记本电脑 (10.6.8) 上运行 8GB RAM。我想我有点惊讶删除节点(基本上没有关系,所以非常小的子图)会超过 java 堆空间,但我对 neo4j 的工作原理非常天真。任何有关如何前进的建议表示赞赏。我确实知道数据目录中的 rm -rf 并从头开始会起作用,但我认为可能有一个不那么激烈的解决方案。
[交叉发布到 neo4j 谷歌群组]