1.7 対話型グラフ・シェル

Oracle Graphサーバーとクライアント・パッケージの両方に、製品のすべてのJava APIをローカルまたはリモート・コンピュータで操作するための対話型コマンドライン・アプリケーションが含まれています。

この対話型グラフ・シェルは、ユーザーからのコマンドライン入力を動的に解釈し、基になる機能を呼び出してこれらを実行し、結果の印刷や結果の追加処理を行うことができます。グラフ・シェルには、Javaアプリケーションを作成することなくグラフ機能を実行する軽量かつ対話型の方法が用意されています。

グラフ・シェルは、特に次のいずれかの操作を行う場合に役立ちます。

  • 大規模なアプリケーションを作成するのではなく、特定のデータ・セットに対して個別グラフ分析をすばやく実行する
  • 開始の例の実行およびサンプル・データ・セットのデモの作成
  • データ・セットの様々なグラフ分析を対話形式で試行して、データ・セットを探索する
  • 製品の使用方法を学習し、組込みアルゴリズムに適している処理を理解する
  • カスタム・グラフ分析アルゴリズムを開発およびテストする

このグラフ・シェルは、Javaシェル・ツール(JShell)の上位に実装されます。そのため、タブ補完、履歴、逆検索、セミコロン推論、スクリプト・ファイル、内部変数など、JShellが提供するすべての機能を継承します。

グラフ・シェルは、--base_urlパラメータで指定されたグラフ・サーバー(PGX)に接続します。--base_urlパラメータが指定されていない場合、ライブラリとしてのグラフ・サーバー機能の使用で説明するように、グラフ・シェルはローカルPGXインスタンスを作成し、シェルと同じJVMでグラフ関数を実行します。

グラフ・シェルの起動

グラフ・シェルはJShellを使用します。つまり、シェルはJava 11以降で実行する必要があります。

インストール後、シェルの実行可能ファイルは、サーバーのインストール後は/opt/oracle/graph/binに、クライアントのインストール後は<CLIENT_INSTALL_DIR>/binにあります。

グラフ・シェルを起動してグラフ・サーバー(PGX)に接続するには、端末で次のように入力します。

./bin/opg4j --base_url https://<host>:7007 --username <graphuser>
説明:
  • <host>: サーバー・ホスト
  • <graphuser>: データベース・ユーザー

    ノート:

    データベース・パスワードの入力を要求されます。

ノート:

グラフ・サーバー(PGX)は、デフォルトでポート7007でリスニングします。必要に応じて、サーバー構成ファイル(server.conf)内のポート値を変更して、別のポートでリスニングするようにグラフ・サーバーを構成できます。詳細は、インメモリー・グラフ・サーバー(PGX)の構成を参照してください。

シェルが起動すると、次のコマンドライン・プロンプトが表示されます。

opg4j>

Javaの複数のバージョンがインストールされている場合、シェルを起動する前にJAVA_HOME変数を設定することにより、インストールを簡単に切り替えることができます。次に例を示します。

export JAVA_HOME=/usr/lib/jvm/java-11-oracle

コマンドライン・オプション

使用可能なコマンドライン・オプションのリストを表示するには、--helpopg4jコマンドに追加します。

./bin/opg4j --help

スクリプトのバッチ実行

グラフ・シェルは、スクリプトへのパスをopg4jコマンドに渡すことで、スクリプトを実行できます。次に例を示します。

./bin/opg4j /path/to/script.jsh

事前定義済関数

グラフ・シェルには次のユーティリティ機能があります。

  • println(String): System.out.println(String)の簡略表現。
  • loglevel(String loggerName, String levelName): ログレベルを設定する便利な機能。

loglevel関数では、ロガーに対してログ・レベルを設定できます。たとえば、loglevel("ROOT", "INFO")はルート・ロガーのレベルをINFOに設定します。これにより、INFOおよび上位のログ(WARNERRORFATAL)がすべてコンソールに出力されます。

スクリプト引数

スクリプトのパラメータは後から指定できます。次に例を示します。

./bin/opg4j /path/to/script.jsh script-arg-1 script-arg-2

この例では、スクリプト/path/to/script.jshscriptArgsシステム・プロパティを介して引数にアクセスできます。次に例を示します。

println(System.getProperty("scriptArgs"))// Prints: script-arg-1 script-arg-2

対話方式モードの維持

デフォルトでは、グラフ・シェルは実行の終了後に終了します。スクリプトが正常に終了した後も対話モードのままにするには、--keep_runningフラグをシェルに渡します。次に例を示します。

./bin/opg4j -b https://myserver.com:7007/ /path/to/script.jsh --keep_running