optional
指定されている探索が結果を出す場合、オプションの結果を返します。もしくは、呼び出し要素を返します。
構文
optional(traversal_fragment)
| 構文規則 | 説明 |
|---|---|
| 小文字と大文字 | リテラル・キーワード。()を含みます。 |
Italics |
変数値。ユーザー定義値と置き換えます。 |
[] |
任意。角かっこ( [] )で任意のコマンド引数を囲みます。角かっこは入力しないでください。 |
{} |
グループ。中かっこ({})は、選択肢を含むグループを示します。中かっこは入力しないでください。 |
| |
または。縦棒(|)で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。 |
... |
繰り返し可能。省略記号(...)は、構文要素を必要な回数だけ繰り返すことができることを示します。 |
説明
optional()ステップは、branch/flatMapステップで、結果がもたらされる場合、指定された探索の結果か、呼び出し要素の返しを返します。
例
John Doeには友人がいることから、彼の友人を返します。
g.V().has('person', 'name', 'John Doe').optional(out('knows'))リンク付けされている友人がいないことから、Julia Childを返します。
g.V().has('person', 'name', 'Julia Child').optional(out('knows'))