12.1 対話型グラフ・シェルのCLI

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

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

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

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

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

次の項では、グラフ・シェルのCLIの起動方法について詳しく説明します。

関連項目:

12.1.1 OPG4Jシェルの起動

OPG4Jシェルの起動

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

OPG4JシェルではJShellが使用されます。つまり、このシェルはJava 11以降で実行する必要があります。前提条件の詳細は、「グラフ・サーバーおよびクライアント・ダウンロードからのJavaクライアントのインストール」を参照してください。その後、端末で次のように入力することでOPG4Jシェルを起動できます。

cd /opt/oracle/graph
./bin/opg4j

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

For an introduction type: /help intro
Oracle Graph Server Shell 24.1.0
Variables instance, session, and analyst ready to use.
opg4j>

グラフ・サーバー機能をライブラリとして使用したアプリケーションの開発で説明するように、デフォルトでは、OPG4JシェルによりローカルPGXインスタンスが作成されて、シェルと同じJVMでグラフ関数が実行されます。

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

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

./bin/opg4j --help

グラフ・サーバー(PGX)に接続せずにopg4jシェルを起動するには、次のように--no_connectオプションを使用します。

./bin/opg4j --no_connect

リモート・モードでのOPG4Jシェルの起動

OPG4Jシェルでは、別のJVM (別のマシン上など)で実行されているグラフ・サーバー(PGX)インスタンスに接続できます。OPG4Jシェルをリモート・モードで起動するには、次のように--base_urlパラメータを指定する必要があります。
./bin/opg4j --base_url https://<host>:7007 --username <graphuser>
説明:
  • <host>: サーバー・ホスト
  • <graphuser>: データベース・ユーザー

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

ノート:

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

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

Oracle Graph Server Shell 24.1.0
Variables instance, session, and analyst ready to use.
opg4j>

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

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

スクリプトのバッチ実行

OPG4Jシェルでは、スクリプトへのパスをopg4jコマンドに渡すことで、スクリプトを実行できます。たとえば:

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

事前定義済関数

OPG4Jシェルには次のユーティリティ関数があります。

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

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

スクリプトの引数

グラフ・サーバー(PGX)によって実行されるスクリプトにパラメータを指定することもできます。たとえば:

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

スクリプト/path/to/script.jshは、arguments.scriptArgs変数を介して引数にアクセスできます。引数は文字列の配列(String[])として指定します。たとえば:

Arrays.stream(arguments.scriptArgs).forEach((a) -> 
    System.out.println(a));

前述の例では、出力が次のように出力されます:

script-arg-1
script-arg-2

対話方式モードの維持

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

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

12.1.2 OPG4Pyシェルの起動

OPG4Pyシェルの起動

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

OPG4Pyシェルを起動する前に、システムがこれらの前提条件を満たしていることを確認します。その後、端末で次のように入力することでOPG4Pyシェルを起動できます。

cd /opt/oracle/graph
./bin/opg4py

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

Oracle Graph Server Shell 24.1.0
>>>

IPythonがインストールされている場合は、次のプロンプトが表示されます。

In [1]:

グラフ・サーバー機能をライブラリとして使用したアプリケーションの開発で説明するように、デフォルトでは、OPG4PyシェルによりローカルPGXインスタンスが作成されて、シェルと同じJVMでグラフ関数が実行されます。

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

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

./bin/opg4py --help

グラフ・サーバー(PGX)に接続せずにPyPGXシェルを起動するには、次のように--no_connectオプションを使用します。

./bin/opg4py --no_connect

リモート・モードでのOPG4Pyシェルの起動

OPG4Pyシェルでは、別のJVM (別のマシン上など)で実行されているグラフ・サーバー(PGX)インスタンスに接続できます。OPG4Pyシェルをリモート・モードで起動するには、次のように--base_urlパラメータを指定する必要があります。
./bin/opg4py --base_url https://<host>:7007 --username <graphuser>
説明:
  • <host>: サーバー・ホスト
  • <graphuser>: データベース・ユーザー

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

ノート:

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

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

Oracle Graph Server Shell 24.1.0
>>>