2017-08-18 14 views
1

サイファークエリWebブラウザに1つの関連関係のみを表示しようとしていますが、ノード間のすべての関係が表示されます。私は、次のクエリを実行しています:Cypherクエリで不必要な関係が発生する

MATCH (emp:Employee)-[e:EMPLOYED {dateendrole:"Current"}]->(c:Company {companyname:"xyza"}) 
MATCH (emp)-[ea:EDU_ASSOCIATED]->(ec:Company) 
MATCH (another_emp:Employee)-[ea1:EDU_ASSOCIATED {overlapyearstart:ea.overlapyearstart, overlapyearend:ea.overlapyearend}]->(:Company {comp_id:ec.companyId}) 
RETURN emp, e, c, ea, ec, another_emp, ea1, LIMIT 1; 

上記のクエリで私の意図は、従業員が一つの会社で現在採用し、それがあったか、または別の会社に採用されている別の会社に関連する従業員を見つけることです。 たとえば、従業員がその会社で以前に働いていて、現在xyza会社で働いている会社のある従業員を見つけます。

ここで、従業員と会社はノードです。それは関係の特性として重複年数を含む関連関係を有する。例えば(emp)-[:Associated{overlapyearstart:x, overlapyearend:y}]->(company)

従業員がある会社で別の従業員と働いていた場合、重複年数は同じになります。

上記のクエリは、neo4jのWebインターフェイスで次のように出力されます。 enter image description here

イメージでは、「Mr」(ノード名が正しく表示されていない)が従業員です。 「米国」は現在の雇用主です。 「Unknown」は過去に働いた会社、「Doctor」は「Unknown」会社の「Mr」の従業員です。

私は2つの質問しました:

  1. 「博士」から「不明」に、それはすべての関係を表示するなぜ?関連性のある関係を1つだけ表示するにはどうすればよいですか?現在、すべての "医者"から "不明"の関係が表示されます。

  2. "Mr"を "Unknown"に変更するには、どうすればよいですか?

答えて

4

これらの関係は、Neo4jブラウザの「グラフ」可視化モードにのみ存在すると考えています。ビジュアライゼーションモードを「テキスト」、「表」、「コード」に変更すると、これらの関係は表示されません。つまり、グラフビジュアライゼーションモードでグラフを「完成」しようとしています。

Neo4j Browser Settings

は、下の画像でshowようを「結果ノードを接続する」あなたはセクション 「グラフの可視化」のNeo4jブラウザ設定のに移動し、オプション をオフにする必要があり、所望の結果を達成するために、
+0

グラフの視覚化モードがグラフを「完成」しようとしているのはなぜですか?なぜそれがデフォルトの動作ですか? – smm

関連する問題