インデックスの使用

グラフ探索のインデックスの使用。

セカンダリおよびマテリアライズド・ビュー・グローバル・インデックスは、V()ステップの後の最初の探索ステップのグラフ探索クエリーで使用され、当初フェッチされた頂点の数を削減するために使用します。一般的に、探索ステップには頂点ラベルが含まれ、プロパティ・キーと特定のプロパティ値が含まれることもあります。探索では、通常g.V()の後のステップが、インデックスを参照するステップです。中間のV()探索ステップを呼び出すと、インデックス付きの追加のステップを参照して、探索対象の頂点のリストを絞り込むことができます。

グラフ探索では、頂点ラベルとプロパティ・キーの両方が指定されている場合にのみ、グローバル・インデックスが使用されます。両方が指定されていない場合、インデックスは使用されず、プロパティ・キーのフル・テーブル・スキャンが行われます。

手順

ここに示したグラフ探索では、インデックスを使用して特定のauthor(著者)頂点を検出してクエリーを開始します。
g.V().has('author', 'name', 'Emeril Lagasse').out('created').values('name')

このグラフ探索では、探索ステップhas('author', 'name', 'Emeril Lagasse')で頂点ラベル、およびインデックス付きのプロパティ・キーが指定されているため、インデックスがある場合はそのインデックスが使用されます。探索の始点となる最初の頂点を見つけた後、外向きのcreated辺が探索され、隣接する頂点がname順にリストされます。このグラフ探索は、異なる2つの要素であるauthors(著者)とrecipes(レシピ)が同じプロパティ・キーnameを使用するため、頂点ラベルをプロパティ・キーとともに使用することの重要性を示しています。