2017-03-28 9 views
0

image address nodesのモデリングデータ - - 分割ノード翻訳

は、3つのノードにアドレスノードを分割することをお勧めします特定の都市/国で行われたイベントを検索するためのライト・クエリーが簡単にできますか? もし私が上記のイメージのようにしなければならないならば、私はNeo4Jにもアドレス帳を保存したかったのでしょうか?

+0

私はこの質問が主に意見ベースのために保留にされる理由を知りません。以前はNeo4JグラフDBをモデル化したことはありませんでしたが、複雑すぎるものを作る方法を尋ねたいだけです。誰かがこの質問を閉じたがっている理由をもっと知ることはうれしいでしょう。非常に役立つ! – Ielan

答えて

1

グラフをモデル化する方法は、グラフをどのようにクエリするかによって異なります。国/都市/住所別に検索する場合は、より多くのノードで場所を分割することをお勧めします。結果をアドレスでグループ化しない場合は、アドレス用に個別のノードを作成する必要はなく、Personノード上にプロパティとして保存することができます。これは私が通常やっていることです。なぜなら、私は主に同じ場所にいる多くの人を扱わないので、アドレスノードは必要ありません。翻訳の保存に関しては、クエリでそれらを使用するかどうかによっても変わります。そうであれば、必要な場合に備えて都市/国のプロパティとして保存することができます。下の図は、私がこの問題にどのように近づいているかを示しています。 enter image description here私はまた、場所ツリー全体で単一の関係タイプを使用することに注意してください。あなたは同じアドレスに住んで人々をフィルタリングしたい場合は、アドレスノードも追加することができます。 enter image description here

+0

この場合、PersonとCityの間にエッジがあり、PersonとCountryの間にエッジが必要です。市区町村名は複数の都市または国に現れることがあるためです。複数の国に現れる都市でも同じです。そうでなければ、Cityが複数のCountryノードに接続されている場合、その人がどの国に住んでいるかを知ることはできません。 – Ielan

+0

私がこのようなモデルを作れば、どの人物がどの人物に類似のアドレスで接続されているかを調べるためのクエリを書くことができますが、私は素敵な視覚的な結果は得られないでしょう。このように接続されています。 – Ielan

+0

このクエリで同じ住所に住む人々の間に関係を作成することができます。 (p1) ' –

0

image

私は実際には、ほとんどの特定のイベントをattented特定の都市/国の人々の統計情報を持っていると思います。だから私は都市と国を別々のノードに保つことが最善であると思います。しかし、私は同じ住所に住む人々をつなぎたいと思っています。それでは、都市と国を同じ住所ノードに保つのが最善だと思います。上記の例の画像のように、両方を行うことはできますか?

+0

別のノードを作成してプロパティとして保存することは、決してお勧めできません。あなたが住所を持っていれば –

関連する問題