Content-Length: 97741 | pFad | http://www.asahi-net.or.jp/~ax2s-kmtn/internet/rdf/REC-sparql11-service-description-20130321.html
【注意】 このドキュメントは、W3CのSPARQL 1.1 Service Description W3C Recommendation 21 March 2013の和訳です。
このドキュメントの正式版はW3Cのサイト上にある英語版であり、このドキュメントには翻訳に起因する誤りがありえます。誤訳、誤植などのご指摘は、訳者までお願い致します。
First Update: 2013年8月6日
このドキュメントに対する正誤表を参照してください。いくつかの規範的な修正が含まれているかもしれません。
翻訳版も参照してください。
Copyright © 2013 W3C® (MIT, ERCIM, Keio, Beihang), All Rights Reserved. W3C liability, trademark and document use rules apply.
このドキュメントはSPARQLサービス記述、つまり、SSPARQL 1.1 RDF用プロトコル[SPROT]によって利用可能となるSPARQLサービスを発見する方法と、それを記述するための語彙を記述しています。この記述は、クライアントやエンドユーザが、サポート済みの拡張関数や利用可能なデータセットに関する詳細などのSPARQLサービスに関する情報を発見できる方法を提供します。
この項は、このドキュメントの公開時のステータスについて記述しています。他のドキュメントがこのドキュメントに取って代わることがありえます。現行のW3Cの刊行物およびこの技術報告の最新の改訂版のリストは、http://www.w3.org/TR/のW3C技術報告インデックスにあります。
このドキュメントは、SPARQLワーキンググループが作成した以下の11のSPARQL 1.1勧告のうちの1つです。
旧バージョン以降、このドキュメントには実質的な変更はありませんでした。マイナーな編集上の変更がある場合には、変更履歴に詳細が記述されており、色分けした差分として見ることができます。
public-rdf-dawg-comments@w3.org(公開アーカイブ)にコメントをお送りください。このドキュメントに対するSPARQLワーキンググループの作業は完了していますが、コメントは正誤表や今後の改定で扱われることがあります。公開討論は、public-sparql-dev@w3.org(公開アーカイブ)で歓迎します。
このドキュメントは、W3Cメンバー、ソフトウェア開発者、他のW3Cグループ、および他の利害関係者によりレビューされ、W3C勧告として管理者の協賛を得ました。これは確定済みドキュメントであり、参考資料として用いたり、別のドキュメントで引用することができます。勧告の作成におけるW3Cの役割は、仕様に注意を引き付け、広範囲な開発を促進することです。これによってウェブの機能性および相互運用性が増強されます。
このドキュメントは、2004年2月5日のW3C特許方針の下で活動しているグループによって作成されました。W3Cは、このグループの成果物に関連するあらゆる特許の開示の公開リストを維持し、このページには特許の開示に関する指示も含まれています。不可欠な請求権(Essential Claim(s))を含んでいると思われる特許に関して実際に知っている人は、W3C特許方針の6項に従って情報を開示しなければなりません。
1 はじめに
1.1 用語
2 サービス記述へのアクセス
3 サービス記述語彙
3.1 SPARQLサービス記述の名前空間およびOWLオントロジー
3.2 プロパティー
3.2.1 sd:endpoint
3.2.2 sd:feature
3.2.3 sd:defaultEntailmentRegime
3.2.4 sd:entailmentRegime
3.2.5 sd:defaultSupportedEntailmentProfile
3.2.6 sd:supportedEntailmentProfile
3.2.7 sd:extensionFunction
3.2.8 sd:extensionAggregate
3.2.9 sd:languageExtension
3.2.10 sd:supportedLanguage
3.2.11 sd:propertyFeature
3.2.12 sd:defaultDataset
3.2.13 sd:availableGraphs
3.2.14 sd:resultFormat
3.2.15 sd:inputFormat
3.2.16 sd:defaultGraph
3.2.17 sd:namedGraph
3.2.18 sd:name
3.2.19 sd:graph
3.3 クラス
3.3.1 sd:Service
3.3.2 sd:Feature
3.3.3 sd:Language
3.3.4 sd:Function
3.3.5 sd:Aggregate
3.3.6 sd:EntailmentRegime
3.3.7 sd:EntailmentProfile
3.3.8 sd:GraphCollection
3.3.9 sd:Dataset
3.3.10 sd:Graph
3.3.11 sd:NamedGraph
3.4 インスタンス
3.4.1 sd:SPARQL10Query
3.4.2 sd:SPARQL11Query
3.4.3 sd:SPARQL11Update
3.4.4 sd:DereferencesURIs
3.4.5 sd:UnionDefaultGraph
3.4.6 sd:RequiresDataset
3.4.7 sd:EmptyGraphs
3.4.8 sd:BasicFederatedQuery
3.4.9 その他のインスタンス
4 例(参考情報)
4.1 RDF/XMLサービス記述
4.2 Turtleサービス記述
5 適合性
SPARQLサービス記述では、SPARQL 1.1 RDF用プロトコル[SPROT]によって利用可能となるSPARQLサービスの特徴をリストアップしています。このドキュメントは、特定のSPARQLサービスからサービス記述を発見する方法と、RDFでそのような記述をコード化するためのRDFスキーマの両方について記述しています。
このドキュメントが、しなければならない(MUST)、すべきである/する必要がある(SHOULD)、することができる/してもよい(MAY)という単語を使用し、強調されたテキストとして出現するとき、RFC 2119 [RFC2119]で記述されているとおりに解釈されなければなりません。
このドキュメントでは、次の用語も使用しています。
SPARQLプロトコルによって利用可能となるSPARQLサービスは、クエリ・パラメータの文字列が提供されることなくHTTP GETオペレーションで逆参照が行われた時に、サービス・エンドポイントでサービス記述ドキュメントを返すべきです(SHOULD)。このサービス記述は、RDFシリアル化で利用可能とならなければならず(MUST)、RDFa[RDFA]により(X)HTMLに組み込むことができ(MAY)、他のRDF表現で利用できる場合は、内容交渉[CONNEG]を使用すべきです(SHOULD)。
SPARQLサービス記述の名前空間IRIは次のとおりです。
http://www.w3.org/ns/sparql-service-description#
このドキュメントでこの名前空間に用いている接頭辞はsd
です。
サービス記述のオントロジーのRDFエンコーディングは、名前空間IRIからのHTTP内容交渉によって入手できます。
sd:Service
のインスタンスを、サービスのためにSPARQLプロトコル・サービス[SPROT]を実装するSPARQLエンドポイントに関連付けます。sd:endpointプロパティーの目的語はIRIです。
型: | owl:InverseFunctionalProperty |
---|---|
定義域: | sd:Service |
sd:Service
のインスタンスを、基本グラフ・パターン・マッチングに用いられている含意レジームを表す資源に関連付けます。このプロパティーは、1つの含意レジームが、サービスのデフォルトのデータセット内のすべてのグラフにデフォルトで当てはまる場合に用いることを意図しています。異なる含意レジームがデータセット内の特定のグラフに当てはまる状況では、この事実をそのグラフの記述で示すためにsd:entailmentRegime
プロパティーを用いるべきです。
subPropertyOf: | sd:feature |
---|---|
定義域: | sd:Service |
値域: | sd:EntailmentRegime |
名前付きグラフ記述を、そのグラフに対する基本グラフ・パターン・マッチングに用いられている含意レジームを表す資源に関連付けます。
定義域: | sd:NamedGraph |
---|---|
値域: | sd:EntailmentRegime |
sd:Service
のインスタンスを、デフォルトの含意レジーム(sd:defaultEntailmentRegime
で宣言されているとおりに)のサポート済みプロファイルを表す資源に関連付けます。含意レジームのプロファイルについては、SPARQL 1.1含意レジーム[SPARQLENT]でより詳細に議論しています。
この仕様が、サービス記述内の公表された含意プロファイルと公表された含意レジームとの互換性に関する適合性の要件を設けていないことに注意してください。sd:entailmentRegime/sd:defaultEntailmentRegimeプロパティーに対する値とsd:supportedEntailmentProfile/sd:defaultSupportedEntailmentProfileプロパティーに対する値の合理的な組み合わせの提供は、サービス記述の作成者に依存します。
subPropertyOf: | sd:feature |
---|---|
定義域: | sd:Service |
値域: | sd:EntailmentProfile |
名前付きグラフの記述を、そのグラフに対する基本グラフ・パターン・マッチングに用いられている含意レジーム(sd:entailmentRegime
で宣言されているとおりに)のサポート済みプロファイルを表す資源に関連付けます。
定義域: | sd:NamedGraph |
---|---|
値域: | sd:EntailmentProfile |
sd:Service
のインスタンスを、SPARQLのSELECT式またはFILTER、HAVING、GROUP BY、ORDER BY、またはBIND句で使用できる関数に関連付けます。
subPropertyOf: | sd:feature |
---|---|
定義域: | sd:Service |
値域: | sd:Function |
sd:Service
インスタンスを、サポート済み集約であるCOUNT、SUM、MIN、MAX、AVG、GROUP_CONCAT、SAMPLEの標準的なリストに加え、SPARQLの集約クエリ(例えば、HAVING句やSELECT式)で使用できる集約に関連付けます。
subPropertyOf: | sd:feature |
---|---|
定義域: | sd:Service |
値域: | sd:Aggregate |
sd:Service
のインスタンスを、SPARQLクエリまたは更新言語に対する実装済み拡張を表す資源に関連付けます。
subPropertyOf: | sd:feature |
---|---|
定義域: | sd:Service |
値域: | sd:Feature |
sd:Service
のインスタンスを、それが実装するSPARQL言語(例えば、クエリと更新)に関連付けます。
subPropertyOf: | sd:feature |
---|---|
定義域: | sd:Service |
値域: | sd:Language |
sd:Service
のインスタンスを、SPARQLクエリまたは更新の言語を拡張し、名前付きプロパティーを用いてアクセスされる実装済み機能を表す資源に関連付けます。
subPropertyOf: | sd:feature |
---|---|
定義域: | sd:Service |
値域: | sd:Feature |
sd:Service
のインスタンスを、明示的なデータセットがクエリ、更新リクエスト、またはプロトコル・パラメータで指定されていない場合に利用可能なデフォルト・データセットの記述に関連付けます。
型: | owl:InverseFunctionalProperty |
---|---|
定義域: | sd:Service |
値域: | sd:Dataset |
sd:Service
のインスタンスを、クエリでFROM/FROM NAMED句を用いて、または、サービスがデータセット構築の範囲を制限している場合は、更新リクエストでUSING/USING NAMEDを用いて、SPARQLプロトコルによるデータセットの構築で認められているグラフの記述に関連付けます。
定義域: | sd:Service |
---|---|
値域: | sd:GraphCollection |
sd:Service
のインスタンスを、クエリ結果をシリアル化するためにサポートされているフォーマットに関連付けます。
よく使われるシリアル化フォーマットのURIは、ファイル・フォーマット用の一意のURIで定義されています。既存のURIがないフォーマットの場合、フォーマットを記述するために、そのドキュメントで定義されている<http://www.w3.org/ns/formats/media_type>
プロパティーと<http://www.w3.org/ns/formats/preferred_suffix>
プロパティーを用いるべきです(SHOULD)。
定義域: | sd:Service |
---|---|
値域: | <http://www.w3.org/ns/formats/Format> |
例えば、SPARQL 1.1更新のLOADステートメントにより、または、URIがFROM/FROM NAMED/USING/USING NAMED句で逆参照された場合に(下記のsd:DereferencesURIsも参照)、sd:Service
のインスタンスを、RDF入力を解析するためにサポートされているフォーマットに関連付けます。
よく使われるシリアル化フォーマットのURIは、ファイル・フォーマット用の一意のURIで定義されています。既存のURIがないフォーマットの場合、フォーマットを記述するために、そのドキュメントで定義されている<http://www.w3.org/ns/formats/media_type>
プロパティーと<http://www.w3.org/ns/formats/preferred_suffix>
プロパティーを用いるべきです(SHOULD)。
定義域: | sd:Service |
---|---|
値域: | <http://www.w3.org/ns/formats/Format> |
sd:GraphCollection
のインスタンス(または、そのサブクラスであるsd:Dataset
)を、その名前付きグラフのうちの1つの記述に関連付けます。そのような名前付きグラフの記述には、sd:name
プロパティーが含まれていなければならず(MUST)、sd:graph
プロパティーを含むことができます(MAY)。
定義域: | sd:GraphCollection |
---|---|
値域: | sd:NamedGraph |
名前付きグラフを、それがFROM/FROM NAMED句で参照できる名前に関連付けます。sd:nameプロパティーの目的語はIRIです。
定義域: | sd:NamedGraph |
---|
sd:Feature
のインスタンスは、SPARQLサービスの機能を表します。具体的な機能には、関数、集約、言語、そして含意レジームとプロファイルがあります。このドキュメントでは、sd:DereferencesURIs
、sd:UnionDefaultGraph
、sd:RequiresDataset
、sd:EmptyGraphs
、そしてsd:BasicFederatedQuery
という、5つのsd:Feature
のインスタンスを定義しています。
型: | rdfs:Class |
---|
sd:Language
のインスタンスは、特別な機能や拡張を提供する特定の設定を含む、SPARQL言語のうちの1つを表します。このドキュメントでは、sd:SPARQL10Query
、sd:SPARQL11Query
、そしてsd:SPARQL11Update
という、3つのsd:Language
のインスタンスを定義しています。
型: | rdfs:Class |
---|---|
subClassOf: | sd:Feature |
sd:Function
のインスタンスは、SPARQLのSELECT式またはFILTER、HAVING、GROUP BY、ORDER BY、またはBIND句で使用できる関数を表します。
型: | rdfs:Class |
---|---|
subClassOf: | sd:Feature |
sd:Aggregate
のインスタンスは、サポート済み集約であるCOUNT、SUM、MIN、MAX、AVG、GROUP_CONCAT、SAMPLEの標準的なリストに加え、SPARQLの集約クエリで使用できる集約(例えば、HAVING句やSELECT式)を表します。
型: | rdfs:Class |
---|---|
subClassOf: | sd:Feature |
sd:EntailmentRegime
のインスタンスは、基本グラフ・パターン・マッチング(SPARQL 1.1クエリ言語で記述されているとおりに)で用いられている含意レジームを表します。よく使われる含意レジームのURIは、セマンティック・ウェブ含意レジーム用の一意のURI[ENTAILMENT]で定義されています。
型: | rdfs:Class |
---|---|
subClassOf: | sd:Feature |
sd:EntailmentProfile
のインスタンスは、含意レジームのプロファイルを表します。含意レジームのプロファイルは、含意に関して有効なRDFを構成するものに制限を課すことができます(MAY)。よく使われる含意プロファイルのURIは、OWL 2プロファイル用の一意のURI[OWL2PROF]で定義されています。
型: | rdfs:Class |
---|---|
subClassOf: | sd:Feature |
sd:GraphCollection
のインスタンスは、0以上の名前付きグラフ記述のコレクションを表します。sd:GraphCollection
に属する個々の名前付きグラフ記述は、sd:namedGraph
の述語とリンクされていなければなりません(MUST)。
型: | rdfs:Class |
---|
sd:Dataset
のインスタンスは、デフォルト・グラフと0以上の名前付きグラフで構成されるRDFデータセットを表します。
sd:Dataset
のデフォルト・グラフは、sd:defaultGraph
の述語とリンクされていなければなりません(MUST)。
型: | rdfs:Class |
---|---|
subClassOf: | sd:GraphCollection |
sd:Graph
のインスタンスは、RDFグラフの記述を表します。
このドキュメントは、定義域sd:Graph
を持つプロパティーを定義していません。その代わり、そのようなインスタンスは、他の適切な語彙を用いて記述できます(下記の例を参照)。
型: | rdfs:Class |
---|
sd:NamedGraph
のインスタンスは、名前(sd:name
により)とオプションのグラフ記述(sd:graph
により)を持っている名前付きグラフを表します。
型: | rdfs:Class |
---|
sd:DereferencesURIs
は、sd:featureプロパティーの目的語として用いられた場合に、SPARQLサービスがFROM/FROM NAMED句と USING/USING NAMED句で用いられるURIを逆参照し[AWWW]、結果として生じるRDFをクエリの評価中にデータセットで用いるということを示します。
型: | sd:Feature |
---|
sd:UnionDefaultGraph
は、sd:featureプロパティーの目的語として用いられた場合に、クエリと更新の評価中に用いられるデータセットのデフォルト・グラフ(明示的なデータセットが指定されていない場合)が、そのデータセットのすべての名前付きグラフの和集合で構成されることを示します。
型: | sd:Feature |
---|
sd:RequiresDataset
は、sd:featureプロパティーの目的語として用いられた場合に、SPARQLサービスに明示的なデータセット宣言(クエリ内のFROM/FROM NAMED句、更新内のUSING/USING NAMED、適切なSPARQLプロトコル・パラメータのいずれかに基づく)が必要であることを示します。
型: | sd:Feature |
---|
sd:EmptyGraphs
は、sd:featureプロパティーの目的語として用いられた場合に、基礎となるグラフ・ストアが空のグラフをサポートしていることを示します。空のグラフをサポートしているグラフ・ストアは、トリプルの削除後に空のままとなったグラフを削除してはなりません(MUST NOT)。(SPARQL 1.1更新の3.1 グラフ更新を参照。)
型: | sd:Feature |
---|
sd:BasicFederatedQuery
は、sd:featureプロパティーの目的語として用いられた場合に、SPARQLサービスが、SPARQL 1.1統合拡張[SPARQLFED]で定義されているとおりにSERVICEキーワードを用いて、基本的な統合クエリをサポートしていることを示します。
型: | sd:Feature |
---|
上記のインスタンスとは別に、カスタム拡張や他のドキュメントでは、さらにサービス記述で使用可能なインスタンスのURIを定義できます。次のドキュメントでは、前の項で定義している一部のプロパティーとともに使用できるインスタンスのURIもリストアップしています。
sd:defaultEntailmentRegime
プロパティーとsd:entailmentRegime
プロパティーとともに使用できるsd:EntailmentRegime
クラスのメンバー)sd:defaultSupportedEntailmentProfile
プロパティーとsd:supportedEntailmentProfile
プロパティーとともに使用できるsd:EntailmentProfile
クラスのメンバー)sd:resultFormat
プロパティーとsd:inputFormat
プロパティーとともに使用できる<http://www.w3.org/ns/formats/Format>
クラスのメンバー)次のHTTPトレースは、SPARQLエンドポイントhttp://www.example/sparql/
からのサービス記述の検索について説明しています。
このRDFは、SPARQL 1.1クエリ言語をサポートしているURLhttp://www.example/sparql/
で利用可能なSPARQLサービスを記述しています。サービスは、FROM/FROM NAMED句で用いられているURLを逆参照し、RDF/XMLとTurtleシリアル化の両方のフォーマットをサポートし、http://example.org/Distance
拡張関数をサポートし、デフォルト・グラフと1つの名前付きグラフを持つデータセット(両方ともvoiD語彙[VOID]を用いて記述されている)を持っています。デフォルト・グラフには、100のトリプルが含まれており、RDFSの含意をサポートしています。一方で、http://www.example/named-graphという名のグラフには、2000のトリプルが含まれており、OWL2 RLの含意をサポートしています。
次のHTTPリクエストを与えられると、
GET /sparql/ HTTP/1.1 Host: www.example
SPARQLサービスは、RDF/XMLでコード化されたサービス記述で応答します(内容交渉やRDFaコード化は用いられない)。
HTTP/1.1 200 OK Date: Fri, 09 Oct 2009 17:31:12 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/rdf+xml <?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sd="http://www.w3.org/ns/sparql-service-description#" xmlns:prof="http://www.w3.org/ns/owl-profile/" xmlns:void="http://rdfs.org/ns/void#"> <sd:Service> <sd:endpoint rdf:resource="http://www.example/sparql/"/> <sd:supportedLanguage rdf:resource="http://www.w3.org/ns/sparql-service-description#SPARQL11Query"/> <sd:resultFormat rdf:resource="http://www.w3.org/ns/formats/RDF_XML"/> <sd:resultFormat rdf:resource="http://www.w3.org/ns/formats/Turtle"/> <sd:feature rdf:resource="http://www.w3.org/ns/sparql-service-description#DereferencesURIs"/> <sd:defaultEntailmentRegime rdf:resource="http://www.w3.org/ns/entailment/RDFS"/> <sd:extensionFunction> <sd:Function rdf:about="http://example.org/Distance"/> </sd:extensionFunction> <sd:defaultDataset> <sd:Dataset> <sd:defaultGraph> <sd:Graph> <void:triples rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">100</void:triples> </sd:Graph> </sd:defaultGraph> <sd:namedGraph> <sd:NamedGraph> <sd:name rdf:resource="http://www.example/named-graph"/> <sd:entailmentRegime rdf:resource="http://www.w3.org/ns/entailment/OWL-RDF-Based"/> <sd:supportedEntailmentProfile rdf:resource="http://www.w3.org/ns/owl-profile/RL"/> <sd:graph> <sd:Graph> <void:triples rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">2000</void:triples> </sd:Graph> </sd:graph> </sd:NamedGraph> </sd:namedGraph> </sd:Dataset> </sd:defaultDataset> </sd:Service> </rdf:RDF>
次のHTTPリクエストを与えられると、
GET /sparql/ HTTP/1.1 Host: www.example Accept: text/turtle
SPARQLサービスは、Turtle[TURTLE]でコード化されたサービス記述で応答します。
HTTP/1.1 200 OK Date: Fri, 09 Oct 2009 17:31:12 GMT Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: text/turtle @prefix sd: <http://www.w3.org/ns/sparql-service-description#> . @prefix ent: <http://www.w3.org/ns/entailment/> . @prefix prof: <http://www.w3.org/ns/owl-profile/> . @prefix void: <http://rdfs.org/ns/void#> . [] a sd:Service ; sd:endpoint <http://www.example/sparql/> ; sd:supportedLanguage sd:SPARQL11Query ; sd:resultFormat <http://www.w3.org/ns/formats/RDF_XML>, <http://www.w3.org/ns/formats/Turtle> ; sd:extensionFunction <http://example.org/Distance> ; sd:feature sd:DereferencesURIs ; sd:defaultEntailmentRegime ent:RDFS ; sd:defaultDataset [ a sd:Dataset ; sd:defaultGraph [ a sd:Graph ; void:triples 100 ] ; sd:namedGraph [ a sd:NamedGraph ; sd:name <http://www.example/named-graph> ; sd:entailmentRegime ent:OWL-RDF-Based ; sd:supportedEntailmentProfile prof:RL ; sd:graph [ a sd:Graph ; void:triples 2000 ] ] ] . <http://example.org/Distance> a sd:Function .
SPARQLサービスは、次の仕様に適合しています。
<service-endpoint-URL>
の逆参照により返されたRDFの内容には、下記とマッチングするトリプルが少なくとも1つ含まれていなければならない(MUST)
?service sd:endpoint <service-endpoint-URL> .
Fetched URL: http://www.asahi-net.or.jp/~ax2s-kmtn/internet/rdf/REC-sparql11-service-description-20130321.html
Alternative Proxies: