如何在 Neo4j 中隐藏节点之间不需要的关系
Posted
技术标签:
【中文标题】如何在 Neo4j 中隐藏节点之间不需要的关系【英文标题】:How to hide unwanted relationships between nodes in Neo4j 【发布时间】:2016-10-02 21:14:20 【问题描述】:我是 Neo4j 的新手,我有一个奇怪的要求。
我有一些节点
CREATE (a:node title:1)
CREATE (b:node title:2)
CREATE (c:node title:3)
CREATE (d:node title:4)
以及它们之间的多重关系:
CREATE (a)-[:RELATESjump:[1]]->(b)
CREATE (b)-[:RELATESjump:[1]]->(c)
CREATE (c)-[:RELATESjump:[1]]->(d)
CREATE (a)-[:RELATESjump:[2]]->(c)
CREATE (c)-[:RELATESjump:[2]]->(d)
CREATE (d)-[:RELATESjump:[1]]->(b)
CREATE (a)-[:RELATESjump:[3]]->(d)
CREATE (d)-[:RELATESjump:[3]]->(c)
CREATE (c)-[:RELATESjump:[3]]->(b)
图表和关系如下所示:
我想检查图表,以便只显示我感兴趣的那些关系。
现在当我做这样的事情时:MATCH (a)-[r]->(b) WHERE 1 IN r.jump RETURN a,b
我得到类似的东西:
有没有一种方法可以在显示图表时隐藏(而不是删除)不相关的关系?可能是这样的(在图像工具上编辑):
PS:让灰色变成白色。
【问题讨论】:
【参考方案1】:在 neo4j 3.2.1 中,此功能已重新定位到左下角,齿轮图标下方:“连接结果节点”(默认选中,因此返回结果中包含的所有节点之间的关系)。
【讨论】:
谢谢,它有效!但我有一个问题,我如何“明确”要求显示关系?我有一个案例,我只想看一段关系,但它给了我所有的关系。例如: MATCH (p:Person)-[:belong]->(o:Organisation) RETURN p,o 编辑:找到它,必须打开“初始节点显示”选项,否则由于某种原因它不会显示。【参考方案2】:默认情况下,Neo4j 浏览器使用“自动完成”功能来显示可视化中节点之间存在的所有关系。您可以通过切换 Neo4j 浏览器中的“自动完成”按钮来更改此设置:
这将从可视化中排除任何未在 Cypher 查询中明确返回的关系。
请注意,您需要明确返回您感兴趣的关系。因此您的查询变为:
MATCH (a)-[r]->(b)
WHERE 1 IN r.jump
RETURN a,r,b
【讨论】:
以上是关于如何在 Neo4j 中隐藏节点之间不需要的关系的主要内容,如果未能解决你的问题,请参考以下文章