Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j Cypher查询提供了不必要的关系_Neo4j_Cypher - Fatal编程技术网

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

Neo4j Cypher查询提供了不必要的关系,neo4j,cypher,Neo4j,Cypher,我试图在cypher query 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_ASSOCIAT

我试图在cypher query 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
公司工作

这里,员工和公司是节点。它具有关联关系,其中包含作为关系属性的重叠年份。e、 g.
(emp)-[:关联的{overlappyearstart:x,overlappyearend:y}]>(公司)

如果该员工在某家公司与另一名员工共事,则重叠年份将相同

上述查询在neo4j的web界面中提供以下输出。

在图中,“Mr”(节点不显示专有名称)是员工。“美国”是雇主的当前名称。“未知”是指他/她过去工作过的公司,“医生”是“未知”公司“先生”的关联员工

我有两个问题:

  • 从“医生”到“未知”,为什么它会显示所有的关系?如何仅显示一个相关关系?目前它显示了所有“医生”到“未知”的关系

  • 对于“Mr”到“Unknown”,我该如何做与上述相同的操作


  • 我相信这些关系仅在Neo4j浏览器的图形可视化模式中存在。如果将可视化模式更改为“文本”、“表格”或“代码”,则不会显示这些关系。也就是说:图形可视化模式试图为您“完成”图形

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


    为什么图形可视化模式试图“完成”图形?为什么是默认行为?