20 グラフ・ビジュアライゼーション・アプリケーションの使用

ログイン時に選択したPGQLドライバに応じて、グラフ・ビジュアライゼーション・アプリケーションはデータベースまたはグラフ・サーバー(PGX)に接続されます。

どちらの場合も、グラフ・ビジュアライゼーション・アプリケーションの主なエントリ・ポイントは、問合せエディタと、グラフ・サーバー(PGX)またはデータベースに存在するグラフのリストを表示するグラフ・リストです。

次の各項では、アプリケーション・ユーザー・インタフェースと、視覚化のためのPGQL問合せの実行について詳しく説明します。

20.1 グラフ・サーバー(PGX)にロードされたグラフに対するPGQL問合せの視覚化

グラフ・サーバー(PGX)にロードされたグラフに対してPGQL問合せを実行するには、ログイン画面でグラフ・サーバー拡張オプションを選択して、グラフ・ビジュアライゼーション・アプリケーションにログインする必要があります。

詳細は、「グラフ・サーバー(PGX)でのPGQL用のグラフ・ビジュアライゼーション・アプリケーションの構成」を参照してください。

グラフに対して問合せを実行するには、そのグラフを選択します。問合せエディタでは、視覚化できるPGQL問合せを作成できます。(PGQLは、グラフ・ビジュアライゼーション・アプリケーションでサポートされている、SQLに似た問合せ言語です。)

ノート:

  • CREATE PROPERTY GRAPH文を使用したプロパティ・グラフの作成はサポートされていません。
  • LATERALおよびGRAPH_TABLE副問合せは、グラフ・ビジュアライゼーション・アプリケーションではサポートされていません。

問合せの準備ができて、目的のグラフを選択したら、実行アイコンをクリックして問合せを実行します。次の図は、グラフ内の頂点から他の頂点へのすべての有向エッジを識別する問合せのビジュアライゼーションを示しています。

図20-1 問合せの視覚化

図20-1の説明が続きます
「図20-1 問合せの視覚化」の説明

問合せが成功すると、ノードとその接続を含むグラフのビジュアライゼーションが表示されます。ノードまたは接続を右クリックすると、ツールチップ情報が表示され、ノードをドラッグして移動できます。

20.2 データベース内のグラフに対するPGQLおよびSQLグラフ問合せの視覚化

データベース内のグラフに対してPGQLまたはSQLグラフ問合せを実行するには、ログイン画面で「データベース」拡張オプションを選択して、グラフ・ビジュアライゼーション・アプリケーションにログインする必要があります。

詳細は、「データベースでのPGQL用のグラフ・ビジュアライゼーション・アプリケーションの構成」を参照してください。

グラフ・ビジュアライゼーション・アプリケーションのユーザー・インタフェースは、使用しているデータベースのバージョンによって異なります。

Oracle Database 23cの場合: 次の2つのタブ・オプションが表示されます:

  • PGQL: プロパティ・グラフ・ビューに対してPGQL問合せを実行します。詳細は、PGQL仕様のグラフ・パターン一致問合せを参照してください。
  • SQL/PGQ: SQLプロパティ・グラフに対してSQLグラフ問合せを実行します。詳細は、「SQL GRAPH_TABLE問合せ」を参照してください。

Oracle Database 21c以前の場合: 前述のリストの「PGQL」オプションのみがサポートされています。

次の各項では、PGQLおよびSQLグラフ問合せの視覚化の例について説明します。

20.2.1 PGビューでのPGQL問合せの視覚化

グラフ・ビジュアライゼーション・アプリケーションを使用して、データベースでプロパティ・グラフ・ビュー(PGビュー)を作成、問合せ、変更および視覚化できます。

データベースに接続している場合、アプリケーションの「PGQL」タブで次のPGQL問合せを実行できます。

20.2.2 SQLプロパティ・グラフに対するグラフ問合せの視覚化

グラフ・ビジュアライゼーション・アプリケーションを使用して、データベース内のSQLプロパティ・グラフを問い合せて視覚化できます。

