1

重複する双方向の関係

双方向の関係から一方向の関係だけを示すことはできますか?

(n)-[:EMAIL_LINK]->(m)

(n)<-[:EMAIL_LINK]-(m)

4

1 に答える 1

3

問題の関係タイプに方向セマンティクスがない場合は、グラフ内で 1 回だけ使用し、クエリ中に方向を省略することをお勧めし(a)-[:EMAIL_LINK]-(b)ます(a)-[:EMAIL_LINK]->(b)

異なる方向で重複した関係を取り除くには、次を使用します。

MATCH (a)-[r1:EMAIL_LINK]->(b)<-[r2:EMAIL_LINK]-(a)
WHERE ID(a)<ID(b)
DELETE r2

グラフが大きい場合は、 を追加して、LIMITすべてが処理されるまでクエリを複数回実行することにより、適切なトランザクション サイズを確保する必要があります。

注意:WHERE ID(a)<ID(b)が必要です。そうabないと、後の反復で役割が変わる可能性があります。その結果r1r2ロールも変更され、両方が削除されます。

于 2015-02-20T08:26:27.210 に答える