ウォレット・ペア内のノードを除くすべてのウォレット・ノードを取得したいのですが、それらの間に1つだけの:SendTo
関係があり、他のウォレットとの間には:SendTo
の関係はありません。このクエリはその目的に合っていますか?:Cypher - このクエリは私の目的を達成するでしょうか?
MATCH (n:Wallet)
OPTIONAL MATCH (n)-[r1:SendTo]-(n1:Wallet)-[r12:SendTo]-(n2:Wallet)
WHERE n <> n1
WITH n,count(n1) + count(n2) as rels
OPTIONAL MATCH (n3:Wallet)-[r2:SendTo]-(n)-[r22:SendTo]-(n4:Wallet)
WHERE n <> n3
WITH n, rels, count(n3) + count(n4) as rels1
WHERE rels1 > 0 or rels>0
return n
私が行ったテストから、正しいと言えます。しかし、私は第二の意見を好むだろう。
グラフの作成方法:各ウォレットノードは、1つ以上の単方向の:SendTo
リレーションシップを介して別のウォレットノードまたはそのノードに接続されます。同じ2つのWalletノード間に1つ以上のそのような関係を持たせることは可能です。
こんにちは!良いアイデアは、あなたの質問に初期データの質量(Cypher CREATEコマンドのリスト、恐らくグラフの描画のリスト)を追加して、他のユーザーがより効率的にあなたを助けることです。 –
グラフの説明文を追加しました。 – Aqqqq
ノードから関係度を取得すると便利です。 WHERE degree> 1 AND ... ...のような 'WITH n、size((n) - [:SendTo] - – InverseFalcon