質問

Cypherを使ってNeo4Jで双方向関係を作り出す方法はありますか?EG:

の両方向に2つの方向に2つの方向性を作るのではなく、双方向であるとの関係が望ましいです。
(A)<-[FRIEND]->(B)
.

よりも

(A)-[FRIEND]->(B)
(A)<-[FRIEND]-(B)
.

事前にありがとう:)

役に立ちましたか?

解決

いいえ、いません。NEO4Jのすべての関係には、特定のノードでの方向、開始および終了があります。

回避策の数が多い。

  • 最初に、私たちは2つの関係を持つことができます、私たちは2つの関係を持つことができます、どちらがAからBへ、もう1つはBからAへのものです。

  • あるいは、一致クエリを書くときは、

    のようなクエリを使用して、パターンを一致させるように指定できます。
    MATCH (A)-[FRIEND]-(B) RETURN A, B
    
    .

    は、AがBとBやその逆のどちらであるかどうかを気にしなくて、関係を作成するときに任意に指示を選ぶことができます。

他のヒント

この記事によると: Neo4Jのモデリングデータ:双方向関係

厳密に良い選択は、任意の方向に関係を作成し、照会時の方向を指定しないようにします。

MATCH (neo)-[:PARTNER]-(partner)
.

エンジンはどちらの方向にエッジを横断することができます。反方向エッジを作成することは不要であり、スペースとトラバース時間だけを浪費するのに役立ちます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top