ただし、GRAPH_TABLE問合せの頂点およびエッジをIDとそのすべてのラベルおよびプロパティとともに視覚化するには、問合せで頂点IDまたはエッジID(あるいはその両方)を返す必要があります。

たとえば、次の図は、SQLプロパティ・グラフでのSQL GRAPH_TABLE問合せのビジュアライゼーションを示しています。問合せのCOLUMNS句では、VERTEX_IDおよびEDGE_ID演算子が使用されています。

ノート:

  • 「SQLプロパティ・グラフを問い合せる権限」で説明されている権限に加えて、グラフ・ビジュアライゼーション・アプリケーションでSQLプロパティ・グラフを問い合せて視覚化するには、CREATE VIEWおよびCREATE MATERIALIZED VIEW権限も必要です。
  • グラフ・ビジュアライゼーション・アプリケーションでは、SELECTグラフ問合せのみがサポートされています。

図20-7 SQLプロパティ・グラフのGRAPH_TABLE問合せ

図20-7の説明が続きます
「図20-7 SQLプロパティ・グラフのGRAPH_TABLE問合せ」の説明

グラフの名前は、GRAPH_TABLE問合せで指定する必要があります。使用可能なグラフのリスト・アイコンをクリックして、アクセス権のあるSQLプロパティ・グラフのリストを表示できます。

関連項目:

詳細は、「SQL GRAPH_TABLE問合せ」を参照してください

20.3 グラフ・ビジュアライゼーション・モード

右のボタンを使用すると、「グラフの操作」と「ズーム/移動」の2つのモードを切り替えることができます。

  • 「グラフの操作」モードでは、ビジュアライゼーションを変更するアクションを実行できます。次のアクションがあります:
    • 「削除」は、選択した頂点をビジュアライゼーションから削除します。ツールチップから実行することもできます。
    • 「グループ」は、複数の頂点を選択し、それらを1つの頂点にまとめます。
    • 「グループ解除」は、まとめた頂点のグループを選択し、それらのグループを解除します。
    • 「展開」は、選択した頂点の構成可能な隣接範囲(ホップ)の数を取得します。ツールチップから実行することもできます。
    • 「展開」などの「フォーカス」は、隣接範囲の構成可能な数を取得しますが、他のすべての頂点の削除も行います。ツールチップから実行することもできます。
    • 「元に戻す」は、最後の操作を元に戻します。
    • 「再実行」は、最後の操作をやり直します。
    • 「リセット」は、問合せの後にビジュアライゼーションを元の状態にリセットします。
  • 「ズーム/移動」モードでは、ズーム・インおよびズーム・アウトしたり、ビジュアライゼーションの別の部分に移動できます。「中央にパン」ボタンは、ズームをリセットし、ビューを元のビューに戻します。

「固定」モードと呼ばれる追加モードを使用すると、ノードのドラッグ操作を取り消すことができます。

20.4 グラフ・ビジュアライゼーションの設定

「設定」歯車アイコンをクリックして、グラフ・ビジュアライゼーションの設定ウィンドウを表示できます。

設定ウィンドウでは、ビジュアライゼーションの一部のパラメータを変更でき、「一般」、「ビジュアライゼーション」および「強調表示」のタブがあります。次の図は、このウィンドウで「ビジュアライゼーション」タブが選択された状態を示しています。

図20-8 グラフ・ビジュアライゼーションの設定ウィンドウ

図20-8の説明が続きます
「図20-8 グラフ・ビジュアライゼーションの設定ウィンドウ」の説明

「一般」タブには次が含まれています。

  • ホップ数: 拡張操作およびフォーカス操作の構成可能なホップ数。
  • ラベルの切捨て: 最大長を超える場合は、ラベルを切り捨てます。
  • 表示ラベル最大長: 切捨て前の最大長。
  • ホバー時にラベルを表示: カーソルを合せたときにラベルを表示するかどうかを制御します。
  • グラフの凡例の表示: 凡例を表示するかどうかを制御します。

