使用Cypher将数据加载/重新加载到Neo4j中

时间:2013-08-06 05:23:09

标签: neo4j cypher

我们正在使用Neo4j进行一些实验,为此我们希望使用Cypher将数据加载并重新加载到Neo4j。我们想要启动这个结构的Cypher脚本(.cql):

// Remove existing nodes/rels
START r=rel(*)
DELETE r;


START n=node(*)
DELETE n;

// Load new data
CREATE ()....

我们真的找不到一种方法来做到这一点。我们应该使用控制台,http还是数据浏览器?

感谢您的任何意见。

暂存器

2 个答案:

答案 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"