2016-04-04 9 views
0

私は人とプロジェクトの簡単なグラフデータベースを持っています。唯一の関係は、誰がどのプロジェクトを担当したかです。人々の間のプロジェクトのコラボレーションを見つけてグラフ化するにはどうすればいいですか?Neo4jの共同作業者をグラフ表示する

私はちょうど人々のグラフと、コラボレーションのための接続線で結ばれることを望んでいます。

私はこのクエリを試してみましたが、それはノードだけではなく、関係を返します。

MATCH (valjean:person {person_id: "24601"})-[:WORKED_ON]->(project)<-[:WORKED_ON]-(collaborators) 
RETURN valjean, collaborators; 

答えて

0

あなたが関係に変数を追加し、それを返す必要がある - そうのように:

MATCH (valjean:person {person_id: "24601"})-[r1:WORKED_ON]->(project)<-[r2:WORKED_ON]-(collaborators) 
RETURN valjean, r1, r2, collaborators; 

私は関係とノードを報告するために "r1"と "r2"を追加しました。ここでは、「映画」の例を使用して

MATCH (valjean:person {person_id: "24601"})-[r1:WORKED_ON]->(project) 
MATCH (collaborators:person)-[r2:WORKED_ON]->(project) 
RETURN valjean, r1, r2, collaborators; 

ハル・ベリー以外のムービープロジェクトの一部であった他のみんなを見つける方法は次のとおりです:ここで

は同じことを行う別の方法です

match (p1:Person {name: "Halle Berry"})-[r]-(m:Movie {title: "Cloud Atlas"}) 
match (m)-[p]-(p2:Person) 
where p1 <> p2 
return m, p, p2 

目的が「レポート」形式で結果を取得することであれば、これはあなたが探しているものを提供します。しかし、グラフは表示されません。

match (p1:Person {name: "Halle Berry"})-[r]-(m:Movie {title: "Cloud Atlas"}) 
match (m)-[p]-(p2:Person) 
where p1 <> p2 
return p1, "WORKED_WITH", p2 
+0

これは非常に近いですが、まだプロジェクトノードを示しています。人とその継承された関係だけを示す方法はありますか? – Rachie

+0

「継承された関係」が何を意味するのか分かりません。あなたが精巧にできたら、私はあなたに提案を与えることができた。 –

+0

私は人々だけを見せて、一緒に働いているプロジェクトに基づいて関係を作りたいと思っています。基本的には、 '' WORKED_ON ''関係から派生した' 'WORKED_WITH''関係です。 – Rachie

関連する問題