Studioを使用したスキーマの修正

初期作成後にスキーマを修正する方法。

スキーマ作成は、グラフ・データベース作成プロセスの重要な一部です。初期作成後にスキーマを追加または修正することが必要になる場合があります。開発モードでは、データ作成後にスキーマを修正することができます。実稼働モードでは、スキーマ作成とデータ読み込みを混在させることはできません。プロパティ・キーを追加できます。隣接関係を識別できます。

create()add()の違いは、スキーマに関連した重要な特徴の1つです。create()コマンドは、プロパティ・キー、頂点ラベル、エッジ・ラベルがまだ存在しない場合に、それらを作成するために使用されます。頂点ラベルとエッジ・ラベルを作成する場合、create()は関連プロパティ・キーの識別子とともに使用されます。頂点ラベルまたはエッジ・ラベルがプロパティ・キーの識別子なしで作成される場合は、関連プロパティ・キーを識別するためにadd()コマンドが使用されます。

手順

現在のスキーマの検証
  • スキーマを修正する前に、現在の設定を検証します。
    schema.describe()

    表示されるスキーマをコピーし、グラフのスキーマを複製するために使用できます。

頂点ラベルへのプロパティ・キーの追加
  • スキーマ作成後にプロパティ・キーを追加します。プロパティ・キーがすでに存在していなければなりません。この例では、最初のコマンドによってグラフのプロパティ・キーが構築され、2番目のコマンドによって頂点ラベルauthorにプロパティ・キーが追加されます。
    schema.propertyKey('nationality').Text().create()
    schema.vertexLabel('author').properties('nationality').add()
  • プロパティ・キーが頂点ラベルauthor用に構築されていることを確認します。nationalityという名前のプロパティ・キーを検索します。
    schema.vertexLabel('author').describe()

    プロパティnameは、nationalityが追加される前に存在していました。頂点ラベルに適用されているすべてのインデックスも表示されます。

  • 新しく追加されたプロパティ・キーの値を頂点に追加します。
    g.V().has('author','name','Julia Child').property('nationality','American')
エッジ・ラベルへのプロパティ・キーの追加
  • スキーマ作成後にプロパティ・キーを追加します。プロパティ・キーがすでに存在していなければなりません。この例では、最初のコマンドによってグラフのプロパティ・キーが構築され、2番目のコマンドによってエッジ・ラベルcreatedにプロパティ・キーが追加されます。
    schema.edgeLabel('created').properties('timestamp').add()
  • プロパティ・キーがエッジ・ラベルcreated用に構築されていることを確認します。timestampという名前のプロパティ・キーを検索します。
    schema.edgeLabel('created').describe()

    プロパティyearは、timestampが追加される前に存在していました。頂点ラベルに適用されているすべてのインデックスも表示されます。

2つの頂点間のエッジの作成(接続)
  • プロパティを持つ頂点ラベルを作成します。頂点ラベルを作成する前に、すべてのプロパティが存在している必要があります。接続の外向き頂点と内向き頂点を識別するエッジ・ラベルを追加します。
    schema.vertexLabel('FridgeItem').properties('name','expiration_date','amount').add()
    schema.edgeLabel('isA').connection('ingredient','FridgeItem').create()