スキーマの修正

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

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

手順

頂点ラベルへのプロパティ・キーの追加

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

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

  • 新しく追加されたプロパティ・キーの値を頂点に追加します。
    gremlin> g.V().has('author','name','Julia Child').property('nationality','American')
    gremlin> g.V().hasLabel('author').valueMap()
    ==>[gender:[F], name:[Alice Waters]]
    ==>[gender:[F], name:[Louisette Bertholie]]
    ==>[gender:[M], name:[Fritz Streiff]]
    ==>[gender:[F], nationality:[American], name:[Julia Child]]

2つの頂点の隣接関係の識別

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