私は2つのオプションのマッチを(以下に示すように)作成しようとしましたが、ユニオンの代わりに2つの交点が得られます。 必要な共用体を取得するために、このクエリをどのように変更する必要がありますか?Cypher for neo4j
optional match (a:PA)-[r2:network*2]-(b:PA) where a.last_name='smith'
And Not (a:PA)-[:network]-(b:PA)
optional match (a:PA)-[r3:network*3]-(b:PA) where a.last_name='smith'
And Not (a:PA)-[:network]-(b:PA)
return b.first_name, count(r2), count(r3)
このグラフデータベースは、社会的network.Through私は、ユーザーの(スミス)ネットワークと、彼らは第二度として現れる倍の数の二度の接続を見つけることを試みた最初のオプションの試合を模倣することになっています彼のネットワークでの接続。 2度目の一致は3度目の接続でも同じです。
しかし、この照会では、2つのオプションの一致の組み合わせが返されています。つまり、2度と3度の両方の接続としてマップできる名前のみがカウントされています。ユーザー(smith)。
代わりに、第2度と第3度のすべての接続の名前を数えたいと思います。 このクエリを修正して必要な結果を得るにはどうすればよいですか?