在 Neo4j 浏览器查询中仅显示特定关系类型

问题描述 投票:0回答:5

我有一个简单的 Neo4j 图形数据库,是我在尝试为新应用程序建模时创建的。当我运行以下查询时,我得到了我期望的节点,但我也得到了比我预想的更多的关系:

MATCH (o:Office)-[r:REPORTS_VARIABLE_TO]->() 
RETURN o,r

结果如下:

因为我特别要求与

[:REPORTS_VARIABLE_TO]
匹配的东西,所以我希望在结果中只看到这种关系。不过,我看到的是任何匹配节点之间存在的所有关系(正如您在图像底部看到的那样)。

有没有办法过滤掉那些不属于我正在寻找的类型的关系?

neo4j cypher graph-databases
5个回答
10
投票

对于最新版本(例如 3.2、3.3),“自动完成”开关已移至浏览器设置,其新名称为“连接所有结果”。如果选中,它将连接节点及其所有关系。否则,您只能看到符合过滤条件的关系。


9
投票

因此,正如 Nicole White 所指出的那样,答案是关闭 Neo4j 可视化工具中的“自动完成”开关(右下角,在下图中以红色框出)。

这会导致应用程序不再显示已显示/选定节点之间的所有关系,而是仅显示查询中指定的关系和节点,如下所示:


4
投票

我很确定这只是后端可视化的一个功能,它将显示屏幕上任意两个节点之间的所有关系(请注意,它还会显示目标节点,即使您没有在返回声明)。

如果查看原始查询结果,您将只能获得您指定的关系类型。

所以,简单地说:您的查询完全有效且正确;这只是 Neo4j 管理工具在捉弄你。


4
投票

使用 Neo4j Desktop 1.3.8 和 Neo4j 浏览器,您需要取消选中“连接结果节点”设置。

  1. 打开数据库的 Neo4j 浏览器。
  2. 单击“浏览器设置”齿轮图标。
  3. 滚动到底部并取消选中“连接结果节点”
  4. 在浏览器中重新运行查询


0
投票

但它根本不会连接节点。

我有这个查询:MATCH (p1:Person)-[:Transaction]-(p2:Person) 返回p1,p2; 如果我关闭了“连接结果节点”,我看不到任何连接。

© www.soinside.com 2019 - 2024. All rights reserved.