我在shell控制台中执行此命令时遇到此错误(我只是想从图中删除超级节点,因为它们偏向于我的建议):
neo4j-sh (0)$ cypher 1.9 start n=node:node_auto_index('n_id_customer:*') match n--r with n,count(*) as cnt where cnt > 5000 with n match n--r2 with r2 delete r2;
TransactionFailureException: Unable to commit transaction
直接删除节点时出现相同的错误(后来我意识到我必须首先删除它们的关系)。当执行相同的查询但用RETURN替换DELETE命令时,一切正常:
cypher 1.9 start n=node:node_auto_index('n_id_customer:*') match n--r with n,count(*) as cnt where cnt > 5000 with n match n--r2 with r2 return count(r2);
+-----------+
| count(r2) |
+-----------+
| 181294 |
+-----------+
1 row
20615 ms
neo4j版本是1.9。 我怎样才能正确,轻松地删除/关闭超级节点,这样他们就不会偏向整个图形?删除他们的关系也足够了。
答案 0 :(得分:4)
没关系,我的错误。
match子句n-r给出了双方的节点,因此当仍然具有rel时不能删除节点。改为MATCH n- [r] - ()有效。