50K Gazetteer Linked Data - OS Linked Data

fumi · August 5, 2014

Ordnance Surveyは日本の国土地理院に当たる組織であり,様々なオープンデータをOS Open Dataとして公開しています.

この中で,一部のデータはLinked Dataとしても公開しています.サイトはOS Linked Dataです.具体的には地名辞典郵便番号境界線データを公開しています.これら全てのデータが混ざっているEndpointも公開しています.

まず50K Gazetteer Linked data (5万分の1地図の地名辞典)について.イギリスには”Little London”という地名がたくさんあります.フォームで検索すると34件のヒットがあることがわかります.ちなみにこの文字列検索もAPIです.

LittleLondon
LittleLondon

結果を見ると,どの項目もtitleやlabelは”Little London”ですが,”link”に入っているURIがhttp://data.ordnancesurvey.co.uk/id/50kGazetteer/140011, http://data.ordnancesurvey.co.uk/id/50kGazetteer/140012のように異なります.まさにURIを地名の識別子として利用しています.これらのURIにブラウザでアクセスすると,各々の”Little London”についての情報が表示されます.

Little London 140011 (http://data.ordnancesurvey.co.uk/id/50kGazetteer/140011)
Little London 140011 (http://data.ordnancesurvey.co.uk/id/50kGazetteer/140011)
Little London 140012 (http://data.ordnancesurvey.co.uk/id/50kGazetteer/140012)
Little London 140012 (http://data.ordnancesurvey.co.uk/id/50kGazetteer/140012)

また,text/turtleやapplication/json等を要求すると303 Redirectでデータが返ってきます.

% curl -LH 'Accept: text/turtle' http://data.ordnancesurvey.co.uk/id/50kGazetteer/140011
@prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf:  <http://xmlns.com/foaf/0.1/> .
@prefix dct:   <http://purl.org/dc/terms/> .
@prefix rdf:   <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .

<http://data.ordnancesurvey.co.uk/ontology/50kGazetteer/Other>
        rdfs:label  "Other" .

<http://data.ordnancesurvey.co.uk/doc/50kGazetteer/140011>
        a                  foaf:Document ;
        rdfs:seeAlso       <http://sameas.org/rdf?uri=http://data.ordnancesurvey.co.uk/id/50kGazetteer/140011> ;
        dct:title          "Description of http://data.ordnancesurvey.co.uk/id/50kGazetteer/140011" ;
        foaf:primaryTopic  <http://data.ordnancesurvey.co.uk/id/50kGazetteer/140011> .

<http://data.ordnancesurvey.co.uk/id/50kGazetteer/140011>
        a           <http://data.ordnancesurvey.co.uk/ontology/50kGazetteer/NamedPlace> ;
        rdfs:label  "Little London" ;
        <http://data.ordnancesurvey.co.uk/ontology/50kGazetteer/featureType>
                <http://data.ordnancesurvey.co.uk/ontology/50kGazetteer/Other> ;
        <http://data.ordnancesurvey.co.uk/ontology/50kGazetteer/mapReference>
                <http://data.ordnancesurvey.co.uk/id/OSLandrangerMap/95> ;
        <http://data.ordnancesurvey.co.uk/ontology/spatialrelations/easting>
                "232500" ;
        <http://data.ordnancesurvey.co.uk/ontology/spatialrelations/northing>
                "486500" ;
        <http://data.ordnancesurvey.co.uk/ontology/spatialrelations/oneKMGridReference>
                <http://data.ordnancesurvey.co.uk/id/1kmgridsquare/SC3286> ;
        <http://data.ordnancesurvey.co.uk/ontology/spatialrelations/twentyKMGridReference>
                <http://data.ordnancesurvey.co.uk/id/20kmgridsquare/SC28> ;
        foaf:name   "Little London" .

<http://data.ordnancesurvey.co.uk/ontology/50kGazetteer/NamedPlace>
        rdfs:label  "Named Place" .

また,SPARQLによるクエリも可能です.50K Gazetteer Linked Dataのページの”Find things using a query powered by SPARQL”というのをクリックするとフォームが出てきます.Endpointはhttp://data.ordnancesurvey.co.uk/datasets/50k-gazetteer/apis/sparqlです.

例えば,5万分の1地図はOS Landranger Mapsと呼ばれていますが,以下のように特定のLandrangerに含まれる”Little London”を得るクエリを書くことができます.

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX spatial: <http://data.ordnancesurvey.co.uk/ontology/spatialrelations/>
PREFIX gaz: <http://data.ordnancesurvey.co.uk/ontology/50kGazetteer/>

SELECT ?uri ?label ?easting ?northing ?featureType
WHERE {
  ?uri a gaz:NamedPlace;
    gaz:mapReference <http://data.ordnancesurvey.co.uk/id/OSLandrangerMap/143>;        
    rdfs:label "Little London";
    spatial:easting ?easting;
    spatial:northing ?northing;
    gaz:featureType ?featureType.
}

OS Linked Dataのもう一つ素晴らしい点は,OpenRefineReconciliation Service APIも提供しているところです.フォームは”Turn labels into identifiers powered by RECONCILIATION”というところ.APIはhttp://data.ordnancesurvey.co.uk/datasets/50k-gazetteer/apis/reconciliation.例えばAsh coppiceで検索すると,その補完候補として2つのAsh Coppiceと1つのBelt Ash Coppiceという地名をid(URI)やマッチのスコアを含めて返してくれます.このAPIを通して,OpenRefine上でデータの補完をしたり,RDF Refine用にURIを追加したりすることができます.

Reconciliation Service API
Reconciliation Service API

Twitter, Facebook