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

jas*_*jas 19 neo4j cypher

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

MATCH (a:User {username: "user6"})-[r*]-(b)
RETURN a, r, b
Run Code Online (Sandbox Code Playgroud)

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

我试过这个

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

但是我得到了这个错误

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

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

我正在使用3.0.3版

Ant*_*t P 30

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

MATCH (:User {username: 'user6'})-[r]-()
RETURN r
Run Code Online (Sandbox Code Playgroud)

  • `MATCH(:用户{用户名: 'user6'}) - [R*1..3] - ()RETURN r`会发现,有关更深1至3次节点. (2认同)
  • 由于此答案对于 3.1 及更高版本不再有效,因此应相应更新。对于最新版本,请检查答案 /sf/answers/2954477921/ 和 /sf/answers/3819056531/ (2认同)

jas*_*jas 18

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

MATCH (a:User {username: 'user6'})-[r]-(b)
RETURN r, a, b
Run Code Online (Sandbox Code Playgroud)

另一个SO问题中回答了这个问题


Geo*_*rna 6

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

MATCH (a:User {username: 'user6'})-[r]-(b)
RETURN type(r), a, b
Run Code Online (Sandbox Code Playgroud)


Obi*_*iii 5

MATCH (n1:Node1)-[:HAS_RELATIONSHIP]-(OtherNodes)
RETURN n1, OtherNodes
Run Code Online (Sandbox Code Playgroud)

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

在此处输入图片说明