2017-07-05 12 views
0

neo4jの関係を「崩壊させる」ことは可能ですか?私は人々の関係をグラフ化しようとしています。共有コース、共同執筆論文、RTやツイートの言及など、複数の異なる方法で関連付けることができます。今は人、コース、論文、つぶやきをすべてノードとしてモデリングしています。しかし、私が本当に興味を持っているのは、これらの中間ノードを通過する人と人との関係をモデリングすることです。コースをノードとして保持したまま暗黙の関係(人 - コース - 人)を明示的に(人 - 人)グラフ化することは可能ですか?このようなものhttp://catalhoyuk.stanford.edu/network/teams/ - スライド2と3。崩壊の関係Neo4j?

他のデータモデリングの提案も歓迎します。

答えて

0

はい、できます。クエリ

MATCH(a:Person)-->(:Course)<--(b:Person) 
CREATE (a)-[:IMPLICIT_RELATIONSHIP]->(b) 

意志クレート同じコースに関連するすべての人々の間でタイプ:IMPLICIT_RELATIONSHIPとの関係。しかし、おそらくあなたはaからbまで、そしてbからaまで横断することができるので、この余分で必要な関係はないので、おそらくそれを必要としません。また、プロジェクションでクエリ時に仮想関係を使用する場合は、APOC procedureapoc.create.vRelationshipを使用できます。

APOC手順のドキュメント言う:

仮想ノードとの関係グラフに存在しない、彼らは グラフのみ投影を表現するためのUI /ユーザに返されます。彼らは を視覚化したり、他の方法で処理することができます。彼らは 負のIDを持っていることに注意してください。