8 APEXグラフ・ビジュアライゼーション・プラグインを使用したSQLグラフ問合せの視覚化
Oracle Application Express (APEX)グラフ・ビジュアライゼーション・プラグインを使用すると、APEXアプリケーションでSQLプロパティ・グラフを視覚化することやそれとやり取りすることができます。
次のトピックでは、このプラグインについて詳しく説明します。
- APEXグラフ・ビジュアライゼーション・プラグインについて
APEXグラフ・ビジュアライゼーション・プラグインでは、APEXアプリケーションでのグラフ・ビジュアライゼーションをサポートする、Javaスクリプト・ライブラリが統合されます。 - APEXグラフ・ビジュアライゼーション・プラグインの概要
この項は、APEXアプリケーションでグラフ・ビジュアライゼーション・プラグインを初めて使用する場合に役立ちます。 - APEXグラフ・ビジュアライゼーション・プラグインの属性の構成
APEXアプリケーションでグラフ・ビジュアライゼーション・プラグインの属性を使用してグラフ・ビジュアライゼーションをカスタマイズする方法を説明します。
親トピック: SQLプロパティ・グラフ
8.1 APEXグラフ・ビジュアライゼーション・プラグインについて
APEXグラフ・ビジュアライゼーション・プラグインでは、APEXアプリケーションでのグラフ・ビジュアライゼーションをサポートする、Javaスクリプト・ライブラリが統合されます。
詳細は、プロパティ・グラフ・ビジュアライゼーションのGraph JavaScript APIリファレンスを参照してください。
このプラグインでは、主に次のことが可能です。
- データベース内のグラフ・データからSQLプロパティ・グラフ問合せを視覚化します。
- グラフの頂点とエッジを調べます。これらのグラフ要素を個別に、またはグループ単位で選択し視覚化することもできます。
- グラフ・レイアウトの変更、選択した頂点のグループ化またはグループ化解除、選択した頂点またはエッジの削除などの様々な操作を実行することで、グラフ・ビジュアライゼーションとやり取りします。
- サイズ、色、アイコン、ラベル値などのスタイル設定を構成することで、グラフ内の頂点とエッジのスタイルを設定します。
- グラフの発展を経時的に視覚化し調査します。
次の図では、このプラグインを使用したAPEXアプリケーションでのグラフ・ビジュアライゼーションの例を示します。

