我们正在使用Neo4j进行一些实验,为此我们希望使用Cypher将数据加载并重新加载到Neo4j。我们想要启动这个结构的Cypher脚本(.cql):
// Remove existing nodes/rels
START r=rel(*)
DELETE r;
START n=node(*)
DELETE n;
// Load new data
CREATE ()....
我们真的找不到一种方法来做到这一点。我们应该使用控制台,http还是数据浏览器?
感谢您的任何意见。
暂存器
答案 0 :(得分:2)
我会使用neo4j-shell
:
bin/neo4j-shell < myScript.cql
仅删除数据库的所有内容,您也可以
bin/neo4j stop; rm -rf data/graph.db; bin/neo4j start
答案 1 :(得分:0)
您应该在事务块中封装语句。 begin ... commit
您删除了多少数据?
如果它太多,你可能想要翻页,否则交易状态对你的记忆来说太大了,可能会试验你可以一次删除多少。例如。
BEGIN
START r=rel(*)
WITH r
LIMIT 40000
DELETE r;
COMMIT
并根据需要重复。
确保您的neo4j-shell有足够的RAM(如果您不将shell连接到正在运行的服务器,那么执行将在服务器中运行)。修改bin/neo4j-shell
并设置
EXTRA_JVM_ARGUMENTS="-Xmx4G"