10.6.12 リレーショナル・データのRDFビュー

Graph Server and Clientリリース25.3以降では、RDFグラフ・サーバーおよび問合せUIのRDFビュー・ウィザードを使用して、RDFビュー・グラフを簡単に作成できます。その後、RDFビュー・グラフでSPARQL問合せを実行して、問合せ出力をビジュアル化できます。

このウィザードには、リレーショナル表の内容をRDFトリプルとして表示するR2RMLマッピングを作成するための、ステップバイステップの構造化されたアプローチが用意されています。また、ウィザードを使用して作成されたマッピングでは、リソースを空白ノードとして表示できません。

ノート:

Oracle Graphには、RDFビューを作成、エクスポートおよび削除するためのサブプログラムも用意されています。詳細は、RDFビューのAPIサポートを参照してください。RDFビュー・グラフは、SPARQL問合せを使用して問い合せることができます。

RDFビュー・ウィザードは、次の概念に基づいています:

  • リソース・マップ: これらは、グラフ構造内のリソース(ノード)を取得するためのマッピングを表しています。リソース・マップには、エンティティ表の各行のコンテンツを、RDFトリプルのセットとして表示するためのマッピングが含まれています。これらのトリプルは、同じリソースを主語として使用して、そのすべてのプロパティに加えて、行に対応するエンティティも表しています。
  • リンク・マップ: これらは、グラフ構造内の2つのリソース間の関係(エッジ)を取得するためのマッピングを表しています。リンク・マップには、関連表の行で取得される各バイナリ関係を表示するためのマッピングが含まれています。RDFトリプルでは、述語が関係のタイプを反映しており、その主語と目的語は参照(ソースおよびターゲット)リソース・マップを使用して取得されるリソースです。

次の項では、ウィザードを使用してRDFビュー・グラフを作成、問合せおよびビジュアル化するステップについて説明します:

10.6.12.1 RDFビュー・ウィザードのスタート・ガイド

この項の手順では、RDFビュー・ウィザードを使用してRDFビュー・グラフを作成するステップについて説明します。ここでは、アプリケーションがデータ・ソースに接続されていることを前提としています。必要なリレーショナル表およびRDFネットワークがデータベースに存在しています。次の図は、ステップの例で使用するスキーマの例を視覚的に表現したものです:

図10-72 スキーマの例(RDFU)



前述の図に示すように、スキーマRDFUは、EMPJOB_HISTおよびDEPTの3つの表で構成されています。(4番目の表JOB_MENTORもありますが、この例では使用しないため、前の図には示されていません)。3つの表の単一列の主キーは、それぞれEMPNOJOBNOおよびDEPTNOです。JOB_HIST表には、EMP表およびDEPT表を参照するための外部キーとしてENOおよびDNOがそれぞれ含まれています。

