簡體   English   中英

Neo4j - 使用Cypher從節點開始並將Traverse圖表移動到指定的深度並查找節點和關系

[英]Neo4j - Using Cypher start at a node and Traverse graph to a specified depth and find nodes and relationships

我有一個簡單的圖形,其中我試圖從特定節點開始並遍歷2的深度。從這個遍歷我試圖提取節點和關系的名稱。

這是我的查詢,

    START n=node(5)
    MATCH p=(n)-[r:Relation*0..2]-(m)
    RETURN n.name,r.name,m.name;

我收到此錯誤:

    Type mismatch: expected Map, Node or Relationship but was Collection<Relationship> (line 3, column 15)

在錯誤描述中,它將^符號指向r.name

有人可以幫助我理解這個問題。 我的目標是獲得關系的名稱..

根據我的理解,r將作為集合返回。 有沒有辦法在集合中顯示個人姓名?

假,

如您所述,問題是“r”是可能包含0,1或2個元素的關系集合。 您可以使用reduce函數創建關系名稱的字符串並返回該字符串。

START n=node(5)
MATCH (n)-[r:Relation*0..2]-(m)
WITH n, m, reduce(s = '', rel IN r | s + rel.name + ',') as rels
RETURN n.name, m.name, rels;

恩典與和平,

吉姆

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM