获取具有密码的节点的所有关系

时间:2016-07-17 16:56:16

标签: neo4j cypher

我想找出一个节点的所有传入和传出关系。我在其他问题中尝试了几个问题,但没有太多运气。这是我试过的两个

MATCH (a:User {username: "user6"})-[r*]-(b)
RETURN a, r, b

我只有500个节点,它永远运行。一小时后我放弃了。

我试过这个

MATCH (c:User {username : 'user6'})-[r:*0..1]-(d)
WITH c, collect(r) as rs
RETURN c, rs

但是我收到了这个错误

WARNING: Invalid input '*': expected whitespace or a rel type name (line 1, column 35 (offset: 34))
"MATCH (c {username : 'user6'})-[r:*0..1]-(d)"

获取节点的所有关系的正确方法是什么?

我使用的是3.0.3版本

6 个答案:

答案 0 :(得分:24)

获取单个节点的所有关系的最简单方法是:

MATCH (:User {username: 'user6'})-[r]-()
RETURN r

答案 1 :(得分:15)

上述解决方案不再返回3.1中的图形表示。相反,下面的解决方案应该工作

MATCH (a:User {username: 'user6'})-[r]-(b)
RETURN r, a, b

another SO question

回答了这个问题

答案 2 :(得分:5)

MATCH (n1:Node1)-[:HAS_RELATIONSHIP]-(OtherNodes)
RETURN n1, OtherNodes

这将获得Node1及其与其他节点的关系

enter image description here

答案 3 :(得分:3)

这些答案中的大多数都可以很好地工作,但是如果像我一样,您还需要关系本身的名称,则需要用rtype()包裹起来:

MATCH (a:User {username: 'user6'})-[r]-(b)
RETURN type(r), a, b

答案 4 :(得分:0)

  

:获取所有节点:-START n = node()RETURN n;或匹配(n)返回n   2:显示节点和关系:-MATCH(n)MATCH   (n)-[r]-()返回n,r或START n = node()匹配(n)-[r]->(m)返回   n,r,m 3:匹配节点和关系:-MATCH   (a:政策)-[:APPLIES_TO]-(集群)a.name =“ pol-1nils”返回   a,集群4:获取特定节点的所有对象:-MATCH   (list:Policy)返回列表5:绑定到两个节点之间的实体:   -匹配(a:WorkLoad)-[b:APPLIES_TO]->(c:Policy),其中c.name =“ shamshad”返回a,b,c;

答案 5 :(得分:0)

此查询将以图表的形式显示通过电子邮件过滤的单个Person节点的所有关系和连接的节点。

MATCH(n1:Person {email: 'someone@somewhere.com'})-[r1]-(b)-[r2]-(c)
RETURN n1, r1, r2, b, c LIMIT 500