特定の関係タイプで Cypher を介してノードをクエリしようとしています。
したがって、2 つのノード A (ID 1) と B (ID 2) があります。管理 GUI 内で Cypher Console を使用しています。
これを行う場合: rel:1
2 つの関係 (ID 10 と 11) 2 つの同じノード (ID 3) の結果が得られます (これは悪いことですが、それがデータです)。関係を調べると、ノード 1 SimilarTo ノード 3 ノード 1 SimilarTo ノード 3 が表示されます。
私がこれを試してみると:
START n=node(*) MATCH n-[:SimilarTo]->b WHERE n.Name='A'
私は空の結果を得る!?
私の質問は、正しい開始ノードと正しい終了ノードを持つ 2 つのリレーションシップが存在するにもかかわらず、なぜその空の結果が得られるのでしょうか?
私はこれを理解できません。
何か提案があれば教えてください;)
OK私は別の例を作ります..
次のクエリを実行します。
START artist=node:artists('artistMbid:*')
MATCH artist-[:SimilarTo]->x-[:SimilarTo]->sim
WHERE artist.artistName! = 'Shining Fury'
RETURN artist.artistName, x.artistName, sim.artistName
そして、この結果を取得します(正しいです):
artist.artistName x.artistName sim.artistName
"Shining Fury" "Dragonsfire" "Holy Cross"
"Shining Fury" "Dragonsfire" "Holy Cross"
"Shining Fury" "Dragonsfire" "Lorenguard"
"Shining Fury" "Dragonsfire" "Lorenguard"
"Shining Fury" "Dragonsfire" "Shining Fury"
"Shining Fury" "Dragonsfire" "Shining Fury"
私がそれを行う場合:
START artist=node:artists('artistMbid:*')
MATCH artist-[:SimilarTo]->x-[:SimilarTo]->y-[:SimilarTo]->sim
WHERE artist.artistName! = 'Shining Fury'
RETURN artist.artistName, x.artistName, y.artistName, sim.artistName
私はこれを取得します(間違っています):
artist.artistName x.artistName y.artistName sim.artistName
"Shining Fury" "Dragonsfire" "Holy Cross" "Dragonsfire"
"Shining Fury" "Dragonsfire" "Holy Cross" "Ruffians"
"Shining Fury" "Dragonsfire" "Holy Cross" "Dragonsfire"
"Shining Fury" "Dragonsfire" "Holy Cross" "Ruffians"
"Shining Fury" "Dragonsfire" "Lorenguard" "Holy Cross"
"Shining Fury" "Dragonsfire" "Lorenguard" "Nightqueen"
"Shining Fury" "Dragonsfire" "Lorenguard" "Dragonsfire"
"Shining Fury" "Dragonsfire" "Lorenguard" "Holy Cross"
"Shining Fury" "Dragonsfire" "Lorenguard" "Nightqueen"
"Shining Fury" "Dragonsfire" "Lorenguard" "Dragonsfire"
前のステップで取得したように、y.artistName の下にアーティスト「Shining Fury」がないため、正しくありません。間違いが見つからない!
別の編集..
クエリ 1
START artist=node:artists('artistMbid:*')
MATCH artist-[:SimilarTo]->x-[:SimilarTo]->sim
WHERE artist.artistName! = 'Shining Fury'
RETURN ID(artist), ID(x), ID(sim)
結果:
ID(artist) ID(x) ID(sim)
210292 209410 228580
210292 209410 228580
210292 209410 212568
210292 209410 212568
210292 209410 210292
210292 209410 210292
クエリ 2:
START artist=node:artists('artistMbid:*')
MATCH artist-[:SimilarTo]->x-[:SimilarTo]->y-[:SimilarTo]->sim
WHERE artist.artistName! = 'Shining Fury'
RETURN ID(artist), ID(x), ID(y), ID(sim)
結果:
ID(artist) ID(x) ID(y) ID(sim)
210292 209410 228580 209410
210292 209410 228580 202357
210292 209410 228580 209410
210292 209410 228580 202357
210292 209410 212568 228580
210292 209410 212568 202279
210292 209410 212568 209410
210292 209410 212568 228580
210292 209410 212568 202279
210292 209410 212568 209410