インデックスの使用
グラフ探索のインデックスの使用。
セカンダリおよびマテリアライズド・ビュー・グローバル・インデックスは、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
を使用するため、頂点ラベルをプロパティ・キーとともに使用することの重要性を示しています。