2018年4月23日月曜日

統計LODの地方自治体オントロジーについての考察 (2017.12.28)

統計LODにおける地方自治体定義のオントロジーは、下図のような構成になっている。
このWEBアプリの「全市区町村」検索で必要な情報は、背景が黄色の部分だ。



上図の「第三階層」は、市区町村クラスに属するグループであるが、市・東京23区・町・村に加え、「政令指定都市の行政区」も同格に扱うこととされている。
一般的に「市区町村」と言った場合、そこに政令指定都市の行政区を含めるかどうかは議論の分かれるところであるが、行政区は東京特別区とは異なり地方公共団体そのものではないので、クラス分類基準の同一性という観点で捉えると「含めない」のが正解だろう。
また、政令指定都市が属する第四階層より、行政区が属する階層のほうが浅い位置にあるのも違和感を覚える。

第三階層の「市」と、第四階層の「政令指定都市」「中核市」「特例市」との関係も、私の感覚では、不適当と感じられる。
現行の統計LODにおける、「市」のクラスとインスタンスの関係を図に表すと、以下の通りとなる。



普通の市と、政令市・中核市・特例市が異なるクラス階層に属しているのは、オントロジー構成的にみても望ましくない上、実際にSPARQL検索を行う際にも不便だ。
現行では、政令市等を含めたすべての「市」を取得したい場合、以下のように UNION で繋げる必要があり、これではスマートでない。

PREFIX sacs:<http://data.e-stat.go.jp/lod/terms/sacs#>
select ?areacode
where {
    { ?areacode sacs:administrativeClass sacs:City .} UNION
    { ?areacode sacs:administrativeClass sacs:DesignatedCity .} UNION
    { ?areacode sacs:administrativeClass sacs:CoreCity .} UNION
    { ?areacode sacs:administrativeClass sacs:SpecialCity .} 
}

または

PREFIX sacs:<http://data.e-stat.go.jp/lod/terms/sacs#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?areacode
where {
    { ?bigCity rdfs:subClassOf sacs:City .
      ?areacode sacs:administrativeClass ?bigCity . } UNION
    { ?areacode sacs:administrativeClass sacs:City .} 
}

私としては、下図のような構成が望ましいと考える。この構成であれば、インスタンス集合のパーティション性を満たし、かつ、スマートで高速なクエリが使えるため、利便性も高い。
SPARQLサーバーのレスポンスを向上させるには、機器の物理的な増強だけでなく、このようなオントロジーの見直しからもアプローチすべきだろう。



(クエリ)
PREFIX sacs:<http://data.e-stat.go.jp/lod/terms/sacs#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select ?areacode
where {
?allCity  rdfs:subClassOf  sacs:City .
?areacode  sacs:administrativeClass  ?allCity .
}

私は、統計LODの地方自治体オントロジーについて、オントロジーとして望ましい状態に修正し、同時にSPARQL検索の利便性も向上させるため、下図《 案1 》又は《 案2 》が良いと考えている。統計局及び統計センターの関係者の方、ご検討願います。





粗探しのような要望ばかり述べてしまったが、今回のリニューアルにより、データセットが拡充され、使い勝手もずいぶん良くなったことは間違いなく、私のようなマニアには嬉しい限りだ。
統計LODのさらなる発展と、地方自治体の統計データLOD化の波及を願い、微力ながら私も応援していきたい。

2 件のコメント: