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

时间:2016-07-06 13:09:54

标签: neo4j cypher graph-databases

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

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

结果如下:

Graph Query Results

由于我特意要求与[:REPORTS_VARIABLE_TO]匹配的内容,我希望在结果中只看到这种关系。但是,我看到的是任何匹配节点之间存在的所有关系(如图所示,您可以看到)。

有没有办法过滤掉那些不属于我想要的类型的关系?

4 个答案:

答案 0 :(得分:8)

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

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

enter image description here

答案 1 :(得分:7)

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

答案 2 :(得分:4)

我非常确定这只是后端可视化的一项功能,它将显示屏幕上任意两个节点之间的所有关系(请注意,即使您没有&#39,它也会显示目标节点) ;在回报声明中要求他们。)

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

所以,简单地说:你的查询是完全有效和正确的;这只是Neo4j管理工具对你的伎俩。

答案 3 :(得分:0)

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

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

Neo4j Desktop 1.3.8 Settings