RDFビュー・ウィザードを使用してRDFビュー・グラフを作成するには、次のステップを実行します。
  1. データページに移動します。
  2. 「データソース」およびRDFネットワークを選択します。
  3. 「RDFネットワーク」タブのRDFオブジェクトにある「RDFビュー」を右クリックします。
  4. コンテキスト・メニューからウィザードを使用して作成をクリックします。
    次のように、RDFビューの作成ウィザード・ページが右側のパネルに開きます:

    図10-73 RDFビューの作成ウィザード



    次のいずれかの方法を使用して、RDFビュー・グラフの作成を開始できます:

    • ワンクリック・ブートストラップ: 所有するデータベース表からマッピングを自動的に作成します。この方法は、現在の環境にリソース・マップが存在しない場合にのみ使用できます。
    • 既存のリソース・マッピングおよびリンク・マッピングの拡張(推移閉包/増分拡張): 現在のマッピングを使用し、外部キーの1ホップごとにRDFビュー・グラフ・マッピングを拡張します。
    • 手動マッピング: 表を手動で選択してリソースおよびリンク・マッピングを作成し、ウィザード・ワークフローに従います。

    これらの方法を混在させて照合し、RDFビュー・グラフを作成することもできます。

  5. 選択する方法に応じて、ステップを実行します:
    • 外部キーからの自動構築(初回ブートストラップ):

      使用している環境にリソース・マップが存在しない場合、右上隅のハンマー・ボタンに外部キーから作成が表示されます。ボタン(次の図で強調表示されています)を使用して、データベースからマッピングをワンクリックでブートストラップします。

      図10-74 外部キーからの構築



      このウィザードでは、次のアクションが実行されます:

      • スキーマ内のすべての表を選択し、その外部キーを調べます。
      • 少なくとも1つの非外部キー列を持つエンティティ表のRMAPを作成します。外部キーのみを含む純粋な結合表は、スタンドアロンRMAPとして作成されません。
      • RMAPとして作成されなかった結合表から導出されたリンクなど、外部キーを介して検出された関係に対してLMAPを作成します。
    • 推移閉包のステップ(増分拡張):

      環境に少なくとも1つのRMAPが存在する場合、右上のハンマー・ボタンに推移閉包ステップが表示されます。このボタンをクリックすると、RDFビュー・グラフ・マッピングの外部キーが1ホップ分現在のRMAPから展開され、マップされたエンティティおよび他の関連する親エンティティを参照する関連表が追加されます。

      このウィザードでは、次のアクションが実行されます:

      • 非外部キー列が少なくとも1つある新規に検出された表のRMAPを作成します。
      • マップされた表間にLMAPを作成します。
      • 必要な外部キーおよび列メタデータを読み取るための表権限がある場合は、他のスキーマから関連表を追加します。

      推移閉包のステップボタンを繰り返しクリックすると、新しい関連表が見つかりませんという通知メッセージが表示されるまで、RDFビュー・グラフ・マッピングの展開を続行できます。各展開アクションは、新しい表のみを追加し、既存のマッピングの名前、接頭辞、キー、クラス、プロパティまたは述語に対するすべての編集を保持することに注意してください。

    • リソースおよびリンク・マップの手動追加:
  6. オプションで、追加されたリソース・マップをクリックして、その詳細を表示または編集します。

    図10-75 リソース・マップの詳細の表示



    また、次の点にも注意してください。

    • リソース・マップの基礎となるデータベース表に主キーがない場合、表の最小の列がデフォルトでリソース・マップのキーとみなされます。
    • リソース・マップの詳細セクションで、リソース・マップのキー、クラス、グラフ・マップおよびテンプレート(サブジェクト)を編集することを選択できます。たとえば、JobHistリソース・マップの名前をよりわかりやすい名前(workedForなど)に変更できます。
    • リソース・マップ・プロパティ・セクションで、プロパティの述語とオブジェクトのマッピングを編集することを選択できます。オブジェクトの多くのオプションのうち、テンプレート、列、定数IRIまたはリテラルを使用できます。リテラルについては、カスタム・データ型、言語タグなどを指定できます。また、次に示すように、詳細オプションを選択して、各プロパティ・トリプルを名前付きグラフに関連付けることができます。

      図10-76 リソース・マップ・プロパティの編集



  7. オプションで、追加されたリンク・マップをクリックして、その詳細を表示または編集します。

    図10-77 リンク・マップの詳細の表示



    また、編集ボタンの横にある矢印の切替えボタンをクリックすると、リンク・マップ内のリンクの方向を簡単に反転できます。

  8. 次のいずれかのアクションを選択して続行します。
    • リソース・マップまたはリンク・マップを手動で追加します。
    • ハンマー・アイコン(推移閉包のステップ)をクリックしてマッピングを展開し、関連する表および関係をフェッチします。
    • 検査用のRAW R2RML、またはR2RML文字列を含むすぐに実行できるPL/SQLスクリプトをダウンロードします(ステップ9を参照)。
    • ステップ10に進んで、RDFビューを直接作成します。
  9. R2RMLタブをクリックして、RAW R2RMLを検査します。

    オプションで、「ダウンロード」をクリックして、R2RML文字列またはRAW R2RMLを含む、すぐに実行できるPL/SQLスクリプトをダウンロードします。

    図10-79 R2RMLのダウンロード



    • 「PL/SQL」をクリックし、RDFビュー名を入力し、「ダウンロード」をクリックして、現在のR2RMLマッピングに基づいてRDFビューを作成するためのPL/SQL無名ブロックをダウンロードします。
    • R2RML「ダウンロード」の順にクリックして、R2RMLマッピング・ドキュメントをダウンロードします。
  10. RDFビューの作成ウィザードページの右上にある「作成」(RDFビューの作成ボタン)をクリックします。
    RDFビューの作成ウィンドウが次のように開きます:

    図10-80 RDFビューの作成



  11. RDFビューの名前を入力して、「作成」をクリックします。
  12. 左ペインのRDFオブジェクトにある「RDFビュー」をリフレッシュします。
    新しく作成したビューがリストに正常に追加されます。

    オプションで、RDFビュー・グラフを右クリックし、「開く」をクリックすれば、RDFビュー・グラフの詳細を表示できます。「SPARQL」タブでSPARQL問合せを実行できます。SPARQL問合せの結果は、表出力、グラフまたはその両方で表示できます。

    図10-81 RDFビューでのSPARQL問合せの実行



    RDFビュー・グラフを右クリックして、「ビジュアル化」を選択することもできます。これにより、RDFビューのビジュアライゼーション・ページが新しいタブで開きます。問合せセレクタ・セクションにSPARQL問合せを入力し、「実行」をクリックします。問合せの出力は、Graphvizセクションにグラフとして表示されます。たとえば、従業員が勤務する部門を検索するために、次のSPARQL問合せを実行できます:

    PREFIX ex: <http://www.example.oracle.com/>
    
    CONSTRUCT {
        ?emp <http://www.example.oracle.com/workedFor> ?dept .
        ?job <http://www.example.oracle.com/employed> ?emp .
        ?job <http://www.example.oracle.com/atDepartment> ?dept .
    }
    WHERE { 
        graph ?job { 
          ?emp <http://www.example.oracle.com/workedFor> ?dept 
        }
    }
    LIMIT 500

    問合せのビジュアライゼーション出力は次のように表示されます:

    図10-82 RDFビュー・グラフでのSPARQL問合せのビジュアル化



