LOD サンプル1


LOD (Linked Open Data) のサンプルコードです。

ソースコードは code.google で公開しています。

概要
ヨコハマ・アート・LOD を使用して、本日開催されているイベントの一覧を取得する。

取得する情報
・イベントの名称
・イベントの詳細情報へのリンク
・イベントの日時
・イベントの概要

・場所の名称
・場所の詳細情報へのリンク
・場所の住所
・場所の緯度経度

発行するSPARQL

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX schema: <http://schema.org/>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX cal: <http://www.w3.org/2002/12/cal/icaltzd#>
PREFIX place: <http://fp.yafjp.org/terms/place#>
PREFIX event: <http://fp.yafjp.org/terms/event#>
SELECT DISTINCT *
WHERE {
 ?place rdf:type place:Place ;
 rdfs:label ?place_name ;
 schema:address ?address ;
 geo:lat ?lat ;
 geo:long ?long .
 ?event event:location ?place ;
 rdfs:label ?event_name ;
 cal:dtstart ?dtstart ;
 cal:dtend ?dtend ;
 dc:abstract ?abstract .
 FILTER (lang(?place_name) ="ja" )
 FILTER ((?dtstart > "2012-12-01T00:00:00+09:00"^^xsd:dateTime && ?dtstart < "2012-12-01T00:00:00+09:00"^^xsd:dateTime) ||
 (?dtend > "2012-12-01T00:00:00+09:00"^^xsd:dateTime && ?dtend < "2012-12-01T00:00:00+09:00"^^xsd:dateTime) ||
 (?dtstart < "2012-12-01T00:00:00+09:00"^^xsd:dateTime && ?dtend > "2012-12-01T00:00:00+09:00"^^xsd:dateTime))
}
ORDER BY ASC(?dtstart)

関連
・LOD サンプル1
LOD サンプル2

参考
ヨコハマ・アート・LOD
RDF用クエリ言語SPARQL
PHPサンプル: 今月のイベントの一覧を表示する


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です