10.6.10 結果表のサポート

結果表(Subject-Property-Matrix補助表とも呼ばれる)を使用して、SPARQL問合せの実行を高速化できます。結果表の詳細は、まず「結果表を使用した問合せ実行の高速化」を参照することをお薦めします。これらの補助表は、個々のRDFグラフに関連付けられています。作成後は、SPARQL問合せの実行時に自動的に使用されます。ただし、特定のオプション(「結果表のSPARQL問合せオプション」を参照)が渡され、それ以外を示す場合を除きます(結果表の作成直後に同じSPARQL問合せを実行する場合は、問合せキャッシュをクリアする必要がある場合があります)。

格納する結果の生成に使用される問合せパターンのタイプに基づいて、次の3つのタイプの結果表があります。

  • スターパターン表(単一値プロパティ表またはSVP表とも呼ばれる)には、単一値RDFプロパティの値が保持されます。モデル内の各リソースがpに最大で1つの値を持つ場合、プロパティpはRDFモデル内の単一値です。
  • トリプル・パターン表(複数値プロパティ(MVP)表とも呼ばれる)は、個々のRDFプロパティの値を保持します。このトリプル・パターン表に使用されるプロパティの値は、単一値または複数値にできます。(プロパティpは、2つのトリプル(s p o1)(s p o2)を含み、o1o2と等しくない場合、RDFグラフでは複数値です。)
  • チェーン・パターン表(プロパティ・チェーン(PCN)表とも呼ばれる)はRDFグラフのパスを保持します。連続するトリプルTiおよびTjの各ペアについて、Tiのオブジェクト値がTjのサブジェクト値と等しい場合、トリプルのシーケンスはパスを形成します。

スターパターン表およびチェーン・パターン表を使用すると、SPARQL問合せの実行中に結合を減らすことができますが、トリプル・パターン表を使用すると、個々のプロパティを含むトリプルをよりコンパクトに表現できます。さらに、字句値が結果テーブルに含まれている場合は、字句値の検索に必要な結合も回避できます。

RDFサーバーおよびQuery UI Webアプリケーションは、結果表の作成および管理をサポートします。これらの補助表を管理するには、次のようにRDFグラフを右クリックし、「結果表の管理」メニュー項目を選択します。

「結果表」ページに、RDFグラフに存在する結果表をリストする表が表示されます。初めてユーザーの場合、この表リストは空になります。このような場合は、結果表の作成および管理に必要な述語情報表を作成する必要があります。述語情報表には、述語として使用される各プロパティに関する情報がRDFグラフに格納されます。プロパティ(またはその逆)ごとに、格納される情報には、そのid (逆の場合は負のid)、nameおよびカーディナリティ(このプロパティを使用するトリプルの数)に関する統計(逆の場合はオブジェクト)が含まれます。MAX_CNT列の値1は、統計が最後に計算されたときにプロパティが単一値であったことを示します。

述語情報表を作成するには、表のメニュー・バーの「述語情報表の表示」をクリックし、「情報表の作成」を選択します。次の図に示すように、後で表を再作成することもできます。

述語情報表が作成されると、結果表を作成および管理できます。

10.6.10.1 結果表の作成

結果表を作成するには、次のステップを実行します。
  1. 「結果表」メニュー・バーの+「表の作成」メニューをクリックし、作成する結果表のタイプを選択します。

    図10-47 結果表のタイプの選択

    図10-47の説明が続きます
    「図10-47 結果表のタイプの選択」の説明

    「表の作成」ウィザードが開き、ワークフローの最初の(「名前」)ステップが表示されます。

    図10-48 ステップ1: 結果表の名前



  2. 「表名」を入力します。
  3. オプションで、「並列度」を選択します。
  4. 「→」をクリックして次のステップに進みます。
    次のように、ワークフローの2番目の(「選択」)ステップが開きます。

    図10-49 ステップ2: プロパティの選択



  5. 「モデル・プロパティ」ドロップダウンから結果表のプロパティを選択するか、カスタム・プロパティを入力できます。
    ドロップダウンには、RDFグラフに存在するすべてのプロパティが含まれます。
  6. 「→」をクリックして次のステップに進みます。
    次のように、ワークフローの3番目の(「設定」/「並替え」)ステップが開きます。

    図10-50 ステップ3: プロパティの順序変更および構成



  7. 各プロパティをドラッグ・アンド・ドロップして、必要に応じて並べ替え、値列を含めるか除外し、オプションで逆プロパティを構成します(トリプル・パターン表では使用できません)。
    このステップでは、26aiに存在するすべての新しい完全な柔軟性を利用して、必要に応じて補助表を作成します。
  8. 「→」をクリックして次のステップに進みます。
    次のように、ワークフローの最後の(「サマリー」)ステップが開きます。

    図10-51 ステップ4: 選択内容の確認



  9. 選択内容を確認し、「構築表」をクリックして結果表を作成します。

