CyberLibrarian

【注意】 このドキュメントは、W3CのSPARQL 1.1 Service Description W3C Recommendation 21 March 2013の和訳です。
このドキュメントの正式版はW3Cのサイト上にある英語版であり、このドキュメントには翻訳に起因する誤りがありえます。誤訳、誤植などのご指摘は、訳者までお願い致します。

First Update: 2013年8月6日 | セマンティック・ウェブ関連用語集


W3C

SPARQL 1.1サービス記述

W3C勧告 2013年3月21日

本バージョン:
http://www.w3.org/TR/2013/REC-sparql11-service-description-20130321/
最新バージョン:
http://www.w3.org/TR/sparql11-service-description/
旧バージョン:
http://www.w3.org/TR/2012/PR-sparql11-service-description-20121108/
編集者:
Gregory Todd Williams, Rensselaer Polytechnic Institute <greg@evilfunhouse.com>

このドキュメントに対する正誤表を参照してください。いくつかの規範的な修正が含まれているかもしれません。

翻訳版も参照してください。


要約

このドキュメントはSPARQLサービス記述、つまり、SSPARQL 1.1 RDF用プロトコル[SPROT]によって利用可能となるSPARQLサービスを発見する方法と、それを記述するための語彙を記述しています。この記述は、クライアントやエンドユーザが、サポート済みの拡張関数や利用可能なデータセットに関する詳細などのSPARQLサービスに関する情報を発見できる方法を提供します。

このドキュメントのステイタス

置き換えられる可能性

この項は、このドキュメントの公開時のステイタスについて記述しています。他のドキュメントがこのドキュメントに取って代わることがありえます。現行のW3Cの刊行物およびこの技術報告の最新の改訂版のリストは、http://www.w3.org/TR/のW3C技術報告インデックスにあります。

このドキュメントは、SPARQLワーキンググループが作成した以下の11のSPARQL 1.1勧告のうちの1つです。

  1. SPARQL 1.1概要
  2. SPARQL 1.1クエリ言語
  3. SPARQL 1.1更新
  4. SPARQL 1.1サービス記述(このドキュメント)
  5. SPARQL 1.1統合クエリ
  6. SPARQL 1.1クエリ結果JSONフォーマット
  7. SPARQL 1.1クエリ結果CSVおよびTSVフォーマット
  8. SPARQLクエリ結果XMLフォーマット(第2版)
  9. SPARQL 1.1含意レジーム
  10. SPARQL 1.1プロトコル
  11. SPARQL 1.1グラフ・ストアHTTPプロトコル

本質的な変更なし

旧バージョン以降、このドキュメントには実質的な変更はありませんでした。マイナーな編集上の変更がある場合には、更新履歴に詳細が記述されており、色分けした差分として見ることができます。

コメントの送信

public-rdf-dawg-comments@w3.org公開アーカイブ)にコメントをお送りください。このドキュメントに対するSPARQLワーキンググループの作業は完了していますが、コメントは正誤表や今後の改定で扱われることがあります。公開討論は、public-sparql-dev@w3.org公開アーカイブ)で歓迎します。

W3Cによる承認

このドキュメントは、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 適合性

付録

A 参考文献
    A.1 規範的な参考文献
    A.2 その他の参考文献


1 はじめに

SPARQLサービス記述では、SPARQL 1.1 RDF用プロトコル[SPROT]によって利用可能となるSPARQLサービスの特徴をリストアップしています。このドキュメントは、特定のSPARQLサービスからサービス記述を発見する方法と、RDFでそのような記述をコード化するためのRDFスキーマの両方について記述しています。

1.1 用語

このドキュメントが、しなければならない(MUST)、すべきである/する必要がある(SHOULD)、することができる/してもよい(MAY)という単語を使用し、強調されたテキストとして出現するとき、RFC 2119 [RFC2119]で記述されているとおりに解釈されなければなりません。

このドキュメントでは、次の用語も使用しています。

SPARQLサービス
SPARQL 1.1 RDF用プロトコル(このドキュメントの「SPARQLサービス」の用法は、SPARQL 1.1プロトコルに定義されている「SPARQLプロトコル・サービス」と同じ)[SPROT]に準拠した実装。
SPARQLエンドポイント
SPARQLサービスがクライアントからリクエストを受けるURI。

2 サービス記述へのアクセス

