给定: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浏览器中显示的图表中排除专用关系?
答案 0 :(得分:1)
不确定您的数据或查询发生了什么,但是我是否创建了一些测试数据
create (a:A {name: 'A'})-[:`1`]->(b:B {name: 'B'})
create (b)-[:`2`]->(c:C {name: 'C'} )
create (a)-[:`2`]->(c)
return *
我的图表看起来像这样......
然后,如果我用你的第一个查询
查询它match (n:A)-[r]-(x)
where type(r)<>"2"
return n,r,x
然后neo4j只返回由 1 类型的关系连接的 A 和 B 节点。
您的数据中是否有可能在查询中的某些空格中导致查询无法返回您期望的结果?