NEO4J双方向の関係
-
21-12-2019 - |
質問
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)
.
エンジンはどちらの方向にエッジを横断することができます。反方向エッジを作成することは不要であり、スペースとトラバース時間だけを浪費するのに役立ちます。
所属していません StackOverflow