図apex_graphviz_plugin.pngの説明
8.2 APEXグラフ・ビジュアライゼーション・プラグインの概要
この項は、APEXアプリケーションでグラフ・ビジュアライゼーション・プラグインを初めて使用する場合に役立ちます。
- このプラグインのインポート先となるターゲット・アプリケーションが存在すること。
- ビジュアライゼーションに使用するSQLプロパティ・グラフがデフォルトのデータベース・スキーマに存在すること。
SQLワークショップ・コンポーネント内のコマンド・エディタを使用すると、
CREATE PROPERTY GRAPH
DDL文でSQLプロパティ・グラフを作成できます(コマンド・エディタの使用を参照)。
- APEXでのSample Graph Visualizationsアプリケーションのインポート
Sample Graph Visualizationsアプリケーションでは、グラフ・ビジュアライゼーション・プラグインの使用例を実際に確認できます。 - ページ区切りを使用したグラフ・ビジュアライゼーション
ORA_SQLGRAPH_TO_JSON
関数を使用している場合はページ区切りを実装できます。
8.2.1 APEXでのSample Graph Visualizationsアプリケーションのインポート
Sample Graph Visualizationsアプリケーションでは、グラフ・ビジュアライゼーション・プラグインの使用例を実際に確認できます。
ORA_SQLGRAPH_TO_JSON
関数(前の図で強調表示されている)を使用してSQLプロパティ・グラフ問合せのビジュアライゼーションを表示するには、次の手順をさらに実行する必要があります。
親トピック: APEXグラフ・ビジュアライゼーション・プラグインの概要
8.2.2 ページ区切りを使用したグラフ・ビジュアライゼーション
ORA_SQLGRAPH_TO_JSON
関数を使用している場合はページ区切りを実装できます。
ORA_SQLGRAPH_TO_JSON
関数でのページ区切りを使用するには、次のことを確認する必要があります。
- APEXアプリケーション内のグラフ・ビジュアライゼーション・コンポーネントについて、「プロパティ・エディタ」の「属性」タブでSQL問合せでページ区切りをサポートする設定をオンにします。
- 次のコード例で示すように、このヘルパー関数に
page_start
パラメータとpage_size
パラメータを追加します。CREATE OR REPLACE FUNCTION bank_sqlgraph_json ( QUERY VARCHAR2, PAGE_START NUMBER DEFAULT -1, PAGE_SIZE NUMBER DEFAULT -1 ) RETURN CLOB AUTHID CURRENT_USER IS INCUR SYS_REFCURSOR; L_CUR NUMBER; RETVALUE CLOB; BEGIN OPEN INCUR FOR QUERY; L_CUR := DBMS_SQL.TO_CURSOR_NUMBER(INCUR); RETVALUE := ORA_SQLGRAPH_TO_JSON(L_CUR, PAGE_START, PAGE_SIZE); DBMS_SQL.CLOSE_CURSOR(L_CUR); RETURN RETVALUE; END;
- 「プロパティ・エディタ」の「リージョン」タブにある「SQL問合せ」入力でこのヘルパー関数をコールするときに、変数を
page_start
とpage_size
にバインドします。SELECT bank_sqlgraph_json('SELECT id_a, id_e, id_b FROM GRAPH_TABLE (bank_sql_pg MATCH (a IS accounts) -[e IS transfers]-> (b IS accounts) WHERE a.id = 816 COLUMNS (vertex_id(a) AS id_a, edge_id(e) AS id_e, vertex_id(b) AS id_b) )', :page_start, :page_size ) AS result_column FROM DUAL;
なお、
page_start
値は自動的に設定されます。「プロパティ・エディタ」の「属性」タブで、page_size
の値を設定できます。
親トピック: APEXグラフ・ビジュアライゼーション・プラグインの概要
8.3 APEXグラフ・ビジュアライゼーション・プラグインの属性の構成
APEXアプリケーションでグラフ・ビジュアライゼーション・プラグインの属性を使用してグラフ・ビジュアライゼーションをカスタマイズする方法を説明します。
ページ・デザイナの右ペインにある「属性」タブ(プロパティ・エディタ)で、このプラグイン・コンポーネントの属性を構成できます。

図apex_plugin_attr.pngの説明
このプラグインの属性のインタフェース・マッピングについては、プロパティ・グラフ・ビジュアライゼーションのGraph JavaScript APIリファレンスのインタフェースページを参照してください。
属性は、次のパネルでそのスコープに従ってグループ化されています。
設定
属性 | 説明 |
---|---|
ページ・サイズ | ページごとに表示する、頂点およびエッジの数を指定します。 |
設定 | グラフ設定をJSON形式で指定します。詳細は、「「設定」」を参照してください。 |
SQL問合せでページ区切りをサポートする | paginateインタフェースを実装している場合は、このトグルをオンにします。
詳細は、「ページ区切りを使用したグラフ・ビジュアライゼーション」を参照してください。 |
外観
属性 | 説明 |
---|---|
レイアウト | グラフのレイアウトを指定します。 |
エッジのグループ化 | このトグルをオンにするとエッジがグループ化されます。 |
頂点ラベル | 頂点ラベルに使用するプロパティを指定します。 |
エッジ・ラベル | エッジ・ラベルに使用するプロパティを指定します。 |
ラベルの最大長 | ラベルの最大長を指定します。 |
モードの表示 | このチェック・ボックスを選択すると、次のオプションを含むモード・パネルが表示されます。
|
探索の表示 | このチェック・ボックスを選択すると、次のグラフ探索アクションが表示されます。
|
スタイル | スタイル構成をJSON形式で指定します。詳細は、「スタイル」を参照してください。 |
コールバック
属性 | 説明 |
---|---|
拡張 | グラフ・ビジュアライゼーション内の選択した頂点を拡張する方法の詳細は、「拡張」を参照してください。 |
アクションのフェッチ | データ・ソースからグラフ・アクションを取得する方法の詳細は、fetchActionsを参照してください。 |
永続 | グラフ・アクションをデータ・ソースに永続化する方法の詳細は、persistを参照してください。 |
8.3.1 設定
ページ・デザイナの「プロパティ・エディタ」にある「設定」属性を使用して、レイアウトの切替え、エッジのグループ化、プロパティに基づいたグラフ・エンティティの発展の表示などの様々なグラフ設定を適用できます。