从neo4j中的2个节点之间的多个关系返回单个关系

时间:2017-06-06 11:10:37

标签: neo4j cypher

我是Neo4j的新手,我在返回语句中过滤掉关系时遇到了一些麻烦。我在这两个节点之间创建了两个节点和3个相同关系的实例,这些节点仅在属性值上有所不同:

create (p:person {name:'batman'})
create (p:person {name:'superman'})

match (p1:person {name:'batman'}),(p2:person{name:'superman'}) create (p1)-  [h:HATES {intensity: 1}]->(p2)
match (p1:person {name:'batman'}),(p2:person{name:'superman'}) create (p1)-  [h:HATES {intensity: 2}]->(p2)
match (p1:person {name:'batman'}),(p2:person{name:'superman'}) create (p1)-  [h:HATES {intensity: 3}]->(p2)

当我尝试使用以下代码仅显示其中一个关系(例如:intensity = 2)时:

match (a: person)-[h:HATES]->(b: person) where h.intensity=2  return  a,h,b

绘制了所有3种关系:

all relationships

然而,通过查看数据,仅返回过滤后的关系 “a”“h”“b”

{"name":"batman"}   {"intensity":2} {"name":"superman"}

有谁知道如何只绘制相应的关系?

1 个答案:

答案 0 :(得分:3)

这是Neo4j浏览器的默认行为。如果您使用的是Neo4j 3.2,请转到“浏览器设置”,然后取消选中“连接结果节点”选项。

Browser settings

之后结果显示为:

Result

如果您使用的是Neo4j的旧版本,则应切换下图中突出显示的选项:

Older versions