2017年4月20日木曜日

KOBE TodayのAPIを使ってみた!

「KOBE Today」って知ってますか?

今月、神戸市が開設した、神戸市内で開催されるイベント情報を発信するサイトです。
https://data.city.kobe.lg.jp/eventdata/

そのイベント情報を取得できるAPIが公開されているということなので、さっそく使ってみました。

データの形式はLinked Open Data (LOD)、それをSPARQLというSQLに似たクエリ言語を使って取得する、とのこと。
どちらも初めてお目にかかるので、何がなんやらという感じだったのですが、データ構造の理解に下記の情報が役立ちました。

SPARQLを利用した逆マッシュアップ-プログラミングを必要としないアプリ作成方法-

例えば、イベント名、開始・終了日、場所、URLを、終了日順に先頭から10件取得する場合は次のようなクエリを書きます。

 
PREFIX ic: <http://imi.go.jp/ns/core/rdf#>
PREFIX schema: <http://schema.org/>

select distinct ?name ?datef ?datet ?place ?url where {
?s ic:名称/ic:表記 ?name .
?s ic:期間 [ ic:開始日 ?datef; ic:終了日 ?datet ] .
?s ic:開催場所/ic:名称/ic:表記 ?place .
?s schema:url ?url .
}
ORDER BY ?datet
LIMIT 10


このクエリを改行も気にせずそのままURLエンコードして、

 
https://data.city.kobe.lg.jp/sparql?query=(エンコードしたクエリ)


のようにリクエストすればデータが取得できます。
取得したデータをアプリで表示してみました。

















私のような古い人間はとりあえずフォームアプリを作ってしまいがちですが、
ありさんがJavaScriptを使って、このページの右側に表示するようにしてくれました。

またいつか、どこかで。

0 件のコメント:

コメントを投稿