Gremlinコード・セルのノートブック・コード・エディター

ノートブック・コード・エディターには、Gremlinコード・セルでGroovyプログラミング言語をサポートする機能があります。

ノートブック・コード・エディターは、Gremlinコード・セルでApache Groovyプログラミング言語をサポートします。Groovyのサブセットについて構文検証がサポートされています。

ノートブックは、接続情報に基づいてDSEクラスターに接続します。各ノートブックが持つ接続は1つのみです。接続で指定される1つの情報は、その[Graph Name]です。

コード・エディターには、事前定義された別名変数が用意されています。

graph
グラフを参照する変数。
g
OLTPグラフ探索用のグラフに関連付けられた探索ソース。
a
OLAPグラフ探索用のグラフに関連付けられた探索ソース。

ドロップダウン・リストには、エディター内の空白行に関する内容アシストが表示されます。

コード・エディターは、インライン・コード検証をサポートしています。一部のコードが無効であるか、エディターがサポートしていないGroovy構文を使用すると、無効なコードが赤い下線付きで表示されます。エディター検証を無効にしてオフにするには、スライダー()を使用します。

実行のキャンセル

コードがGremlinセルで実行されている最中に実行をキャンセルし、gremlinセッションを停止することができます。コードに変更を加える場合に実行時間の長いクエリーが終了するまで待ちたくない場合は、実行のキャンセルが便利です。
  • [Kill Session]をクリックします。
    確認ダイアログが表示されます:
    Gremlin cell executions will be stopped by killing the notebook session. Proceed?
  • キャンセルせず、次の作業に進む場合は[Yes]をクリックします。

  • 実行をキャンセルした後、次のメッセージが表示されます。
    The Gremlin Session associated with the notebook was killed.
  • セルに変更を加えたら、再び実行してください。

内容アシスタンス

コード・エディターには、内容アシスタンス([Ctrl+Space])が用意されています。

内容アシスタンスは、コンテキストに基づいて内容を提示します。
  • メソッド
  • 変数
[Return]を押して、アシスタンス・リストからハイライト表示された選択肢を選択します。

プルダウン・メニューで行を選択するのに十分な文字を入力すると、提示内容をフィルターできます。

[Shift]タブを使用して、行の先頭に戻ります。

コード検証

ノートブック・エディターでは、以下の検証をサポートしています。
  • Groovy構文 — Gremlinセルのコードは、GroovyとしてDSE Graph内で実行されます。ノートブック・エディターには、Gremlin文を作成するのに充分なGroovy構文のサポート機能が追加されています。

  • 型のチェック — セル内のコードは、型についてもチェックされます。間違った型のオブジェクトに対してメソッドを呼び出そうとした場合や、無効な型のパラメーターを渡した場合は、検証エラーが表示されます。

  • ドメイン特有の検証 — コード内の一般的なエラーが可能な限り指摘されます。

ノートブック・エディターは、コードがセルに入力されると検証を実行します。セルごとに検証をオフにすることができます。

ノートブックのコード・エディター・セルには、Gremlinセッションのスコープ・コンテキストがないため、セルの順序に基づく暗黙的スコープに依存しています。検証は、ノートブック内の順序で一番上のセルから行われます。コードを順不同で実行すると、コードが正常に実行された場合でも検証エラーが発生する可能性があります。

Groovy言語のサポート

サポート対象:

  • Groovy形式の変数宣言:
    • def foo
    • def SomeType foo
    • SomeType foo
    • シェル・スタイルの変数
  • メソッド呼び出し
  • 文を完了するためのオプションのセミコロン
  • ジェネリクス
  • 次の両方の形式の文字列:
    • '123'
    • "123"
  • forループ:基本およびfor in構文
  • whileループ
  • try-catch-finally:例外をキャッチするための型が必要です
  • if-else
  • switch
  • 次の両方のスタイルでのキャスト:(SomeType) fooおよびfoo as SomeType
  • リテラルの一覧表示

サポートされていないGroovy言語

  • クロージャ
  • 多変数割り当てやオブジェクト分解のようなその他の高度な変数割り当て
  • 明示的に無効にされたimport
  • mapリテラル、またはJavaでサポートされていない他の複合型リテラル
  • try-catch-finally:複数キャッチはサポートされていません

ノートブック情報

[Information]を選択すると、以下が表示されます。
  • ノートブックに使用されている接続。
  • ノートブックへの最後の更新。
  • 実行中のStudio JARファイルのバージョン。

ノートブック・スキーマ

[Information]を選択すると、ノートブックの現在のグラフ・スキーマが表示されます。

視覚的なスキーマ表示に加えて、コード・アシスト機能によってスキーマ・アシストの提示も行われます。

多数提示されます。分析してみると以下のようになります。
  • エディターは、これが頂点ベースの探索(型推論のため)であることを把握できるほどインテリジェントです。エディターは、頂点のプロパティやキーに関連するスキーマ提案のみを提示します。
  • 複数のhasメソッドがあるため、Studioはこれらのバリエーションすべての可能性を提示します。
  • エディターは、可能なプロパティ・キーのそれぞれについて、具体的に提示します。