第4回Linked Open Dataハッカソン関西

SPARQLでマッシュアップ

-LOD活用のための技術紹介-

SPARQLでマッシュアップ-LOD活用のための技術紹介- from Hiroshi Ueda

LODチャレンジ応募作品のSPARQLエンドポイント(試行版)

解説サイト


http://lodc.jp/

エンドポイント(Web API)


http://db.lodc.jp/sparql

SPARQLが使えるデータベース

LOD作成・活用支援サイト“SparqlEPCU”

SparqlEPCUを使えばLinkDataやOpen Refineなどで作成したRDFファイル(Turtle, RDF/XML, N-Triplesなど)を使って簡単にSPARQLエンドポイント(SPARQLが使えるWeb API)を立ち上げることができます。

SparqlEPCUサイト


http://lodcu.cs.chubu.ac.jp/SparqlEPCU/

解説資料

SPARQLとMashup環境 (年岡先生) from Shun Shiramatsu

今日一日でできるSPARQLアプリ

Leaflet Simple SPARQL

SPARQLのデータを使って、プログラミング無しに作成できる地図アプリです。

コードを見る サンプル

SlickQuiz-SPARQL

SPARQLを利用してクイズアプリが作成できます。

コードを見る サンプル

FullCalendar SPARQL

SPARQLを利用したカレンダーアプリです。

コードを見る サンプル

SPARQL Timeliner

SPARQLエンドポイント経由で取得したLODに含まれる日付を年表として、位置(緯度経度)を地図上に表示することができます。

アプリ表示 大阪アプリ 京都アプリ

○○危険地帯

LODチャレンジJapan2013受賞作品「 トイレ危険地帯 」をベースに、SPARQLを使ってトイレ以外のデータも地図上に空白地帯を ビジュアライズできるようにしました。

コードを見る サンプル

BookSearch SPARQL js

SPARQLエンドポイントを使用する書籍検索アプリです。 SPARQLクエリを書き換えるだけでアプリを作ることができます。

コードを見る デモアプリを開く

sgvizler

SPARQLを使ってさまざまなグラフを簡単に描くことができます。

プロジェクト
ページ
雛形
ファイル

京都が出てくる本のデータ:
出版年ランキング(sgvizler)

京都が出てくる本のデータ:
著者トップ10(sgvizler)

京都が出てくる本のデータ:
おすすめ度ランキング(sgvizler)

京都が出てくる本のデータ:
出版社別ランキング(sgvizler)

京都が出てくる本のデータ:
カテゴリ別ランキング(sgvizler)

LODチャレンジ応募作品の
関連グラフ(sgvizler)

SPARQLの書き方

使用するSPARQLエンドポイントページ


http://uedayou.net/sparql-mashup/test-endpoint/

サンプルクエリ


SELECT * WHERE
{
?s ?p ?o 
}

(1) シンプルなSPARQLクエリ

SELECT ?s ?o WHERE 
{
?s <http://www.w3.org/2000/01/rdf-schema#label> ?o .
}

(2) 述語が <http://www.w3.org/2000/01/rdf-schema#label> であるトリプルを取得

select distinct * where 
{
<http://ja.dbpedia.org/resource/東京都> ?p ?o . 
}

(3)主語に <http://ja.dbpedia.org/resource/東京都> が指定されているトリプルを取得

SELECT DISTINCT ?pref ?label WHERE 
{
<http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> ?pref. 
?pref <http://www.w3.org/2000/01/rdf-schema#label> ?label.
}

(4) 東京都に隣接する県の名前

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/> 
PREFIX prop-ja: <http://ja.dbpedia.org/property/>

SELECT DISTINCT ?pref ?label WHERE 
{
dbpedia-ja:東京都  prop-ja:隣接都道府県  ?pref . 
?pref  rdfs:label  ?label .
}

(5) 「東京都に隣接する県の名前」のクエリを省略して書くと

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>

SELECT DISTINCT * WHERE {
dbpedia-ja:東京都  rdfs:label  ?label ;
rdfs:comment  ?comment . 
}

(6) 同一主語の省略