最終的には、自治体サイト一覧は 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
を採用。