api
SPARQL

次世代統計利用システムを利用した、都道府県・市区町村コードの取得

More than 5 years have passed since last update.

次世代統計利用システムで提供されている「都道府県・市区町村コード情報(LOD)」のAPIから、

都道府県や市区町村のコードを取得する際の手順について。


手順.1


SPARQL エンドポイントにアクセス。

http://statdb.nstac.go.jp/lod/sparql


手順.2


右側の「OPTIONS」にある「Output format (if supported by query type):」のプルダウンメニューから、任意の出力フォーマットを選択。


手順.3


目的にあわせて、以下のSELECT文を実行。


都道府県コードを取得する場合

SELECT DISTINCT ?area_code ?label_ja ?label_kana ?label_en WHERE {

?s sacs:administrativeClass sacs:Prefecture .
?s dcterms:identifier ?area_code .
?s rdfs:label ?label_ja
FILTER( lang(?label_ja) = "ja") .
?s rdfs:label ?label_kana
FILTER( lang(?label_kana) = "ja-hrkt") .
?s rdfs:label ?label_en
FILTER( lang(?label_en) = "en")
}


市区町村コードを取得する場合

SELECT DISTINCT ?area_code ?label_ja ?label_kana ?label_en WHERE {

?s sacs:administrativeClass ?area_class
FILTER( regex( ?area_class, "(#SpecialWard|#City|#Town|#Village)$" ) ) .
?s dcterms:identifier ?area_code
FILTER( regex( ?area_code, "^01" ) ) .
?s rdfs:label ?label_ja
FILTER( lang(?label_ja) = "ja" ).
?s rdfs:label ?label_kana
FILTER( lang(?label_kana) = "ja-hrkt" ).
?s rdfs:label ?label_en
FILTER( lang(?label_en) = "en" )
}
ORDER BY ?area_code

上記サンプルの「FILTER( regex( ?area_code, "^01" ) ) .」で指定している数字(01)は、

対象都道府県の都道府県コードのうち先頭2桁に変更。


参考.


次世代統計利用システム【都道府県・市区町村コード情報】 提供仕様

http://statdb.nstac.go.jp/wp/wp-content/uploads/2013/12/sac-spec.pdf