先日公開した鉄道オープンデータサイト「鉄道駅LOD」のデータを検索できるSPARQLエンドポイントを作成しました。
鉄道駅LOD については以下を参照してください。
使用上の注意点
今回作成したSPARQLエンドポイントは特殊な作り方をしていることもあり、実験的なものです。
やむを得ず公開を停止することもあると思いますが、その時はこちらでお知らせしたいと思います。
SPARQLエンドポイント
Webブラウザで検索
以下のページからWebブラウザから検索できます。
このページは以下を利用しています。
Web API
Web APIとしては、以下のURLを使用してください。
https://api-jrslod.uedayou.net/sparql
データを取得するには、以下のパラメータをつけてください。
パラメータ | 説明 |
---|---|
format |
xml かjson
|
query | URLエンコードされたSPARQLクエリ |
例えば、以下の SPARQLクエリをJSONで取得するには
select * where {
?s ?p ?o.
}
limit 10
上記をURLエンコードして、以下のようなURLとしてアクセスしてください。
https://api-jrslod.uedayou.net/sparql?format=json&query=select%20%2A%20where%20%7B%0A%20%20%3Fs%20%3Fp%20%3Fo.%0A%7D%0Alimit%2010
RDFデータについて
鉄道駅LODには、鉄道会社、路線、駅の3種類のデータがあります。
データはRDFになっています。それぞれのRDFの構造を紹介します。
これらは確定したものがないので、今後変更する可能性があります。
接頭辞
以後、以下の表のprefixを用いて省略してURIを表記します。
prefix | name space |
---|---|
rdf: | http://www.w3.org/1999/02/22-rdf-syntax-ns# |
rdfs: | http://www.w3.org/2000/01/rdf-schema# |
dcterms: | http://purl.org/dc/terms/ |
schema: | http://schema.org/ |
foaf: | http://xmlns.com/foaf/0.1/ |
owl: | http://www.w3.org/2002/07/owl# |
geo: | http://www.w3.org/2003/01/geo/wgs84_pos# |
propja: | http://ja.dbpedia.org/property/ |
dbpediaowl: | http://dbpedia.org/ontology/ |
wdt: | http://www.wikidata.org/prop/direct/ |
ic: | http://imi.go.jp/ns/core/rdf# |
駅データのプロパティ
取得できるデータの参考
https://uedayou.net/jrslod/西日本旅客鉄道/大阪環状線/大阪
プロパティ | 値 | 値の型 |
---|---|---|
rdf:type | <https://uedayou.net/jrslod/Class/駅> | URI |
rdfs:label | 駅名 | 文字列 |
wdt:P833 | 乗り換えが可能な駅のURI | URI |
wdt:P465 | 路線の色 | 文字列 |
schema:description | 駅についての説明 | 文字列 |
wdt:P81 | 路線のURI | URI |
propja:所属路線 | 路線の名称 | 文字列 |
wdt:P137 | 鉄道会社のURI | URI |
dbpediaowl:operatedBy | 鉄道会社の名称 | 文字列 |
geo:lat | 緯度 | 数値 |
geo:long | 経度 | 数値 |
owl:sameAs | 同一駅についての別サイト | URL |
foaf:homepage | 駅の公式サイト | URL |
dbpediaowl:address | 住所 | 文字列 |
ic:住所 | 住所LODのURI | URI |
路線データのプロパティ
取得できるデータの参考
https://uedayou.net/jrslod/西日本旅客鉄道/大阪環状線
プロパティ | 値 | 値の型 |
---|---|---|
rdf:type | <https://uedayou.net/jrslod/Class/路線> | URI |
rdfs:label | 路線名 | 文字列 |
wdt:P527, dcterms:relation | 路線内の駅URI | URI |
wdt:P2043 | 路線距離 | 数値 |
wdt:P465 | 路線の色 | 文字列 |
schema:description | 路線についての説明 | 文字列 |
wdt:P137 | 鉄道会社のURI | URI |
dbpediaowl:operatedBy | 鉄道会社の名称 | 文字列 |
owl:sameAs | 同一路線についての別サイト | URL |
foaf:homepage | 路線の公式サイト | URL |
鉄道会社データのプロパティ
取得できるデータの参考
https://uedayou.net/jrslod/西日本旅客鉄道
プロパティ | 値 | 値の型 |
---|---|---|
rdf:type | <https://uedayou.net/jrslod/Class/鉄道会社> | URI |
rdfs:label | 会社名 | 文字列 |
wdt:P527 | 鉄道会社が運営する路線 | URI |
schema:description | 会社についての説明 | 文字列 |
owl:sameAs | 同一会社についての別サイト | URL |
foaf:homepage | 会社の公式サイト | URL |
skos:altLabel | 会社の別名 | 文字列 |
wdt:P2002 | 会社のTwitter ID | 文字列 |
wdt:P2397 | 会社のYouTubeチャンネルID(ごく一部にしかありません) | 文字列 |
SPARQLクエリのサンプル
例えば、以下のようなクエリであれば、東京
を含む駅のリストを取得することができます。
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
select distinct * where{
?uri a <https://uedayou.net/jrslod/Class/駅>;
rdfs:label ?label.
filter( regex( ?label, '東京' ) )
}
ただ、現時点でレスポンスが20秒近くかかることがあるので、データをダウンロードしてから利用することをお勧めします。