Cypher查询提供了不必要的关系

时间:2017-08-18 14:58:43

标签: neo4j cypher

我试图在cypher查询Web浏览器中只显示一个相关关系,但它显示节点之间的所有关系。我正在运行以下查询:

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"(节点选择显示专有名称)是员工。 "美国"是当前的雇主。 "未知"是他/她过去工作过的公司" Doctor"是" Mr"在"未知"公司。

我有两个问题:

  1. 来自" Doctor"到"未知",为什么它显示所有关系?我怎样才能只显示一个相关关系?目前它显示了所有" Doctor"到"未知"关系。

  2. 我怎样才能像上面那样做#34; Mr"到"未知"?

1 个答案:

答案 0 :(得分:5)

我相信这些关系只存在于Neo4j浏览器的图形可视化模式中。如果您将可视化模式更改为"文本","表"或"代码"这些关系不会显示出来。也就是说:图形可视化模式正试图完成"你的图表。

要获得所需的结果,您应该转到Neo4j浏览器设置的"图表可视化" 部分,然后取消选中" Connect result nodes&#34 ; 如下图所示:

Neo4j Browser Settings