得到的所有关系与CYPHER节点

问题描述 投票:14回答:5

我想找出所有节点的传入和传出的关系。我试过夫妇在其他问题提出疑问,但没有多少运气。这是两个我试着

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

neo4j cypher
5个回答
28
投票

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

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

18
投票

将上述溶液中不返回3.1的曲线图表示了。相反,下面的解决方案应该工作

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

这是回答another SO question


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

这将让节点1和它与其它节点的关系

enter image description here


5
投票

大多数这些答案会工作得很好,但如果像我一样,你还需要关系本身的名字,你需要用rtype()

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

0
投票

:获取所有节点: - START N =节点()RETURN N;或匹配(n)的回报N 2:显示节点和的关系: - MATCH(n)的MATCH(N) - [R] - (+)RETURN N,R或启动N =节点()MATCH(N) - [R ] - >(M)RETURN N,R,M 3:匹配节点和关系: - MATCH(一个:策略) - [:APPLIES_TO] - (Cluster)的WHERE a.name = “POL-1nils” 返回,群集4 :获取特定节点的所有对象: - MATCH(列表:策略)返回表5:在两个节点之间绑定到实体: - 匹配(一个:工作负荷) - [b:APPLIES_TO] - >(C:策略)其中c。名称= “席沙姆沙德” 返回一个,b,C;

© www.soinside.com 2019 - 2024. All rights reserved.