私は自分のウェブサイト(Neo4jを使用しています)の登録フォームを作成しており、国、都道府県および市区町村を入力する必要があります。これらのフィールドはすべて国境を越えてリンクされており、国によっては州のフィールドが設定され、州の都市によって設定されます。私はNeo4jを使ってこれをモデル化するための最良のアプローチが何かを理解しようとしています。各国、州、市のノードを作成し、それらの間に関係を作成する必要がありますか?例えば、デトロイトは - ミシガンに属し、 - アメリカ合衆国に属します。 Neo4jでこれを処理する最良の方法は何でしょうか?見るべき例はありますか? Neo4jでこれを行うと効率的でしょうか?あるいは、MongoDBのような文書ベースのDBを使用する方が良いでしょうか?Neo4jを使用して国、州、都市をモデル化する方法
答えて
都市、州、国のノードを作成し、それらを配線する(私の今後のプロジェクトではまったく同じことをやっています)という提案はできません。これにより、グラフの他の部分でそれらのノードを再利用することも可能になり、特性比較よりも速い速度で一般的な場所を使用して面白いクエリを作成することが可能になります。
あなたの要件が正しく理解されている場合は、フィールドをドロップダウンまたはオートコンプリートして各レベルにドリルダウンします(各国のプルダウンメニュー - >選択した国の州の次のプルダウンを設定) - >選択された州の都市)。クイックノードルックアップのために識別子や略語にインデックスを追加するだけで良いです。それはかなり速く動作するはずです。
そこに郵便番号を追加している場合は、同じ方法で実際にモデリングすることはできないため、難しいかもしれません。あなたは、州と市の両方からzipへの1対多の関係を持っています。間違いがない限り、単一の州や都市以上にまたがるいくつかの興味深いジップがあります。複雑なことが起こる他の要因には、5対9桁のジップ(他の国の場合はそれ以上)、他の国のジップ相当品の処理などがあります。
はい、間違いなく可能ですが、多くのノードが使用されなくても50,000のノードをすべて作成することは避けました。私は2つのステップのアプローチを取っています。フラスコフレームワークを使用していますので、CSVファイルを使用してドロップダウンメニューを作成します。ユーザーが登録フォームを送信すると、City、state、Countryのノードを作成します。だから、提案したように私はグラフの他の部分でノードを再利用することができます。私は識別子や略語にインデックスを追加することについてのあなたの提案については気づかないだろう。私はそれも行って、それがうまくいくかどうかを見ていきます。アイデアありがとう! – jas
索引は、都市(または州または国)から開始し、デトロイトのユーザーまたはカリフォルニア内のユーザーに関するデータに関するクエリなどのカスタム識別子または省略語を使用してクエリを実行した場合にのみ有用です。 City(またはCountryまたはState)との関係が1つ(またはごく少数)ある他のデータから出発する場合、リンクされたノードのルックアップとトラバーサルはすでに一定であるため、時間。 – InverseFalcon
- 1. 国/都市/州/ビジネスデータベース構造
- 2. angle-schema-form-dynamic-selectを使用した国 - >州 - >都市
- 3. MySQLでエイリアスを使用して都市をモデル化する方法
- 4. 場所Googleのオートコンプリートアドレス私は(形式:市、州、国)都市、州や国を表示したいと思い
- 5. iPhone - 米国の都市と州を確認する
- 6. 時間を現地時刻に変換した都市/州/国
- 7. 都市/都道府県/州都のリスト
- 8. Google Places API - getQueryPredictions国/都市/州別に制限しますか?
- 9. cakephpの国、州、都市のドロップダウンに関する問題
- 10. mysqlの世界的な国、州、地区、都市を保存/構造化する最良の方法...?
- 11. すべての国、州、および都市のmysqlデータを取得する方法はありますか? (ダンプファイル)
- 12. 国、都市、その地域/州/町のリストをそれぞれ取得する
- 13. Googleマップのapiから国および州/都市を取得する例
- 14. 国、州、市、Javascriptのドロップダウンリスト
- 15. 同じ名前の州と都市がGoogleマップAPIを使用して都市を検索する方法を教えてください。
- 16. 州と都市モデルの間の関連付け
- 17. N都市のリストから都市/都市を選択する方法の数
- 18. リーフレットポリゴンの中にある国/州/地域/都市/地域を判別する方法|矩形|円など
- 19. 国と都市のデータベース
- 20. jQuery/JavaScript validate都市、州ZIP単一フィールド
- 21. 都市/州情報の書式設定
- 22. ドゥルパールの都市と州の選択
- 23. 国コード、州および/または都市がわかっている場合のタイムゾーンの決定方法は?
- 24. Angularjsにすべての国、州、都市をドロップダウンリストとして表示するAPKはありますか?
- 25. は、国家と都市Railsのモデルを設定ActiveRecordのアソシエーションと
- 26. 都市と国をジオコードに渡す方法
- 27. 国、州、都市のリストはどこで入手できますか?
- 28. Rを使用して都市名のベクトルの各都市の郡を見つける方法は?
- 29. Facebookで使用する国と都市のリストGraph API for targeting
- 30. Googleマップを使用して、国境、米国の州境、都市の境界線を表示するにはどうすればよいですか?
すべてのデータベース、SQLまたはNoSQLがこれを簡単に処理します。 「ベスト」は意見に基づいています。 Neo4Jはグラフデータベースです。私は国から始まるグラフを見ることができます。グラフには、都市と児童を持つ州の子供がいます。都市は多くの郵便番号を持つことができるので、それらは難しいです。私は単純なことをやってみましょう - それらをリレーショナルデータベースに入れて移動してください。 – duffymo
SQLまたはNoSQLがこれを処理できるかどうかという疑問はありません。おそらく、それは明らかではなかった。しかし、私はすでに自分のウェブサイトにNeo4jを使用しています。したがって、Neo4jを使用してこの機能を処理する方が良いでしょうか、そのような理由/利点のために別のデータベースで処理する方が良いでしょうか。それは私のようなものを構築しようとする最初の試みです。この分野でより多くの経験を持っている誰かが彼の意見を共有できると思った – jas
私はその質問を理解しました。私はこれをNeo4Jに入れません。グラフデータベースは、ディープオブジェクトグラフに最適です。あなたの郵便番号データの場合はそうではありません。これは、リレーショナルデータベースにとっては単純な問題です。私はそこに置いた。 – duffymo