RDFの照会言語として標準化が進められているSPARQLのプロトコルの草案が、14日付で公開された。RDFのクエリを記述してサーバーとやり取りするためのパラメータや結果コードなどの標準を定めようというもの。SPARQL以外のクエリ言語もサポートするようだ。
形としては、抽象プロトコルをまず定義し、それをRESTなりXML-RPCなりにバインドしていくということになる。今回の草案では、具体的なバインドはHTTPのものが一部示された。たとえば、あるサーバーの/qps
というプログラム(など)にSPARQLのクエリの処理を依頼する場合、次のようなHTTPリクエストを出す。
(例)
GET /qps?graph-id
=検索対象グラフのURI&query
=クエリ式 HTTP/1.1 User-Agent: my-sparql-client/0.0 Host: my.example
複数のグラフを対象とするなら、graph-id
(例は途中からなぜかgraph
となっているが)パラメータを複数記述する。クエリはquery
として直接送るほか、query-uri
によって、別に保存したファイルを参照させてもよい。SPARQL以外の言語を指定するならば、query-lang=http...
という形で言語を示すURIをパラメータとして加える。結果数を制限するlimit
などもパラメータとして用意される。
まだいろいろ不統一なところとか、議論中のままという箇所もたくさんある出来たての草案だが、RDFのクエリを扱う方向性は伺えるだろう。
関連メモ:
- SPARQLクエリ言語の新草案 (2005-04-21)
- SPARQLのプロトコルと結果フォーマット (2005-06-02)
- RDFクエリ言語 SPARQL (2004-10-13)