統計LODのデータは、SPARQLクエリを用いて検索できます。このクエリをAPI経由で送ることで、検索結果が得られます。SPARQL1.1に準拠しています。
統計LODへのSPARQLによる照会は、次のURLに対して行ないます。
http://data.e-stat.go.jp/lod/sparql/alldata/query
この後に、以下のように、queryというパラメータを使いURLエンコードしたSPARQLクエリを記載します。
http://data.e-stat.go.jp/lod/sparql/alldata/query?query=[URLエンコードしたクエリ]
例として、以下のSPARQLを発行して結果を得る場合を考えます。
#2015年6月の消費者物価指数を調べる
select ?cpi where { ?s <http://data.e-stat.go.jp/lod/ontology/measure/index> ?cpi ; <http://data.e-stat.go.jp/lod/ontology/crossDomain/dimension/timePeriod> "2015-06"^^<http://www.w3.org/2001/XMLSchema#gYearMonth> . }
例1)curlコマンドを用いて結果を得る
curl -X POST -H "Accept: application/sparql-results+json" http://data.e-stat.go.jp/lod/sparql/alldata/query?query=select+%3Fcpi++%0Awhere+%7B+%3Fs+%3Chttp%3A%2F%2Fdata.e-stat.go.jp%2Flod%2Fontology%2Fmeasure%2Findex%3E+%3Fcpi+%3B+%0A%3Chttp%3A%2F%2Fdata.e-stat.go.jp%2Flod%2Fontology%2FcrossDomain%2Fdimension%2FtimePeriod%3E+%222015-06%22%5E%5E%3Chttp%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema%23gYearMonth%3E.%0A%7D
検索結果のフォーマットは、HTTP Acceptヘッダーで指定します。指定できるフォーマットを下表に示します。
クエリ種別 | フォーマット | HTTP Acceptヘッダー |
---|---|---|
SELECT ASK |
JSON* | application/sparql-results+json |
XML | application/sparql-results+xml | |
TEXT | text/plain | |
CSV | text/csv | |
TSV | text/tab-separated-values | |
CONSTRUCT DESCRIBE |
RDF/XML* | application/rdf+xml |
N-triples | application/n-triples text/plain |
|
Turtle | text/turtle |
*はデフォルト
例2)JavaScriptを用いたHTMLで結果を得る
以下は、SPQRQLエンドポイントに対して、POSTを発行してJSON形式で結果を得る例です。
<!DOCTYPE html> <html> <head> <script src='http://code.jquery.com/jquery-1.9.1.min.js'></script> </head> <body> <script type='text/javascript'> var query = 'select ?cpi where { ?s <http://data.e-stat.go.jp/lod/ontology/measure/index> ?cpi ; <http://data.e-stat.go.jp/lod/ontology/crossDomain/dimension/timePeriod> "2015-06"^^<http://www.w3.org/2001/XMLSchema#gYearMonth>.}'; var url = 'http://data.e-stat.go.jp/lod/sparql/alldata/query'; $.ajax({ method: 'POST', dataType: 'json', url: url, data: {query: query}, success: function(data) { alert('cpi: ' + data.results.bindings[0].cpi.value); } }); </script> </body> </html>
参考)
・SPARQL 1.1 Protocol(http://www.w3.org/TR/sparql11-protocol/)
・SPARQL 1.1 Query Results JSON Format(https://www.w3.org/TR/sparql11-results-json/)
・SPARQL Query Results XML Format (Second Edition)(https://www.w3.org/TR/rdf-sparql-XMLres/)
・SPARQL 1.1 Query Results CSV and TSV Formats(https://www.w3.org/TR/sparql11-results-csv-tsv/)
・Open access to Scotland's official statistics(http://statistics.gov.scot/sparql)