opendata.cc SPARQL API仕様書

HOMEへ戻る

SPARQL GET Command

HTTP GETメソッドを用いてSPARQL 1.1 Protocol queryオペレーションに準拠したクエリを発行するコマンド

項目 内容
機能名 SPARQL GET
機能 HTTP GET メソッドを利用して、SPARQL1.1 準拠のクエリを発行する。
メソッド GET
URLパス /data/sparql
パラメタ

以下に示すパラメタをクエリ文字列に設定する。

項番 パラメタ名 内容
1 query URLエンコードしたSPARQLクエリ
2 default-graph-uri デフォルトグラフURI(省略可)
3 named-graph-uri 名前付きURI(省略可)
4 callback JSONP形式によるコールバック関数(省略可)
リクエストヘッダ

要求するレスポンスの形式をリクエストヘッダのAcceptで設定する。 SELECTオペレーションを発行する場合に指定できるパラメタを以下に示す。

項番 Acceptヘッダ値 説明
1 application/sparql-results+xml SPARQL Query Results XML Formatに基づくレスポンス
2 application/sparql-results+json SPARQL Query Results JSON Formatに基づくレスポンス
3 text/csv SPARQL 1.1 Query Results CSV and TSV Formats に基づくCSV形式のレスポンス
4 text/tab-separated-values SPARQL 1.1 Query Results CSV and TSV Formats に基づくTSV形式のレスポンス
5 text/plain 表形式テキストのレスポンス

CONSTRUCT または DESCRIBE オペレーションを発行する場合に指定できるパラメタを以下に示す。

項番 Acceptヘッダ値 説明
1 application/rdf+xml RDF/XML
2 text/plain, application/n-triples N-Triple
3 text/turtle Turtle
4 application/ld+json JSON-LD
5 application/rdf+json RDF/JSON

ASK オペレーションを発行する場合に指定できるパラメタを以下に示す。

項番 Acceptヘッダ値 説明
1 application/sparql-results+xml SPARQL Query Results XML Formatに基づくレスポンス
2 application/sparql-results+json SPARQL Query Results JSON Formatに基づくレスポンス
3 text/csv SPARQL 1.1 Query Results CSV and TSV Formats に基づくCSV形式のレスポンス
4 text/tab-separated-values SPARQL 1.1 Query Results CSV and TSV Formats に基づくTSV形式のレスポンス
5 text/plain テキスト表現(yes, no)
レスポンス レスポンスは要求した Accept ヘッダの要求に応じ、それに基づいた内容で返される。
ステータスコード
項番 内容 レスポンスコード 備考
1 正常終了 200
2 クエリ、パラメタ不正 400
3 システム内エラー 500
4 プロクシエラー 502 SPARQL APIの処理のタイムアウト時に発生する
利用例 以下のSPARQLをGETメソッドにて発行する。
SELECT DISTINCT ?s ?label { ?s <http://www.w3.org/2000/01/rdf-schema#label> ?label. } LIMIT 2
リクエスト:
GET /data/sparql?query=SELECT%20DISTINCT%20%3Fs%20%3Flabel%20%7B%20%3Fs%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23label%3E%20%3Flabel.%20%7D%20LIMIT%202 HTTP/1.1
Host: sparql.opendata.cc
Accept: application/sparql-results+json

レスポンス:
{
  "head": {
    "vars": [ "s" , "label" ]
  } ,
  "results": {
    "bindings": [
      {
        "s": { "type": "uri" , "value": "http://example.com/sample_data/1" } ,
        "label": { "type": "literal" , "value": "サンプルデータ1" }
      } ,
      {
        "s": { "type": "uri" , "value": "http://example.com/sample_data/2" } ,
        "label": { "type": "literal" , "value": "サンプルデータ2" }
      }
    ]
  }
}

SPARQL POST Command

HTTP POSTメソッドを用いてSPARQL 1.1 Protocol queryオペレーションに従いレスポンスを発行するコマンド

項目 内容
機能名 SPARQL POST
機能 HTTP POST メソッドを利用して、SPARQL1.1 準拠のクエリを発行する。
メソッド POST
URLパス /data/sparql
パラメタ

以下に示すパラメタを&で結合し、メッセージボディ部に格納する。

項番 パラメタ名 内容
1 query URLエンコードしたSPARQLクエリ
2 default-graph-uri デフォルトグラフURI(省略可)
3 named-graph-uri デフォルトグラフURI(省略可)
4 callback JSONP形式によるコールバック関数(省略可)
リクエストヘッダ GET形式と同様である。
レスポンス GET形式と同様である。
ステータスコード GET形式と同様である
利用例 GET形式とリクエスト送信方法とパラメタ格納方法が異なる以外は同様。

RDFグラフ閲覧

HTTP GETメソッドを用いてSPARQL 1.1 Graph Store HTTP Protocolに従いグラフ内のデータを返却するコマンド

項目 内容
機能名 SPARQL Graph Store HTTP GET
機能 HTTP GETメソッドを利用して、指定したグラフの内容を返却する。
メソッド GET
URLパス /data/data
パラメタ 以下のパラメタのどちらかを指定する。
項番 パラメタ名 内容
1 default 引数なし。デフォルトグラフの内容を取得する。 このサービスはデフォルトグラフを名前付きグラフの和集合としており、 デフォルトグラフ自身の内容を持たないので、空のグラフが返却される。
2 graph 取得するグラフURI
リクエストヘッダ SPARQL GET Command リクエストヘッダのCONSTRUCTまたはDESCRIBEオペレーション発行時のパラメタを参照。
レスポンス レスポンスは要求した Acceptヘッダの要求に応じ、それに基づいた内容で返される。
ステータスコード
項番 内容 レスポンスコード 備考
1 正常終了 200
2 クエリ、パラメタ不正 400
3 指定されたグラフが見つからない 404
4 システム内エラー 500
5 プロクシエラー 502 SPARQL APIの処理のタイムアウト時に発生する
利用例 グラフURI http://example.com/data/example の取得をJSON-LD形式にて行う。
リクエスト:
GET /data/data?graph=http://example.com/data/example HTTP/1.1
Host: sparql.opendata.cc
Accept: application/ld+json

レスポンス:
{
  "@graph" : [ {
    "@id" : "ex:1",
    "label" : "サンプルデータ1"
  }, {
    "@id" : "ex:2",
    "label" : "サンプルデータ2"
  } ],
  "@context" : {
    "label" : {
      "@id" : "http://www.w3.org/2000/01/rdf-schema#label"
    },
    "ex" : "http://example.com/sample_data",
    "rdfs" : "http://www.w3.org/2000/01/rdf-schema#"
  }
}