ここは私のシナリオです。私はあらかじめ定義されたデータ型構造を持っています。簡単にするために例として挙げてみましょう。構造は下のイメージのようになります。 ラベル付きプロパティグラフであり、情報は自己説明されています。 このデータ型構造は固定ですが、変更できません。私はちょうどそれを使用します。 1冊の本があった場合このシナリオでグラフデータベースを設計するにはどうすればよいですか?
、のはそれハリー・ポッターを呼ぶことにしましょう、システムでは、以下のようになります。
だから、この本には、独自の性質を持っています(ID、名前、...)、フィールドタイプMandatoryData
も含まれています。このグラフを見ることで、本のすべての情報を知ることができます。この場合
強調されているように、これらの情報をグラフDBと呼ばれる別の本がある:私はこのようになりますシステム、内2冊の本を持っている場合
問題が起こります。
どの情報がどの書籍に属しているのかわかりません。たとえば、publishedYear
をこれ以上区別することはできません。
私の質問はこの問題を解決する方法ですか?各書籍に1 MandatoryData
を作成する必要がありますか?あなたは私に何かデザインを提案できますか?
私はNeo4jとCypherを使用しています。ご協力ありがとうございました!
このモデルから外れるような柔軟性はありますか?値の意味を与えるキーまたはコンテキストとは別のノードとして値を持つことは理にかなっていません。グラフは、ノード間の接続、特にそれらの間で共通するデータ(特に、Author、:Publisher、おそらくPublishedYearは多くの書籍に接続されている潜在的な共通ノードです)に関するものです。他の一般的なデータは、おそらくそのように(著者名やブックのタイトルなど)モデル化されているわけではなく、索引の検索とフィルタリングによって最も適切に処理されるべきです。 – InverseFalcon
コメントありがとうございます。はい、私はこのモデルから逸脱することができます。あなたのアイデアから、私は 'Value'ノードを削除し、そのプロパティをそれを指し示すノードの中に置く方が良いと思います。 – AnhTriet