SPARQLプロトコルによって利用可能となるSPARQLサービスは、クエリ・パラメータの文字列が提供されることなくHTTP GETオペレーションで逆参照が行われた時に、サービス・エンドポイントでサービス記述ドキュメントを返すべきです(SHOULD)。このサービス記述は、RDFシリアル化で利用可能とならなければならず(MUST)、RDFa[RDFA]により(X)HTMLに埋め込むことができ(MAY)、他のRDF表現で利用できる場合は、内容交渉[CONNEG]を使用すべきです(SHOULD)。

3 サービス記述語彙

3.1 SPARQLサービス記述の名前空間およびOWLオントロジー

SPARQLサービス記述の名前空間IRIは次のとおりです。

http://www.w3.org/ns/sparql-service-description#

このドキュメントでこの名前空間に用いている接頭辞はsdです。

サービス記述のオントロジーのRDFエンコーディングは、名前空間IRIからのHTTP内容交渉によって入手できます。

3.2 プロパティー

3.2.1 sd:endpoint

sd:Serviceのインスタンスを、サービスのためにSPARQLプロトコル・サービス[SPROT]を実装するSPARQLエンドポイントに関連づけます。sd:endpointプロパティーの目的語はIRIです。

型: owl:InverseFunctionalProperty
定義域: sd:Service

3.2.2 sd:feature

sd:Serviceのインスタンスを、サポート済み機能を表わす資源に関連づけます。

定義域: sd:Service
値域: sd:Feature

3.2.3 sd:defaultEntailmentRegime

sd:Serviceのインスタンスを、基本グラフ・パターン・マッチングに用いられている含意レジームを表わす資源に関連づけます。このプロパティーは、1つの含意レジームが、サービスのデフォルトのデータセット内のすべてのグラフにデフォルトで当てはまる場合に用いることを意図しています。異なる含意レジームがデータセット内の特定のグラフに当てはまる状況では、この事実をそのグラフの記述で示すためにsd:entailmentRegimeプロパティーを用いるべきです。

subPropertyOf: sd:feature
定義域: sd:Service
値域: sd:EntailmentRegime

3.2.4 sd:entailmentRegime

名前付きグラフ記述を、そのグラフに対する基本グラフ・パターン・マッチングに用いられている含意レジームを表わす資源に関連づけます。

定義域: sd:NamedGraph
値域: sd:EntailmentRegime

3.2.5 sd:defaultSupportedEntailmentProfile

sd:Serviceのインスタンスを、デフォルトの含意レジーム(sd:defaultEntailmentRegimeで宣言されているとおりに)のサポート済みプロファイルを表わす資源に関連づけます。含意レジームのプロファイルについては、SPARQL 1.1含意レジーム[SPARQLENT]でより詳細に議論しています。

この仕様が、サービス記述内の公表された含意プロファイルと公表された含意レジームとの互換性に関する適合性の要件を設けていないことに注意してください。sd:entailmentRegime/sd:defaultEntailmentRegimeプロパティーに対する値とsd:supportedEntailmentProfile/sd:defaultSupportedEntailmentProfileプロパティーに対する値の合理的な組み合わせの提供は、サービス記述の作成者に依存します。

subPropertyOf: sd:feature
定義域: sd:Service
値域: sd:EntailmentProfile

3.2.6 sd:supportedEntailmentProfile

名前付きグラフの記述を、そのグラフに対する基本グラフ・パターン・マッチングに用いられている含意レジーム(sd:entailmentRegimeで宣言されているとおりに)のサポート済みプロファイルを表わす資源に関連づけます。

定義域: sd:NamedGraph
値域: sd:EntailmentProfile

3.2.7 sd:extensionFunction

sd:Serviceのインスタンスを、SPARQLのSELECT式またはFILTERHAVINGGROUP BYORDER BY、またはBIND句で使用できる関数に関連づけます。

subPropertyOf: sd:feature
定義域: sd:Service
値域: sd:Function

3.2.8 sd:extensionAggregate

sd:Serviceインスタンスを、サポート済み集約であるCOUNT、SUM、MIN、MAX、AVG、GROUP_CONCAT、SAMPLEの標準的なリストに加え、SPARQLの集約クエリ(例えば、HAVING句やSELECT式)で使用できる集約に関連づけます。

subPropertyOf: sd:feature
定義域: sd:Service
値域: sd:Aggregate

3.2.9 sd:languageExtension

sd:Serviceのインスタンスを、SPARQLクエリまたは更新言語に対する実装済み拡張を表わす資源に関連づけます。

subPropertyOf: sd:feature
定義域: sd:Service
値域: sd:Feature

