このドキュメントの正式版はW3Cのサイト上にある英語版であり、このドキュメントには翻訳に起因する誤りがありえます。誤訳、誤植などのご指摘は、訳者までお願い致します。IBMこのドキュメントに対する正誤表を参照してください。いくつかの規範的な修正が含まれているかもしれません。翻訳版も参照してください。apply.要約SPARQLは、ウェブ上のRDFデータなどのデータにアクセスする方法の標準であるとともに、RDFデータのクエリと更新のための標準です。このドキュメントは、JSONを用いたSELECTとASKのクエリ結果の表現について記述しています。このドキュメントのステータス置き換えられる可能性この項は、このドキュメントの公開時のステータスについて記述しています。他のドキュメントがこのドキュメントに取って代わることがありえます。現行のW3Cの刊行物およびこの技術報告の最新の改訂版のリストは、http://www.w3.org/TR/のW3C技術報告インデックスにあります。1.1勧告のうちの1つです。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は、このグループの成果物に関連するあらゆる特許の開示の公開リストを維持し、このページには特許の開示に関する指示も含まれています。Claim(s))を含んでいると思われる特許に関して実際に知っている人は、W3C特許方針の6項に従って情報を開示しなければなりません。はじめにこのドキュメントは、SPARQL結果(SELECTとASKのクエリ形式)をJSONフォーマットでシリアル化する方法について記述しています。このフォーマットは、クエリ結果の情報を完全に表現するものとなるように設計されています。SELECTクエリの結果は、配列としてシリアル化され、個々の配列エレメントはクエリ結果の1つの「列」です。ASKクエリの結果、クエリ結果のブール値が得られます。インターネット・メディア・タイプは、application/sparql-results+jsonに規定されています。同じような設計でありながら、シリアル化にXMLを用いるSPARQLクエリ結果XMLフォーマット[SRX]もあります。項の先頭で特に注記がなければ、このドキュメントのすべての項と付録は規範的です。JSON結果オブジェクトSPARQLクエリの結果は、1つのトップレベルのJSONオブジェクトとしてJSONでシリアル化されます。このオブジェクトは、「head」メンバーを持ち、また、クエリ形式により「results」メンバーか「boolean」メンバーのいずれかを持ちます。この例は、SELECTクエリの結果を示しています。クエリ・ソリューションは、「bindings」キーの値である配列で表わされ、次に「results」キーの値であるオブジェクトの一部が表わされます。}}この例は、ASKクエリの結果を示しています。true}その他のキー(違う名前を持つ)もJSON結果オブジェクトに存在できますが、この仕様では定義していません。変数バインディング結果SPARQLのSELECTクエリの結果は、変数のバインディングの配列としてシリアル化されます。「head」キーの値は、クエリのSELECT句で射影されたすべての変数の配列です。「head」メンバーは、結果に記述される変数を表わし、「link」メンバーを含むことができます。「vars」メンバーは、結果で使用されている変数の名前を示す配列です。これらはクエリから射影された変数です。変数は、必ずしも結果のすべてのクエリ・ソリューションの値が与えられているとは限りません。クエリがSELECT*という形式でなければ(その場合には順序は重要ではない)、変数名の順序は、クエリのSELECT句内の変数と一致すべきです。「link」オプションの「link」メンバーにより、さらに詳しい情報を得るための参照用のURIの配列が文字列として得られます。これらのリンク参照のフォーマットと内容はこのドキュメントでは定義していません。「results」メンバーの値は、「bindings」という1つのキーを持つオブジェクトです。「bindings」メンバーの値は、0以上の要素の配列で、クエリ・ソリューションごとに1つの要素があります。個々のクエリ・ソリューションはJSONオブジェクトです。このオブジェクトの個々のキーは、クエリ・ソリューションの変数名です。与えられる変数名の値は、変数のバインディングされた値(RDF用語)をエンコードしたJSONオブジェクトです。クエリが空のソリューション・シーケンスを返すとき、配列には0の要素が存在します。変数名の先頭には、「?」または「$」の文字は含まれません。「bindings」配列内のキーとして表示される個々の変数名は、結果ヘッダー内の「vars」配列に表示されるようになるでしょう。変数は、その特定のクエリ・ソリューションでバインディングされていなければ、配列要素に表示されません。バインディング配列内の要素の順序は、(もしあれば)クエリ・ソリューション・シーケンスの順序を反映します。]クエリがソリューションを返さなければ、空の配列が用いられます。RDF用語のエンコードRDF用語(IRI、リテラルまたは空白ノード)は、JSONオブジェクトとしてエンコードされます。RDF用語のすべての側面が表わされます。JSONオブジェクトには、「type」メンバーが存在し、さらに特定の種類のRDF用語によりその他のメンバーが存在します。"B"}空白ノード・ラベルのスコープは、結果オブジェクトです。1つのSPARQL結果JSONオブジェクト内で同じラベルを持つ2つの空白ノードは、同じ空白ノードです。identifier)を示すものではありません。別のSPARQL結果JSONオブジェクト内で同じラベルを使用しても、それが同じ空白ノードであることを意味するわけではありません。ASKクエリの結果は、ブール値としてシリアル化され、クエリ評価の結果を示します。「link」メンバーは、SELECTの「link」メンバーと同じフォーマットを持っています。「boolean」ASKクエリ形式の結果は、「boolean」メンバーによってエンコードされ、true(真)のJSON値かfalse(偽)のJSON値のいずれかをとります。例この項は、規範的ではありません。次のJSONは、output.srxというXMLドキュメントのシリアル化です。インターネット・メディア・タイプ、ファイル拡張子、およびマッキントッシュ・ファイル・タイプSPARQLクエリ結果JSONフォーマットのインターネット・メディア・タイプ/MIMEタイプは、「application/sparql-results+json」です。SPARQLクエリ結果JSONフォーマット・ファイルは、すべてのプラットフォーム上で拡張子「.srj」(すべて小文字)であることが推奨されます。マッキントッシュHFSファイル・システム上に保存されたSPARQLクエリ結果JSONフォーマット・ファイルには、ファイル・タイプ「TEXT」が付与されていることが推奨されます。下記のこの情報は、IANAでのレビュー、承認、および登録のためにIESGに提出する予定です。タイプ名:applicationサブタイプ名:sparql-results+json必須パラメータ:なし任意のパラメータ:なしコード化に関する留意点:SPARQLクエリ結果JSONフォーマットのコード化に関する留意点は、[JSON-RFC]で指定されている「application/json」のものと同じです。セキュリティに関する留意点:SPARQLクエリ結果はURIを使用します。[RFC3986]の7項を参照してください。SPARQLクエリ結果はIRIを使用します。[RFC3987]の8項を参照してください。SPARQLクエリ結果JSONフォーマットのセキュリティに関する留意点は、[JSON-RFC]で指定されている「application/json」のものと同じです。互換性に関する留意点:互換性の問題は知られていません。公開済み仕様書:http://www.w3.org/TR/sparql11-results-json/このメディア・タイプを使用するアプリケーション:現時点でこのメディア・タイプを使用するアプリケーションは知られていません。Group)の作業の成果です。W3Cは、これらの仕様の変更に対する管理権を有します。