2013-04-18 22 views
1

我认为这是一个简单的问题,但我无法找到答案。 我试过各种方式删除使用密码neo4j 1.6中的关系,但获取错误。使用密码删除neo4j 1.6中的关系

start n = node(1) match n-[r:KNOWS]-m delete r; 

我要删除所有关系的类型都知道,但我得到的错误 -

==> SyntaxException: expected return clause 
==> "start n = node(1) match n-[r:KNOWS]-m delete r; " 

即使我给

start n = node(1) match n-[r:KNOWS]-m delete r return count(r); 

它不工作。

注意:上述问题在neo4j 1.8上没有看到,但我必须以某种方式在neo4j 1.6上运行查询。

+1

你可以使用'neo4j-shell'和''traverse''和'rmrel'命令或javascript'eval'。由于商店格式没有改变,您应该*也能够在1.6版本上运行1.8版本的shell。但一定要做好备份! – 2013-04-18 11:45:04

+0

感谢Michael的回复,我是你的粉丝! eval适用于节点的小改动,但节点数量巨大(百万)需要花费数小时才能完成,并且不可靠(例如,getRelationships()适用于一个系统,而不适用于具有相同版本neo4j的另一个系统)。 – hack3r 2013-04-29 04:10:33

回答

2

您将无法使用1.6

不同诱变Cypher支架至少通过暗号要做到这一点可从1.8。 您可能必须使用API​​来删除。

+0

API需要很长时间才能删除关系/节点。我认为它涉及每个crudx操作的REST调用。 – hack3r 2013-04-29 04:12:44

0

经过一段时间的最佳方式为大量的节点做到这一点,将数据文件夹从neo4j 1.6实例移动到neo4j 1.8实例并运行cypher查询有最快的方式,并且优于neo4j上运行javascript -shell /调用REST API。

相关问题