「ビジュアライゼーション」タブには次が含まれています。

  • テーマ: 明るいモードまたは暗いモードを選択します。
  • 辺スタイル: 直線エッジまたは曲線エッジを選択します。
  • 辺マーカー: 矢印を選択するか、またはエッジ・マーカーを選択しません。これは有向エッジにのみ適用されます。
  • 類似辺: 保持または収集を選択します。
  • ページ・サイズ: 1ページごとに表示される頂点およびエッジの数を指定します。
  • レイアウト: 異なるレイアウト(ランダム、グリッド、円、同心、...)の中から選択します。
  • 頂点ラベル: 頂点ラベルとして使用するプロパティを選択します。
  • 頂点ラベルの方向: 頂点ラベルの相対位置を選択します。
  • 辺ラベル: エッジ・ラベルとして使用するプロパティを選択します。

「強調表示」タブには、エッジや頂点の外観を変更できるカスタマイズ・オプションが含まれています。強調表示は、単一または複数の要素上の条件(フィルタ)に基づいて適用できます。次の図に、頂点の条件(country = United States)と視覚的な強調表示オプションを示します。

図20-9 頂点の強調表示オプション

図20-9の説明が続きます
「図20-9 頂点の強調表示オプション」の説明

強調表示のフィルタには、要素のプロパティに関する複数の条件を含めることができます。次の条件がサポートされています。

  • = (等しい)
  • < (より小さい)
  • <=(以下)
  • > (より大きい)
  • >=(以上)
  • != (等しくない)
  • ~ (フィルタは正規表現)
  • * (任意: ワイルドカードと同様に、任意のものと一致)

視覚的な強調表示のカスタマイズ・オプションは次のとおりです。

  • エッジ:
    • ラベル
    • スタイル
    • アニメーション
  • 頂点:
    • サイズ
    • アイコン
    • ラベル
    • イメージ
    • アニメーション

メイン・ウィンドウの「保存」および「インポート」ボタンをクリックすると、強調表示オプションをエクスポートおよびインポートできます。「保存」では、強調表示オプションを保持でき、「ロード」では、前に保存した強調表示オプションを適用できます。

「保存」をクリックすると、強調表示構成を持つJSONオブジェクトを含むファイルが保存されます。後でそのファイルをロードして、保存したセッションの強調表示を復元できます。

20.5 地理レイアウトの使用

グラフ・ビジュアライゼーション・アプリケーションでは、グラフをレンダリングするためのレイアウトを選択できます。その1つは、グローバル・マップ上にグラフ(頂点とエッジ)を表示する地理レイアウトです。

次の図は、グラフ・ビジュアライゼーション・アプリケーションの地理レイアウトにレンダリングされたグラフを示しています。

図20-10 地理レイアウト

図20-10の説明が続きます
「図20-10 地理レイアウト」の説明
マップ上に頂点を表示するには、その頂点の経度および緯度の座標が含まれるプロパティのペアの形式で地理的な場所を含める必要があります。たとえば:
+-------------------------------------------------+
| iata | city        | longitude    | latitude    |
+-------------------------------------------------+
| SIN  | Singapore   | 103.994003   | 1.35019     |
| LAX  | Los Angeles | -118.4079971 | 33.94250107 |
| MUC  | Munich      | 11.7861      | 48.353802   |
| CDG  | Paris       | 2.55         | 49.012798   |
| LHR  | London      | -0.461941    | 51.4706     |
+-------------------------------------------------+

ノート:

経度および緯度のプロパティには任意の名前(XとY、longとlatなど)を使用できます。ただし、経度/緯度ペアがWGS84システム(GPS座標)にあり、座標が10進角で表されるようにする必要があります。
次のように、グラフ・ビジュアライゼーション設定ウィンドウで地理レイアウトを選択できます。

図20-11地理レイアウトの設定

図20-11の説明が続きます
「図20-11地理レイアウトの設定」の説明

次に、次のように、地理座標が含まれる頂点でプロパティを選択します。

図20-12 地理レイアウトの座標の選択

図20-12の説明が続きます
「図20-12 地理レイアウトの座標の選択」の説明