10.6.12.2 リソース・マップの手動作成

次のステップを実行して、RDFビュー・ウィザードの「デザイナ」タブでRDFビュー・グラフのリソース・マップを手動で作成します。
  1. 新規リソース・マップの追加(+)アイコンをクリックします。
    リソース・マップの作成ダイアログが開き、所有する表がリストされます。

    図10-83 リソース・マップの作成



  2. オプションで、アクセス可能なすべての表の表示をクリックして、他のスキーマからアクセスできるすべての表を含めます。
  3. 必要な入力表を選択し、選択内容を右に移動します。
  4. 接頭辞の使用ドロップダウンから接頭辞の値を選択します。
  5. 「作成」をクリックします。
    選択した表が「リソース・マップ」セクションに追加されます。また、この選択に基づいて、一部のリンク・マップが自動的に作成される場合があります。関連表が参照される両方の親表とともに選択されると、ウィザードでは、順序付けされていない外部キー・ペアごとに1つのLMAPが自動的に作成されます(4つ以上の外部キーを持つ表の自己関係および複数のリンクを含む)。

    ヒント:

    RDFビュー・グラフの構築中はいつでも推移閉包のステップボタンをクリックして、既存のマッピングを展開できます。

10.6.12.3 リンク・マップの手動作成

次のステップを実行して、RDFビュー・ウィザードの「デザイナ」タブでRDFビュー・グラフのリンク・マップを手動で作成します。
  1. リンク・マップ(+)アイコンをクリックします。
    リンク・マップの作成ワークフローが開き、「名前」ステップが表示されます。

    図10-84 リンク・マップの作成: 「名前」



  2. リンク・マップ名を入力します。
  3. 「次」矢印アイコンをクリックします。
    「選択」ステップが次のように開きます。

    図10-85 リンク・マップの作成: 「選択」



  4. ドロップダウンから関連表を選択します。
  5. 「次」矢印アイコンをクリックします。
    「定義」ステップが開き、「ソース」タブが表示されます。

    図10-86 リンク・マップの作成: 「定義」(「ソース」タブ)



  6. 「ソース」タブで、ソースの参照RMAPおよびキーを選択します。
  7. このリンクの述語の作成方法を指定します。テンプレート、列に基づいて作成することも、「関係」タブで定数の絶対またはコンパクトIRIを明示的に指定することもできます。

    図10-87 リンク・マップの作成: 「定義」(「関係」タブ)



  8. オプションで、「詳細オプション」をクリックして、生成されたリンクを名前付きグラフに追加します(図10-87を参照)。

    これにより、RDFクワッドを作成できます。グラフ・マップは、テンプレート、列、定数(IRI)に基づいて作成することも、リソース・マップおよび照合キーへの参照に基づいて作成することもできます。リソース・マップに基づいたオプションの場合、参照されるリソース・マップのテンプレートが使用され、キーとして指定された(関連表の)列が置き換えられるため、生成された名前付きグラフのIRIを、生成されたトリプルの識別子として使用できます。名前付きグラフの詳細は、名前付きグラフを参照してください。

  9. 「ターゲット」タブで、宛先の参照RMAPおよびキーを選択します。

    図10-88 リンク・マップの作成: 「定義」(「ターゲット」タブ)



  10. 「次」矢印アイコンをクリックします。
    設計したグラフ構造のサマリーが表示されます。たとえば、次のようにします。

    図10-89 リンク・マップの作成: 「サマリー」



  11. 「作成」をクリックします。
    構成されたトリプルが追加され、リンク・マップ・セクションに表示されます。