3.2.10 sd:supportedLanguage

sd:Serviceのインスタンスを、それが実装するSPARQL言語(例えば、クエリと更新)に関連づけます。

subPropertyOf: sd:feature
定義域: sd:Service
値域: sd:Language

3.2.11 sd:propertyFeature

sd:Serviceのインスタンスを、SPARQLクエリまたは更新の言語を拡張し、名前付きプロパティーを用いてアクセスされる実装済み機能を表わす資源に関連づけます。

subPropertyOf: sd:feature
定義域: sd:Service
値域: sd:Feature

3.2.12 sd:defaultDataset

sd:Serviceのインスタンスを、明示的なデータセットがクエリ、更新リクエスト、またはプロトコル・パラメータで指定されていない場合に利用可能なデフォルト・データセットの記述に関連づけます。

型: owl:InverseFunctionalProperty
定義域: sd:Service
値域: sd:Dataset

3.2.13 sd:availableGraphs

sd:Serviceのインスタンスを、クエリでFROM/FROM NAMED句を用いて、または、サービスがデータセット構築の範囲を制限している場合は、更新リクエストでUSING/USING NAMEDを用いて、SPARQLプロトコルによるデータセットの構築で認められているグラフの記述に関連づけます。

定義域: sd:Service
値域: sd:GraphCollection

3.2.14 sd:resultFormat

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>

3.2.15 sd:inputFormat

例えば、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>

3.2.16 sd:defaultGraph

sd:Datasetのインスタンスを、そのデフォルト・グラフの記述に関連づけます。

定義域: sd:Dataset
値域: sd:Graph

3.2.17 sd:namedGraph

sd:GraphCollectionのインスタンス(または、そのサブクラスであるsd:Dataset)を、その名前付きグラフのうちの1つの記述に関連づけます。そのような名前付きグラフの記述には、sd:nameプロパティーが含まれていなければならず(MUST)、sd:graphプロパティーを含むことができます(MAY)。

定義域: sd:GraphCollection
値域: sd:NamedGraph

3.2.18 sd:name

名前付きグラフを、それがFROM/FROM NAMED句で参照できる名前に関連づけます。sd:nameプロパティーの目的語はIRIです。

定義域: sd:NamedGraph

3.2.19 sd:graph

名前付きグラフを、そのグラフの記述に関連づけます。

定義域: sd:NamedGraph
値域: sd:Graph

3.3 クラス

3.3.1 sd:Service

sd:Serviceのインスタンスは、SPARQLプロトコルによって利用可能となるSPARQLサービスを表わします。

型: rdfs:Class

3.3.2 sd:Feature

sd:Featureのインスタンスは、SPARQLサービスの機能を表わします。具体的な機能には、関数集約言語、そして含意レジームプロファイルがあります。このドキュメントでは、sd:DereferencesURIssd:UnionDefaultGraphsd:RequiresDatasetsd:EmptyGraphs、そしてsd:BasicFederatedQueryという、5つのsd:Featureのインスタンスを定義しています。

型: rdfs:Class

3.3.3 sd:Language

sd:Languageのインスタンスは、特別な機能や拡張を提供する特定の設定を含む、SPARQL言語のうちの1つを表わします。このドキュメントでは、sd:SPARQL10Querysd:SPARQL11Query、そしてsd:SPARQL11Updateという、3つのsd:Languageのインスタンスを定義しています。

型: rdfs:Class
subClassOf: sd:Feature

3.3.4 sd:Function

sd:Functionのインスタンスは、SPARQLのSELECT式またはFILTERHAVINGGROUP BYORDER BY、またはBIND句で使用できる関数を表わします。

型: rdfs:Class
subClassOf: sd:Feature

3.3.5 sd:Aggregate

sd:Aggregateのインスタンスは、サポート済み集約であるCOUNT、SUM、MIN、MAX、AVG、GROUP_CONCAT、SAMPLEの標準的なリストに加え、SPARQLの集約クエリで使用できる集約(例えば、HAVING句やSELECT式)を表わします。

型: rdfs:Class
subClassOf: sd:Feature

3.3.6 sd:EntailmentRegime

sd:EntailmentRegimeのインスタンスは、基本グラフ・パターン・マッチング(SPARQL 1.1クエリ言語で記述されているとおりに)で用いられている含意レジームを表わします。よく使われる含意レジームのURIは、セマンティック・ウェブ含意レジーム用の一意のURI[ENTAILMENT]で定義されています。

型: rdfs:Class
subClassOf: sd:Feature