前述のワークフロー・ステップは、任意のタイプの結果表を作成する場合によく使用されます。ただし、次の26ai機能は、特定のタイプの表でのみ使用できます:

  • 逆プロパティ・パス: この機能は、チェーン・パターン表またはスターパターン表でのみ使用できます。「設定」/「並替え」プロパティ・ステップから直接、プロパティごとに個別に有効にできます。次の例では、プロパティhttp://purl.org/dc/elements/1.1/date「逆」と示されています。これは、トリプル・スイッチのサブジェクトとオブジェクトが配置されることを意味します。逆プロパティ・パスの詳細は、W3Cのドキュメントを参照してください。

    図10-52 逆プロパティ・パスの構成



  • 複数発生: 同じプロパティを複数回レプリケートできるこの新機能は、チェーン・パターン表でのみ使用できます。プロパティを複製するには、「設定」/「並替え」ステップの「アクション」列の下にある「プロパティの複製」ボタンをクリックします。表が作成されると、区別しやすくなるように、レプリケートされた各プロパティには、「#」の後にカーディナル番号が続く識別子が追加されます。

    図10-53 複数発生の構成



10.6.10.2 結果表の管理

結果表のリストを表示する結果表ページから、すべての結果テーブルを直接管理できます。結果表を編集または削除でき、個々の結果表に対する索引を表示または作成できます。結果表ビューが「表のみ」に設定されていることを確認して、サポートされているアクションを表示する「アクション」列を有効にします。


manage_actions_result_table.pngの説明が続きます
図manage_actions_result_table.pngの説明

その後、次のいずれかのアクションを選択できます。

  • 結果表を編集する場合は、編集アクション・アイコンをクリックします。
    これにより、結果表を作成するためのワークフローに似た結果表の編集ワークフローが開始されます。プロパティを追加または削除でき、プロパティの順序を編集し、値列または逆プロパティ・パスの設定を変更できます。

    図10-54 結果表の編集



  • 結果表を削除する場合は、削除アクション・アイコンをクリックします。
    次に示すように、削除の確認ダイアログが表示されます。

    図10-55 結果表の削除



  • 「索引の表示」アクション・アイコンをクリックして、次のように結果表のセカンダリ索引を表示します。

    図10-56 セカンダリ索引の表示



    このページでは、次のアクションを実行できます。

10.6.10.2.1 結果表での索引の作成

次のステップを実行して、結果表に索引を作成できます。
  1. 2次索引ページの右上隅にある「+索引の作成」をクリックします。

    2次索引ウィザードが開き、ワークフローの最初の(「名前」)ステップが表示されます。

    図10-57 ステップ1: 索引名の定義



  2. 「索引名」を入力します。
  3. オプションで、「並列度」および「圧縮された列の数」を選択します。
  4. 「→」をクリックして次のステップに進みます。
    次のように、ワークフローの2番目の(「選択」)ステップが開きます。

    図10-58 ステップ2: プロパティの選択



  5. 必要なプロパティ、グラフ値またはアクセサリ列を選択します。

    以前のバージョンとは対照的に、26aiでは、プロパティ自体を含める必要なく、アクセサリ列またはグラフ値を含めることができます。これにより、結果表の索引を作成する際の完全な柔軟性と制御が可能になります。

    表のいずれかのプロパティにアクセサリ列がある場合は、オプションでアクセサリ列の表示をONに切り替えて、次のようにすべての列を表示できます。

    図10-59 ステップ2: アクセサリ列の選択



  6. 「→」をクリックして次のステップに進みます。
    次のように、ワークフローの3番目の(「並替え」)ステップが開きます。

    図10-60 ステップ3: プロパティの順序変更



  7. 各プロパティをドラッグ・アンド・ドロップして、選択した列を必要に応じて並べ替えます。
    前述のステップでアクセサリ列を追加した場合は、プロパティに加えて、次のようにアクセサリ列の順序を変更することもできます。

    図10-61 ステップ3: すべての列の順序変更



  8. 「→」をクリックして次のステップに進みます。
    次のように、ワークフローの最後の(「サマリー」)ステップが開きます。

    図10-62 ステップ4: 選択内容の確認



  9. サマリーを確認し、「索引の作成」をクリックして結果表の新規索引を作成します。