グラフ・データ・モデリング例

大規模なデータ・モデル作成の詳細。

もっと複雑なデータ・モデルを作成するために、さらにレシピの例を考えてみましょう。この例では、グラフ・データベース・データ・モデルの作成の背後にある考え方をいくつか説明します。

手順

  1. 言うまでもなく、頂点にはエッジが接続されている必要があります。人物とレシピ以外に、追加が可能なタイプの頂点は何でしょうか?

    驚くことではありませんが、ingredient頂点ラベルを追加できます。この頂点にはいくつかのプロパティがあります。頂点プロパティになりそうなものは思い浮かびましたか?

    食材の頂点になる可能性が最も高いプロパティは、食材のname(名前)です。食材の名前を特定するのにingredientNameを使用することができますが、スキーマを小さくしておくとDSE Graphで便利です。この例では、各頂点ラベルにnameを再使用します。

  2. 食材の頂点プロパティにとって重要な可能性は他にもあります。それについて考え、他の可能性をいくつか書き出してみましょう。後で追加します。それでは、personrecipe、およびingredientをつなぐエッジを検討しましょう。

    異なるタイプのエッジを識別するために使用できるエッジ・ラベルは何でしょうか?前の例で、personrecipeは、createdのエッジで結ばれていることを見てきました。

    食材はレシピに含める必要があるため、includesエッジは、2つの頂点を結ぶことができます。

  3. エッジには、後でクエリーの絞り込みに使用できるプロパティが添付されています。

    includesには、どのようなエッジ・プロパティが適しているでしょうか?

    レシピに含まれる食材のamountが重要です。小さじ1杯の塩ではなく1カップの塩を使えば、結果に大きな違いが生じてしまいます。

  4. 今日、人々はオンラインや料理本でレシピを公開しています。レストランでは、レシピから固定価格の食事を作ります。消費者は、作ろうとしているレシピをレビューします。その結果、データの絡み合ったグラフになります。
  5. このグラフに追加できる追加の頂点とエッジは多数あります。たとえば、レシピ作成者とレビュー担当者(両方ともperson)の性別を含めることができます。食材の栄養情報は、レシピのカロリーから導き出すことができます。レシピが提供するメニューの数は、料理に役立ちます。結果として得られるWebデータは急速に増加する可能性があります。

    100人の作成者、1000のレシピ、1万のレビューを追加すると、グラフの巨大さが明らかになります。ただし、後のセクションで説明するように、DSE Graphは複雑な検索とパターン・マッチングを単純で強力なソリューションに変換できます。

次のタスク

データ・モデルはグラフ作成の最初のステップです。データ・モデルを使用すると、DSE Graphによるデータの格納方法を定義するスキーマを作成できます