首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cypher查询提供不必要的关系

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

Stack Overflow用户
提问于 2017-08-18 14:58:43
回答 1查看 186关注 0票数 2

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

代码语言:javascript
复制
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接口中提供了以下输出。

在图像中,“Mr”(节点不显示正确的名称)是员工。“美国”是雇主的潮流。“未知”是他/她过去工作过的公司,“医生”是“未知”公司与“先生”的关联雇员。

我有两个问题:

  1. 从“医生”到“未知”,它为什么显示所有的关系?我怎么能只显示一种相关的关系?目前,它显示了所有“医生”到“未知”的关系。
  2. 我怎样才能对“先生”和“未知”做同样的事情呢?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-18 16:00:26

我认为这些关系只存在于Neo4j浏览器的图形可视化模式中。如果您将可视化模式更改为"Text“、"Table”或"Code“,则不会显示这些关系。也就是说:图形可视化模式试图为您“完成”图形。

要获得所需的结果,您应该转到“图形可视化”部分Neo4j浏览器设置的,并取消选中选项"Connect result nodes",如下图所示:

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45759688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档