2017-05-14 1 views
0

を持つすべてのノードは、私がのNeo4jにこのモデルを持っていると仮定しますのNeo4jリスト、それは親のプロパティです

  (n2) -> (n3)-> (n9) 
      /\ 
      | 
    (n4)<-(n1)->(n5)->(n6) 
    |   | 
    \/   \/ 
    (n7)   (n8) 

すべてのノードがfirstnamelastname特性を有しています。 親ノードがすべてfirstnameおよびlastnameであるすべてのノードをリストするサイファーがありますか?このような 何か:Nのノード:

{ 
    { 
    firstname: "n1 name", 
    lastname: "n1 last name" 
    parent: {} 
    }, 
    { 
    firstname: "n2 name", 
    lastname: "n2 last name" 
    parent: { 
     firstname: "n1 name", 
     lastname: "n1 last name" 
    } 
    }, 
    { 
    firstname: "n3 name", 
    lastname: "n3 last name" 
    parent: { 
     firstname: "n2 name", 
     lastname: "n2 last name" 
    } 
    }, 
    . 
    . 
    . 
    { 
    firstname: "n9 name", 
    lastname: "n9 last name" 
    parent: { 
     firstname: "n3 name", 
     lastname: "n3 last name" 
    } 
    } 
} 

答えて

1

確かに、これらはすべてあると仮定すると、これを試すことができます。

MATCH (n:N) 
OPTIONAL MATCH (parent)-->(n) 
RETURN collect(n {.*, parent}) as nodes 

が存在する場合、これは、そのプロパティを表示する各nノード、ならびに親ノードのプロパティの地図投影を使用します。 firstnamelastnameのプロパティが必要な場合は、次のように地図投影法で明示的にリストすることができます。

MATCH (n:N) 
OPTIONAL MATCH (parent)-->(n) 
RETURN collect(n {n.firstname, n.lastname, parent {parent.firstname, parent.lastname}}) as nodes 
関連する問題