如何排除查询中的关系(浏览器中显示的图形)

时间:2016-10-23 12:00:35

标签: neo4j cypher

给定:3个节点标记为A,B,C

图:(A) - [1] - (B),(B) - [2] - (C),(A) - [2] - (C)

Desired:一个返回节点的查询,其中关系名称不是" 2"从(A)开始。

试过:

Match (n:A)-[r]-(x) where type(r)<>"2" return n,r,x

MATCH p=(n:A)--(y) WHERE ALL(z in relationships(p) WHERE type(z) <> "2" RETURN n,y

虽然我在浏览器中有一个图表,其中包含来自(A)的所有关系,包括&#34; 2&#34; - 在这种情况下(A) - [2] - (C)

也许只是想错了 - 如何从neo4j浏览器中显示的图表中排除专用关系?

1 个答案:

答案 0 :(得分:1)

不确定您的数据或查询发生了什么,但是我是否创建了一些测试数据

create (a:A {name: 'A'})-[:`1`]->(b:B {name: 'B'})
create (b)-[:`2`]->(c:C {name: 'C'} )
create (a)-[:`2`]->(c)
return *

我的图表看起来像这样......

enter image description here

然后,如果我用你的第一个查询

查询它
match (n:A)-[r]-(x) 
where type(r)<>"2" 
return n,r,x

然后neo4j只返回由 1 类型的关系连接的 A B 节点。

enter image description here

您的数据中是否有可能在查询中的某些空格中导致查询无法返回您期望的结果?

相关问题