たとえば、の場合を含む関係、「友人」は、通常のようにモデル化されるだろうさあ、言わせこの場合、単一の関係または2つの関係を使用する必要がありますか?</p>その後、として取得され <pre><code>(x:User)-[:FRIEND]->(y:User) </code></pre> <p>:ソーシャルネットワーキングプラットフォーム上
MATCH (x:User)-[:FRIEND]-(y:User) RETURN x, y
、 x
とy
:お互いに友人ではあるが、y
は本当に信頼していない。x
; x
でもそうは感じませんy
。だから、
は、y
の観点から、データモデルは、実際にある:、したがって
(x)-[:FRIEND]->(y)
何か:
(y)-[:FRIEND {untrusted: true}]->(x)
しかし、x
の観点から、それは物事がどのように見えるかではありませんこのような関係を作成することは明らかに不適切です:
MATCH (x:User {...}), (y:User {...}) MERGE (x)-[f:FRIEND]->(y) SET f.untrusted = true
...今、物事はユーザーの両方の観点から、このように見える終わるので:
(x:User {...})-[:FRIEND {untrusted: true}]->(y:User)
(x:User {...})<-[:FRIEND {untrusted: true}]-(y:User)
一般的なアドバイスは、通常、ほとんどの場合、2つの個別の関係を予防することである、しかし、どのように私はおよそ行くべき関係のこのケースをモデリングしますか?