これで、マウスやトラックパッドを使用してマップ中を移動したり、ズームイン/ズームアウトすることができます。これ以降、新しいPGQL問合せを入力するたびに、マップでは問合せによって返される頂点が自動的に中心となり、ズームされます。

20.6 ライブ検索の使用

ライブ検索では、表示されたグラフを検索し、各アイテムにライブのファジー検索スコアを追加できます。これにより、検索結果をすぐにグラフで視覚的に示す強調表示を作成できます。

問合せを実行してグラフが表示された場合は、設定ダイアログにライブ検索を追加できます。「全般」タブの下部に、次のオプションが表示されます。

  • ライブ検索の有効: ライブ検索機能を有効にし、検索入力をビジュアライゼーションに追加して、検索をさらにカスタマイズできるようにします。
  • 検索範囲の有効化: 「頂点」、「辺」、またはその両方のプロパティを検索するかどうかを選択できます。
  • 検索するプロパティ: 「検索範囲の有効化」で選択した内容に基づいて、検索する1つ以上のプロパティを設定できます。たとえば、辺の検索を無効にしても辺からのプロパティを選択していた場合、辺の検索を再度有効にすると、プロパティが保存されて追加されます。(これは頂点に対しても機能します)。
  • 詳細設定: 検索をさらに詳細に調整できます。それぞれの拡張オプションは、コンテキスト・ヘルプとともにドキュメント化されており、有効にすると表示されます。
    • 場所: テキスト内でパターンが見つかると予想されるおおよその場所を決定します。
    • 距離: あいまいな場所(「場所」で指定)に対する一致の距離を決定します。あいまいな場所から一定文字数離れた完全文字一致は、スコアが完全な不一致となります。距離0では、指定した正確な場所に一致が存在する必要があり、距離1000では、しきい値0.8を使用した場合にその場所から800文字以内に完全一致が見つかる必要があります。
    • パターン最大長: パターンの最大長。パターン(つまり、検索問合せ)が長いほど、検索操作はより集中的なものとなります。パターンがこの値を超えると、エラーが発生します。
    • 最小文字一致: パターンの最小長。パターンの長さがこの値を下回ると、エラーが発生します。

検索が有効になっている場合、入力はグラフ・ビジュアライゼーション・コンポーネントの左上に表示されます。入力を開始すると、設定と検索の一致に基づいて、すべての頂点または辺にスコアが追加されます。

結果を視覚的に確認できるようにするには、補間をライブ検索のスコアに設定した強調表示と、必要な視覚的変更に基づく別の設定を追加する必要があります。

20.7 URLパラメータを使用したグラフ・ビジュアライゼーション・アプリケーションの制御

ユーザー・インタフェースのフォーム・フィールドを使用するかわりに、URLパラメータを介してグラフ・ビジュアライゼーション・アプリケーションの入力データを提供できます。

URLにパラメータを指定すると、グラフ・ビジュアライゼーション・アプリケーションにより指定された問合せが自動的に実行され、画面に入力フォーム・フィールドが表示されなくなります。このため、結果のビジュアライゼーション出力のみが表示されます。この機能は、結果のグラフ・ビジュアライゼーションをiframeなどを使用して既存のアプリケーションに埋め込む場合に便利です。ただし、アプリケーションは、グラフ・ビジュアライゼーション・アプリケーションと同じドメインで実行する必要があることに注意してください。

次の表に、使用可能なURLパラメータを示します。

表20-1 使用可能なURLパラメータ

パラメータ名 値(URLエンコードが必要) オプションかどうか
graph グラフ名 string いいえ
parallelism 必要な並列度 number はい(デフォルトではサーバー側のデフォルトの並列度)
query PQL問合せ string いいえ

次のURLは、PGQL問合せSELECT v, e MATCH (v) -[e]-> () LIMIT 10を並列度4のグラフmyGraphで視覚化する例を示しています。

https://myhost:7007/ui/?query=SELECT%20v%2C%20e%20MATCH%20%28v%29%20-%5Be%5D-%3E%20%28%29%20LIMIT%2010&graph=myGraph&parallelism=4