2016-09-05 6 views
0

私は私がのNeo4j CYPHERクエリで同じことを行うことができますどのようにお知りになりたい?SQL Serverの2016Neo4Jで階層データをモデル化して返す方法は?

と階層/ツリーデータ構造を返すことについての質問hereを投稿

これは、現在隣接するリスト形式に従っているデータです。すべての人物には、PersonIDのというIDがあります。その人の父親は、別人のIDが、父親のIDはです。

PersonId FatherId Name 
    1   NULL  4th Grand Father 
    2   1   3rd Grand Father 
    3   2   2nd Grand Father 
    4   3   Grand Father 
    5   4   Father 
    6   4   Uncle 
    7   6   Cousin 
    8   5   Brother 
    9   5   Me 

JSONデータはこの形式で返されることがあります。

[ 
    { 
    "Name": "4th Grand Father", 
    "Children": [ 
     { 
     "Name": "3rd Grand Father", 
     "Children": [ 
      { 
      "Name": "2nd Grand Father", 
      "Children": [ 
       { 
       "Name": "Grand Father", 
       "Children": [ 
        { 
        "Name": "Father", 
        "children": [ 
         { 
         "Name": "Brother" 
         }, 
         { 
         "Name": "Me" 
         } 
        ] 
        }, 
        { 
        "Name": "Uncle", 
        "children": [ 
         { 
         "Name": "Cousin" 
         } 
        ] 
        } 
       ] 
       } 
      ] 
      } 
     ] 
     } 
    ] 
    } 
] 
+1

私は少しフォーマットに混乱しています。第3グランド・ファーザーは、第4グランド・ファーザー(名前を除く)にネストされておらず、第3グランド・ファーザーの第2グランド・ファザーと同様にネストされていますが、グランド・ファーザーは第2グランド・ファーザーにネストされています。なぜこれらのネストされたものとそうでないものがありますか? – InverseFalcon

+0

私は質問そのものに** PersonId **と** FatherId **であるものを明確にしました。 –

+1

まだ混乱していますが、私はまだネストを理解していません。第4、第3、第2のグランド・ファーザーは、階層的にネストされていないJSONの同じ深さにありますが、グランド・ファーザー、すべて階層的にネストされています。入れ子の戦略はここで一貫していないため、一般的な解決策を見つけるのは難しいです。 – InverseFalcon

答えて

1

これは、あなたの質問に直接答えではありませんが - 開始する場所として、あなたはのRikヴァン・ブリュッゲンのに見えるかもしれません家族関係のグラフのブログ記事:http://blog.bruggen.com/2014/01/leftovers-from-holidays-genealogy-graphs.html?q=family&view=magazine

この特定のフォーマットがほしいと思っていますが、より複雑な種類の関係や回答はうまく処理されません。

関連する問題