LoginSignup
3
1

More than 5 years have passed since last update.

自治体サイト一覧

Last updated at Posted at 2017-04-17

最終的には、自治体サイト一覧は wikidata でメンテナンスしているという話。

経緯

自治体コード一覧で、自治体を網羅的に列挙することはできるようになった。今度はいわゆる公式ウェブサイト一覧が欲しい。

linkdata に登録もあるし、github で管理されているもあるけれど、基本的には手作業更新の様子。これを維持し続けるのは体力的に大変そう。

ウェブサーチ結果から自動的に抽出できないか一度試したこともあったけれど、上手くいかなかった。しばらくして wikipedia, wikidata 使えばいいような気がしてきた。

dbpedia

wikipedia から直接クエリはできないので、dbpedia を使わせていただく。SPARQL エンドポイントは http://ja.dbpedia.org/sparql

SELECT ?code,?name,?homepage WHERE {
 ?s <http://dbpedia.org/ontology/areaCode> ?code ;
  <http://ja.dbpedia.org/property/name> ?name .
 OPTIONAL {
  ?s <http://xmlns.com/foaf/0.1/homepage> ?homepage .
 }
 FILTER regex(?code, "[0-9]{5}-[0-9]")
}
ORDER BY ?code

wikidata

SPARQL エンドポイントは https://query.wikidata.org/

PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT ?code ?name ?site WHERE {
 ?s wdt:P429 ?code ; # 全国地方公共団体コード
    rdfs:label ?name .
  OPTIONAL {
    ?s wdt:P856 ?site . # 公式サイト
  }
 FILTER ( lang(?name)="ja" )
 FILTER NOT EXISTS { ?s wdt:P31 wd:Q18663566 } # 分類 日本の廃止市町村
} order by ?code

wikidata であれば、私にも維持できそうな気がする。体力的に。サステナビリティ大事。

最新版のコード一覧と比較して差分が出たのは一件で、042161 富谷町から 044237 富谷市への移行が、wikidata は追従できていませんでした。これは……名称やコードを更新するべきか。コード更新した。

一覧のCSVを travis で自動生成するようにした。

差分

さきほどの福野さん作成の一覧との差分は、自動ビルドするようにして、こうなっている。ここから先は目視確認が主軸になろうかと思う。

Wikidata の「公式サイト」URL は次の基準で揃えていっています

  • 専用ホスト名がある場合はトップページであろう「/」を使った http://example.jp/ の形に。
  • lg.jp が使われている場合は優先する。
  • https が使われていて、完全性がある(http との mixed-contents になっていない)場合は https 優先。
  • 例えば http://www.example.jp から http://www1.example.jp にリダイレクトされる場合は、冗長構成設定の副作用だと推測されるので、http://www.example.jp を採用。
3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1