3.3.7 sd:EntailmentProfile

sd:EntailmentProfileのインスタンスは、含意レジームのプロファイルを表わします。含意レジームのプロファイルは、含意に関して有効なRDFを構成するものに制限を課すことができます(MAY)。よく使われる含意プロファイルのURIは、OWL 2プロファイル用の一意のURI[OWL2PROF]で定義されています。

型: rdfs:Class
subClassOf: sd:Feature

3.3.8 sd:GraphCollection

sd:GraphCollectionのインスタンスは、0以上の名前付きグラフ記述のコレクションを表わします。sd:GraphCollectionに属する個々の名前付きグラフ記述は、sd:namedGraphの述語とリンクされていなければなりません(MUST)。

型: rdfs:Class

3.3.9 sd:Dataset

sd:Datasetのインスタンスは、デフォルト・グラフと0以上の名前付きグラフで構成されるRDFデータセットを表わします。

sd:Datasetのデフォルト・グラフは、sd:defaultGraphの述語とリンクされていなければなりません(MUST)。

型: rdfs:Class
subClassOf: sd:GraphCollection

3.3.10 sd:Graph

sd:Graphのインスタンスは、RDFグラフの記述を表わします。

このドキュメントは、定義域sd:Graphを持つプロパティーを定義していません。その代わり、そのようなインスタンスは、他の適切な語彙を用いて記述できます(下記の例を参照)。

型: rdfs:Class

3.3.11 sd:NamedGraph

sd:NamedGraphのインスタンスは、名前(sd:nameにより)とオプションのグラフ記述(sd:graphにより)を持っている名前付きグラフを表わします。

型: rdfs:Class

3.4 インスタンス

3.4.1 sd:SPARQL10Query

sd:SPARQL10Queryは、SPARQL 1.0クエリ言語[QUERY10]を表わすsd:Languageです。

型: sd:Language

3.4.2 sd:SPARQL11Query

sd:SPARQL11Queryは、SPARQL 1.1クエリ言語[QUERY11]を表わすsd:Languageです。

型: sd:Language

3.4.3 sd:SPARQL11Update

sd:SPARQLUpdateは、SPARQL 1.1更新言語[UPDATE11]を表わすsd:Languageです。

型: sd:Language

3.4.4 sd:DereferencesURIs

sd:DereferencesURIsは、sd:featureプロパティーの目的語として用いられた場合に、SPARQLサービスがFROM/FROM NAMED句と USING/USING NAMED句で用いられるURIを逆参照し[AWWW]、結果として生じるRDFをクエリの評価中にデータセットで用いるということを示します。

型: sd:Feature

3.4.5 sd:UnionDefaultGraph

sd:UnionDefaultGraphは、sd:featureプロパティーの目的語として用いられた場合に、クエリと更新の評価中に用いられるデータセットのデフォルト・グラフ(明示的なデータセットが指定されていない場合)が、そのデータセットのすべての名前付きグラフの和集合で構成されることを示します。

型: sd:Feature

3.4.6 sd:RequiresDataset

sd:RequiresDatasetは、sd:featureプロパティーの目的語として用いられた場合に、SPARQLサービスに明示的なデータセット宣言(クエリ内のFROM/FROM NAMED句、更新内のUSING/USING NAMED適切なSPARQLプロトコル・パラメーターのいずれかに基づく)が必要であることを示します。

型: sd:Feature

3.4.7 sd:EmptyGraphs

sd:EmptyGraphsは、sd:featureプロパティーの目的語として用いられた場合に、基礎となるグラフ・ストアが空のグラフをサポートしていることを示します。空のグラフをサポートしているグラフ・ストアは、トリプルの削除後に空のままとなったグラフを削除してはなりません(MUST NOT)。(SPARQL 1.1更新の3.1 グラフ更新を参照。)

型: sd:Feature

3.4.8 sd:BasicFederatedQuery

sd:BasicFederatedQueryは、sd:featureプロパティーの目的語として用いられた場合に、SPARQLサービスが、SPARQL 1.1統合拡張[SPARQLFED]で定義されているとおりにSERVICEキーワードを用いて、基本的な統合クエリをサポートしていることを示します。

型: sd:Feature

3.4.9 その他のインスタンス

上記のインスタンスとは別に、カスタム拡張や他のドキュメントでは、さらにサービス記述で使用可能なインスタンスのURIを定義できます。次のドキュメントでは、前の項で定義している一部のプロパティーとともに使用できるインスタンスのURIもリストアップしています。

