Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 2.1.2:无法使用与Neo4j 2.0.1一起使用的Cypher查询删除节点_Neo4j_Cypher - Fatal编程技术网

Neo4j 2.1.2:无法使用与Neo4j 2.0.1一起使用的Cypher查询删除节点

Neo4j 2.1.2:无法使用与Neo4j 2.0.1一起使用的Cypher查询删除节点,neo4j,cypher,Neo4j,Cypher,我最近从Neo4j 2.0.1升级到Neo4j 2.1.2,并在尝试删除节点时收到一个新错误 此代码在2.0.1中用于删除连接其他两个节点的节点,并将其替换为双向关系 MATCH (a:node {id: 1}) WITH a MATCH (b1:node)-[:rel]->(a)<-[:rel]-(b2:node) CREATE UNIQUE (b1)-[:rel]->(b2), (b2)-[:rel]->(b1) WITH a OPTIONAL MATCH (a)

我最近从Neo4j 2.0.1升级到Neo4j 2.1.2,并在尝试删除节点时收到一个新错误

此代码在2.0.1中用于删除连接其他两个节点的节点,并将其替换为双向关系

MATCH (a:node {id: 1})
WITH a

MATCH (b1:node)-[:rel]->(a)<-[:rel]-(b2:node)
CREATE UNIQUE (b1)-[:rel]->(b2), (b2)-[:rel]->(b1)
WITH a

OPTIONAL MATCH (a)-[r]-()
DELETE a, r
我尝试将其更改为:

MATCH (b1:node)-[r1:rel]->(a)<-[r2:rel]-(b2:node)
CREATE UNIQUE (b1)-[:rel]->(b2), (b2)-[:rel]->(b1)
DELETE r1, r2, a
匹配(b1:node)-[r1:rel]->(a)(b2)、(b2)-[:rel]->(b1)
删除r1、r2、a
但我仍然收到相同的错误消息。我还尝试将DELETE放在同一事务中的不同语句中,但也失败了。我检查了事务中所有语句的密码,删除后,a、r1和r2将不再被访问。删除此语句中的DELETE将导致事务成功

作为事务的一部分删除节点的正确方法是什么

更新

我不能得到一个可靠的复制这个错误,但肯定有什么问题。一切都会正常工作,然后突然我会收到关于节点被删除或关系未找到的错误消息

我已将其缩小为以下查询:

  MATCH (a:activity {id: { param0 } }), (i:file {id: { param1 } })
  CREATE (i)-[:HISTORY {id: i.id}]->(a)
  WITH a, i

  MATCH (i)-[r:HISTORY {id: i.id}]->(ph:activity)
  WHERE ph.id <> a.id
  CREATE (a)-[:HISTORY {id: i.id}]->(ph)
  DELETE r
MATCH(a:activity{id:{param0}}),(i:file{id:{param1})
创建(i)-[:HISTORY{id:i.id}]->(a)
带着一个,我
匹配(i)-[r:HISTORY{id:i.id}]->(ph:activity)
哪里有博士
创建(a)-[:HISTORY{id:i.id}]->(ph)
删除r
我将此作为更大事务的一部分发布,但是删除
DELETE r
会导致永远不会生成错误消息。否则我会随机得到:

错误代码:“”, 原始:&errors.errorString{s:“Neo4j返回无法加载id为2397的关系。(Neo.ClientError.Statement.EntityNotFound)”


奇怪的是,事务成功,即使产生错误也不会回滚。在这一点上,我相信这是一个时间问题,这就是为什么我不能得到一个坚实的改造。当问题发生时,我是否可以启用其他调试来帮助跟踪问题?

是否在更大的事务中运行此功能?还是仅仅作为一句话?针对嵌入式还是服务器?您能与我们共享该数据库吗?这是针对Neo4j服务器的事务端点的更大事务的一部分。我还没有将它作为一条语句进行测试,因为它在2.0.1中运行良好。我可以私下与您共享产生错误的事务的完整代码(执行此测试时,db为空)。我应该把它寄到哪里?不管怎样,我再也不能复制这个问题了(在今天下午点击它两个小时后…)。我在测试后删除了数据库,使用一个新的数据库,它不会遇到同样的问题。猜猜是不是有一个坏的索引什么的?如果我能让它再次发生,我会回复的。好的,谢谢。否则就把它寄给neo4j的michael。这绝对是个时间问题。我仍然在测试中偶尔看到它,一旦它开始出现,我通常必须删除数据库以使其停止。我已经更新了这个问题,是否可以启用其他调试来帮助跟踪此问题?
  MATCH (a:activity {id: { param0 } }), (i:file {id: { param1 } })
  CREATE (i)-[:HISTORY {id: i.id}]->(a)
  WITH a, i

  MATCH (i)-[r:HISTORY {id: i.id}]->(ph:activity)
  WHERE ph.id <> a.id
  CREATE (a)-[:HISTORY {id: i.id}]->(ph)
  DELETE r