local
探索の操作を探索内の単一の要素に制限します。
構文
local(traversal)
構文規則 | 説明 |
---|---|
小文字と大文字 | リテラル・キーワード。() を含みます。 |
Italics |
変数値。ユーザー定義値と置き換えます。 |
[] |
任意。角かっこ( [] )で任意のコマンド引数を囲みます。角かっこは入力しないでください。 |
{} |
グループ。中かっこ({} )は、選択肢を含むグループを示します。中かっこは入力しないでください。 |
| |
または。縦棒(| )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。 |
... |
繰り返し可能。省略記号(... )は、構文要素を必要な回数だけ繰り返すことができることを示します。 |
説明
local()
ステップは、分岐ステップで、local()
ステップ内の要素に適用されるステップ内での操作が可能です。
例
すべての人物および住んでいたことがある国のリストを取得します。その人物がその国で暮らし始めた年順にします。
g.V().hasLabel('person').as('person').
local(properties('country').order().by('startYear', incr).limit(2)).value().as('country').
select('person','country').
by('name').by()
ここでは、各人でlocal()
を使用してメタプロパティstartYearによるソートを制限するのに使用します。g.V().has('person','personId','1').local(outE('created').has('createDate', gte('1962-03-03')).order().by('createDate'))
// explain
//g.V().hasLabel('person').outE('reviewed').has('stars', gte(1)).order().by('stars').profile()
// Sorts the reviews by stars for each user - uses the edge index
//g.V().hasLabel('person').local(outE('reviewed').has('stars', gte(1)).order().by('stars')).profile()
// Sorts the users by name, and then their reviews by stars
//g.V().hasLabel('person').order().by('name').local(outE('reviewed').has('stars', gte(1)).order().by('stars')).profile()