4 例(参考情報)

次の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の含意をサポートしています。

4.1 RDF/XMLサービス記述

次の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>

4.2 Turtleサービス記述

次の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 .

5 適合性

SPARQLサービスは、次の仕様に適合しています。

  1. 2 サービス記述へのアクセスの項で記述しているとおり、サービス・エンドポイントのURLにアクセスがあれば、RDFの内容を返さなければならない(MUST)。
  2. サービス・エンドポイントのURL<service-endpoint-URL>の逆参照により返されたRDFの内容には、下記とマッチングするトリプルが少なくとも1つ含まれていなければならない(MUST
    ?service sd:endpoint <service-endpoint-URL> .
  3. 返されたRDFの内容は、3 サービス記述語彙の項で指定されている用法に従って、このドキュメントで定義されている語彙を使用しなければならない(MUST)。

A 参考文献

A.1 規範的な参考文献

[CONNEG]
Hypertext Transfer Protocol -- HTTP/1.1, Content Negotiation, Fielding, et al., IETF. June 1999. This document is http://www.w3.org/Protocols/rfc2616/rfc2616-sec12.html .
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels, S. Bradner, IETF. March 1997. This document is http://www.ietf.org/rfc/rfc2119.txt .
[QUERY10]
SPARQL Query Language for RDF, E. Prud'hommeaux and Andy Seaborne, Editors, W3C Recommendation, 15 January 2008. This document is http://www.w3.org/TR/rdf-sparql-query/ .
[QUERY11]
SPARQL 1.1 Query Language, S. Harris, A. Seaborne, Editors, W3C Recommendation, 21 March 2013, http://www.w3.org/TR/2013/REC-sparql11-query-20130321. Latest version available at http://www.w3.org/TR/sparql11-query.
[SPROT]
SPARQL 1.1 Protocol, L. Feigenbaum, G. Williams, K. Clark, E. Torres, Editors, W3C Recommendation, 21 March 2013, http://www.w3.org/TR/2013/REC-sparql11-protocol-20130321. Latest version available at http://www.w3.org/TR/sparql11-protocol.
[UPDATE11]
SPARQL 1.1 Update, P. Gearon, A. Passant, A. Polleres, Editors, W3C Recommendation, 21 March 2013, http://www.w3.org/TR/2013/REC-sparql11-update-20130321. Latest version available at http://www.w3.org/TR/sparql11-update.

A.2 その他の参考文献

[AWWW]
Architecture of the World Wide Web, Volume One, I. Jacobs and N. Walsh, Editors, W3C Recommendation, 15 December 2004. http://www.w3.org/TR/webarch/ .
[ENTAILMENT]
Unique URIs for Semantic Web Entailment Regimes
[FORMATS]
Unique URIs for File Formats
[OWL2PROF]
Unique URIs for OWL 2 Profiles
[RDFA]
RDFa in XHTML: Syntax and Processing, B. Adida, M. Birbeck, S. McCarron, and S. Pemberton, Editors, W3C Recommendation, 14 October 2008. http://www.w3.org/TR/rdfa-syntax/ .
[SPARQLENT]
SPARQL 1.1 Entailment Regimes, B. Glimm, C. Ogbuji, Editors, W3C Recommendation, 21 March 2013, http://www.w3.org/TR/2013/REC-sparql11-entailment-20130321. Latest version available at http://www.w3.org/TR/sparql11-entailment.
[SPARQLFED]
SPARQL 1.1 Federated Query, E. Prud'hommeaux, C. Buil-Aranda, Editors, W3C Recommendation, 21 March 2013, http://www.w3.org/TR/2013/REC-sparql11-federated-query-20130321. Latest version available at http://www.w3.org/TR/sparql11-federated-query.
[TURTLE]
Turtle: Terse RDF Triple Language, E Prud'hommeaux, G Carothers, Editors, W3C Candidate Recommendation, 19 February 2013, http://www.w3.org/TR/2013/CR-turtle-20130219/. Latest version available at http://www.w3.org/TR/turtle/.
[VOID]
Describing Linked Datasets with the voiD Vocabulary, K. Alexander, R. Cyganiak, M. Hausenblas, and J. Zhao, Authors, W3C Interest Group Note, 3 March 2011, http://www.w3.org/TR/2011/NOTE-void-20110303/ . Latest version available at http://www.w3.org/TR/void/ .

更新履歴

勧告案以後の更新履歴

最終草案以後の更新履歴