私は最近、 SPARQL 1.1 フェデレーション拡張機能のワーキング ドラフトに出くわし、名前付きグラフを使用してこれが既に可能であるかどうか疑問に思いました (前述のドラフトの有用性を損なうものではありません)。
Named Graphs についての私の理解は少しぼんやりしていますが、仕様を読んでわかった唯一のことは、クエリ時の他のグラフとの関連での合併、非合併に関する規則であるということだけです。これは私の理解を完全に満足させるものではないので、私の質問は次のとおりです。
次のクエリがあるとします。
SELECT ?something
FROM NAMED <http://www.vw.co.uk/models/used>
FROM NAMED <http://www.autotrader.co.uk/cars/used>
WHERE {
...
}
クエリ プロセッサ/エンドポイントが、名前付きグラフのコンテキストで次のことを行うことができる、または行うべきであると想定するのは合理的ですか。
名前付きグラフがローカルに存在することを確認します
その後、次の操作を実行しない場合 (上記のクエリの場合、2 番目の名前付きグラフを使用します)
GET /sparql/?query=EncodedQuery HTTP/1.1 ホスト: www.autotrader.co.uk ユーザーエージェント: my-sparql-client/0.1
EncodedQuery が節に 2 番目の名前付きグラフのみを含み、FROM NAMED
節WHERE
に応じて節が修正されるGRAPH
場合 (たとえば、 aGRAPH <http://www.vw.co.uk/models/used> {...}
が使用されている場合)。
上記を実行できない場合のみ、次のいずれかを実行します。
GET /cars/used HTTP/1.1
Host: www.autotrader.co.uk
また
LOAD <http://www.autotrader.co.uk/cars/used>
- 適切な検索結果を返します。
OFFSET
明らかにとLIMIT
の周りにいくつかの追加の考慮事項があるかもしれません
また、はるか昔、はるかかなたの銀河系で、SPARQL エンドポイントのデフォルト グラフは、次の規則に従って名前付きグラフにする必要があることを読んだことを覚えています。
For: http://www.vw.co.uk/sparql/には、デフォルトのグラフを表す http://www.vw.co.uk の名前付きグラフが存在する必要があるため、上記のロジックにより、すでに名前付きグラフを使用して SPARQL エンドポイントをフェデレーションできます。
私が尋ねる理由は、上記の例のドメイン間でフェデレーションの促進を開始したいからです。標準を待つ必要はありません。将来。