統計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)

