今月、神戸市が開設した、神戸市内で開催されるイベント情報を発信するサイトです。
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 件のコメント:
コメントを投稿