2

シェルコンソールでこのコマンドを実行すると、このエラーが発生しました(推奨事項にバイアスがかかるため、グラフからスーパーノードを削除したいだけです):

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

ノードを直接削除するときにも同じエラーが表示されます(後で、最初にそれらの関係を削除する必要があることに気付きました)。同じクエリを実行するが、DELETEコマンドをRETURNに置き換えると、すべてが機能します。

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です。グラフ全体にバイアスがかからないように、スーパーノードを適切かつ簡単に削除/削除するにはどうすればよいですか?それらの関係を削除することも十分です。

4

1 に答える 1

4

気にしないで、私の間違い。

match句n--rは両側にノードを与えるため、relがまだある場合はノードを削除できません。MATCH n- [r]-()への変更は機能します。

于 2012-11-22T11:09:17.483 に答える