3

私は現在、SPARQL 1.1 含意レジームについて文書化/テストを行っており、推奨事項には次のように繰り返し述べられています。

スコーピング グラフは、アクティブ グラフと同等のグラフです。

しかし、それはアクティブなグラフが参照しているものを指定していません:それはクエリで使用されるデータセットですか? ストア内のすべてのグラフの和集合?

これを判断するためのテストとして、<http://www.example.org/>RDF スキーマと直接型推論ストア (v2.7.14) を使用してセサミ メモリ ストアでこのグラフを URI 化しました。

@prefix ex:<http://www.example.org/> .
ex:book1 rdf:type ex:Publication .
ex:book2 rdf:type ex:Article .
ex:Article rdfs:subClassOf ex:Publication .
ex:publishes rdfs:range ex:Publication .
ex:MITPress ex:publishes ex:book3 .

私は次のクエリを試しています(つまり、デフォルトのグラフを使用して推論エンジンを使用することを意味します)

SELECT ?s WHERE { ?s a ex:Publication . }

予想どおり、3 つのインスタンスすべてが返されます

<http://www.example.org/book1>
<http://www.example.org/book2>
<http://www.example.org/book3>

クエリ中:

SELECT ?s FROM ex: WHERE { ?s a ex:Publication . } 

返品のみ

<http://www.example.org/book1>

上記の状況下では、両方の結果が同じであってはなりませんか?

データとスキーマがストア内の 2 つのグラフ ( と のよう<urn:rdfs-schema><urn:data>、またはさらに多くのグラフに散らばっている) に分割され、クエリが両方のグラフ (またはスキーマ関連のグラフのサブセット) をデフォルトのグラフの代わりに FROM 句を使用しますか?

推論はストア全体でグローバルにする必要がありますか、それともクエリ データセットに依存しますか?

それとも、これを実装依存の問題にするほど推奨が緩いのでしょうか?

ライトをありがとう、

最大。

EDITこの質問は、SPARQL 1.1 含意レジームと FROM 句を使用したクエリにリダイレクトされています (フォローアップ)

4

2 に答える 2

4

2 番目のクエリが返すのはbook1、Sesame の RDFS インファーサーでは、含意の前提となる名前付きグラフではなく、デフォルトグラフに含意ステートメントが挿入されるためです。したがって、必要な結果は、クエリしているグラフには表示されません。

Sesame RDFS 推論エンジンは W3C の含意レジームの概念よりも前から存在するため、この設計を選択した理由の少なくとも一部は歴史的なものです。当時の理論的根拠は、複数の名前付きグラフ (たとえば、1 つの前提がグラフ A に由来し、別の前提がグラフ B に由来する場合) を推論する場合、(A、B、またはその両方ではなく) デフォルトのグラフに挿入することでした。混乱を最小限に抑えた最も単純な方法です。

Sesame は現在、W3C 含意レジーム仕様を明示的にサポートしていません。ただし、互換性を高めるために簡単な改善が可能だと思われる場合は、ぜひ機能リクエストを記録してください。

(開示:セサミ開発者)

于 2015-02-09T23:09:31.523 に答える
1

SPARQL 1.1 標準では、デフォルト グラフの正確な内容は指定されていません。特に、13.1 RDF データセットの例を参照してください。

RDF データセットの定義は、名前付きグラフとデフォルト グラフの関係を制限しません。情報は異なるグラフで繰り返すことができます。グラフ間の関係を公開できます。2 つの便利な配置は次のとおりです。

  • 名前付きグラフに関する来歴情報を含むデフォルト グラフの情報を取得する
  • 名前付きグラフの情報をデフォルト グラフにも含めます。

ただし、FROM 句を使用してどのグラフをデフォルト グラフにするかを指定するか、複数の FROM 句を使用してどのグラフをマージしてデフォルト グラフにするかを指定します。

デフォルトのグラフに関することはこれですべてです。アクティブ グラフは、SPARQL 1.1 仕様で使用される別の用語です。

基本的なグラフ パターンのマッチングに使用されるグラフが アクティブ グラフです。前のセクションでは、アクティブなグラフとして RDF データセットのデフォルト グラフである単一のグラフに対して実行されるすべてのクエリを示しました。キーワードは、GRAPHアクティブなグラフをクエリの一部のデータセット内のすべての名前付きグラフの 1 つにするために使用されます。

そのため、from (複数回可能) を使用してデフォルト グラフを制御し、それによって最初のアクティブ グラフを制御し、クエリ内でグラフ { … }を使用してアクティブ グラフを変更できます。

于 2015-02-09T18:10:24.680 に答える