Ordnance Surveyは日本の国土地理院に当たる組織であり,様々なオープンデータをOS Open Dataとして公開しています.
この中で,一部のデータはLinked Dataとしても公開しています.サイトはOS Linked Dataです.具体的には地名辞典と郵便番号と境界線データを公開しています.これら全てのデータが混ざっているEndpointも公開しています.
まず50K Gazetteer Linked data (5万分の1地図の地名辞典)について.イギリスには”Little London”という地名がたくさんあります.フォームで検索すると34件のヒットがあることがわかります.ちなみにこの文字列検索もAPIです.
結果を見ると,どの項目も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”についての情報が表示されます.
また,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のもう一つ素晴らしい点は,OpenRefineのReconciliation 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を追加したりすることができます.