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

3

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

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


START n=node(*)
DELETE n;

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

我们真的找不到一个好的方法来做这件事。应该使用控制台、HTTP还是数据浏览器呢?
感谢任何的建议。
问候,regs
2个回答

2
我会使用neo4j-shell来完成这个任务:
bin/neo4j-shell < myScript.cql

如果只想删除数据库中的所有内容,您也可以执行以下操作:

bin/neo4j stop; rm -rf data/graph.db; bin/neo4j start

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"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接