Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
SPARQLを利用した 逆マッシュアップ -プログラミングを必要としないアプリ作成方法- 
上田洋 
日本図書館研究会情報組織化研究グループLOD勉強会 
2014/08/30
紹介するSPARQLクエリ、エンドポイント、 アプリはこちらから利用・取得できます 
http://uedayou.net/sparql-examples/
自己紹介 
•株式会社ATR Creative 
•ソフトウェアエンジニア、スマートフォンアプリ開発を担 当 
•特定非営利活動法人リンクト・オープン・データ・イ ニシアティブ 
•2014年8月より理事 
•関西支部支部長補佐 
•LODチャ...
逆マッシュアップとは? 
•既存のアプリ(プログラム)を再利用して、データを 入れ替えて新たなアプリを簡単に作成 
•プログラム作成が大変 
•既存データのAPIを利用 
マッシュアップ 
データ 
API 
データ 
API 
プログラム の...
逆マッシュアップするために 
•LinkData.org を利用する 
•理化学研究所が開発した、データとアプリの作成・公開 をひとつのサイトで行える「逆マッシュアップ支援ツー ル」 
•自前のサーバが不要 
•LinkData.org に登録...
SPARQLを利用した逆マッシュアップ 
•SPARQLだけで作成できるWebアプリがいくつか公開中 
•地図、カレンダー、データ検索、ビジュアライズなど 
•利用できるSPARQLエンドポイント、データ量・種類が豊富 
•Wikipedia:...
1.SPARQLの使い方
SPARQLとは? 
•SPARQL Protocol and RDF Query Language 
•RDF用のクエリ言語 
•RDFストア(データベース)に設置されるSPARQLエン ドポイントからトリプルデータ検索・抽出が可能 
PRE...
SPARQLでの検索方法 
•RDFストアに設置されたSPARQL検索ページ 
•直接SPARQLエンドポイント(API)を直接利用 
•例:http://ja.dbpedia.org/sparql?query={SPARQLクエリ} 
•JS...
例:DBPediaJapaneseで東京都に 関するデータを検索 
•http://ja.dbpedia.org/sparql を開いて「Run Query」 を押すと検索できます 
select distinct * where 
{ 
<h...
2.SPARQLの書き方
変数とURI(IRI)とリテラル 
•変数 
•「?」で始まる文字列 
•該当する全てのデータが格納される 
•検索式内の同一変数は同じデータが入るという意味に 
•URI(IRI) 
•「<」「>」で挟まれた文字列 
•指定したURIを同じU...
http://ja.dbpedia.org/resource/東京都 
東京都 
http://ja.dbpedia.org/resource/山梨県 
http://ja.dbpedia.org/ 
property/隣接都道府県 
http...
主語 
述語 
目的語 
<http://ja.dbpedia.org/resource/東京都> 
<http://www.w3.org/2000/01/rdf-schema#label> 
"東京都" 
<http://ja.dbpedia...
主語 
述語 
目的語 
<http://ja.dbpedia.org/resource/東京都> 
<http://www.w3.org/2000/01/rdf-schema#label> 
"東京都" 
<http://ja.dbpedia...
主語 
述語 
目的語 
<http://ja.dbpedia.org/resource/東京都> 
<http://www.w3.org/2000/01/rdf-schema#label> 
"東京都" 
<http://ja.dbpedia...
http://ja.dbpedia.org/resource/東京都 
東京都 
http://ja.dbpedia.org/resource/山梨県 
http://ja.dbpedia.org/resource/千葉県 
http://ja...
(1) シンプルなSPARQLクエリ 
•全てのトリプルデータを検索 
SELECT ?s ?p ?o WHERE 
{ 
?s ?p ?o. 
}
SELECT 
•SELECT の後ろに続く変数(?で始まる文字列)に格納さ れたデータを表形式で取得 
•変数名は必ずWHERE文の中で指定したものを記述す ること 
•例では?s、?p、?o 
SELECT ?s ?p ?o WHERE 
...
SELECT 
•アスタリスク「*」を指定すると、WHERE文の中の 全ての変数を指定したことと同じになる 
•?s、?p、?o が抽出される 
SELECT * WHERE 
{ 
?s ?p ?o . 
} 
SELECT ?s ?p ?o...
DISTINCT 
•「SELECT」と変数の間に「DISTINCT」を入れると指定 した全ての変数で重複したパターンがあった場合、 検索結果から除外される 
SELECT DISTINCT ?s ?p ?o WHERE 
{ 
?s ?p ?...
WHERE 
•WHERE { } 内に検索したいトリプルパターンを書く 
SELECT ?s ?p ?o WHERE 
{ 
?s ?p ?o . 
}
基本構造 
•トリプルデータを指定するために、3つの変数また はURI、リテラル(目的語のみ)を1セットで書く 
•1セットの終わりには必ずピリオド「.」をつける 
SELECT ?s ?p ?o WHERE 
{ 
?s ?p ?o. 
} ...
?s 
?p 
?o 
<http://ja.dbpedia.org/resource/東京都> 
<http://www.w3.org/2000/01/rdf-schema#label> 
"東京都" 
<http://ja.dbpedia....
http://uedayou.net/sparql-examples/test-endpoint/
(2) 述語が <http://www.w3.org/2000/01/rdf-schema#label> であるトリプルを取得 
•<http://www.w3.org/2000/01/rdf-schema#label>はデータ のラベル(名前...
?s 
?p 
?o 
<http://ja.dbpedia.org/resource/東京都> 
<http://www.w3.org/2000/01/rdf-schema#label> 
"東京都" 
<http://ja.dbpedia....
http://uedayou.net/sparql-examples/test-endpoint/
select distinct * where 
{ 
<http://ja.dbpedia.org/resource/東京都> ?p ?o . 
} 
(3) DBpediaのデフォルトのクエリ の意味 
•主語に<http://ja.dbp...
?s 
?p 
?o 
<http://ja.dbpedia.org/resource/東京都> 
<http://www.w3.org/2000/01/rdf-schema#label> 
"東京都" 
<http://ja.dbpedia....
http://uedayou.net/sparql-examples/test-endpoint/
(4) 東京都に隣接する県の名前 
1.東京都のURIから隣接する都道府県を表す <http://ja.dbpedia.org/property/隣接都道府県> を述語として持つ目的語を検索する 
2.さらに、検索された目的語を主語に指定して、...
主語 
述語 
目的語 
<http://ja.dbpedia.org/resource/東京都> 
<http://www.w3.org/2000/01/rdf-schema#label> 
"東京都" 
<http://ja.dbpedia...
http://uedayou.net/sparql-examples/test-endpoint/
PREFIXによるURIの省略表記 
•URI記述はPREFIXを利用することで省略表記が可能 
•クエリ先頭行に以下のような形式で追加 
•PREFIX BINDNAME: <URI> 
•例:PREFIX rdfs: <http://www...
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/resource/東京都 
東京都 
http://ja.dbpedia.org/resource/山梨県 
http://ja.dbpedia.org/ 
property/隣接都道府県 
http...
(5) 「東京都に隣接する県の名前」 のクエリを省略して書くと… 
SELECT DISTINCT ?pref?label WHERE 
{ 
<http://ja.dbpedia.org/resource/東京都> <http://ja.db...
http://uedayou.net/sparql-examples/test-endpoint/
(6) 同一主語の省略 
•同じ主語から複数のプロパティを指定する場合、 目的語のあとのピリオド「.」をセミコロン「;」にするこ とで次のトリプルパターンの主語を省略できます 
SELECT DISTINCT ?pref?label WHERE...
http://uedayou.net/sparql-examples/test-endpoint/
よく使われそうな述語(プロパティ) 
意味 
プロパティ 
ラベル 
名前 
タイトル 
rdfs:label<http://www.w3.org/2000/01/rdf-schema#label> 
dc:title<http://purl....
意味 
プロパティ 
緯度 
geo:lat 
<http://www.w3.org/2003/01/geo/wgs84_pos#lat> 
経度 
geo:long 
<http://www.w3.org/2003/01/geo/wgs84_...
LIMIT 
•検索結果の上限を設定 
•WHERE{}の後ろに記述 
•「LIMIT 10」で最大10件取得 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
SELECT DIST...
OFFSET 
•検索結果の取得位置を指定 
•WHERE{}の後ろに記述 
•「OFFSET 100」は100番目から取得 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
SELE...
ORDER BY / ORDER BY DESC 
•検索結果の並び順を指定 
•WHERE{}の後ろに記述 
•「ORDER BY ?created」で作成日昇順にソート 
•「ORDER BY DESC(?created)」なら作成日降順 ...
OPTIONAL 
•OPTIONAL{ … } 内のグラフパターンはパターンに一 致しなくても、OPTIONAL外のパターンに一致すれ ば検索される 
•WHERE{ … } 内に記述 
PREFIX rdfs: <http://www.w3...
FILTER 
•検索結果のフィルタリングが可能 
•WHERE{ … } 内に記述 
•dcterms:issuedが2000(年)以上のものを検索 
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-sc...
REGEX 
•正規表現による検索が可能 
•FILTER と組み合わせて利用する 
•WHERE{ … } 内に記述 
•書き方 
•REGEX( 検索対象の変数, 正規表現) 
PREFIX rdfs:<http://www.w3.org/...
BIND / CONCAT 
•BIND:指定した変数・データを別の名前の変数に 割り当てが可能 
•BIND( [割り当てるデータ]AS [変数] ) 
•CONCAT:変数や文字列同士の結合が可能、値は リテラルに 
•CONCAT( [変...
COUNT 
•変数のデータ総数を計算 
SELECT COUNT(*)WHERE 
{ 
?s ?p ?o . 
} 
全トリプル数を計算
GROUP BY / HAVING 
•GROUP BY:指定の変数でデータを集約(グループ 化)する 
•HAVING:グループ化されたデータの絞込み 
PREFIX dc: <http://purl.org/dc/elements/1.1/...
FROM 
•トリプルデータには、その全体を現す名前(グラフ 名)が指定されています 
•FROMを使うとグラフ名ごとに検索が行えます 
<http://hoge.jp/defaultgraph> というグラフ名が 
ついているトリプルデータを...
http://hoge.jp/graph/02 
http://hoge.jp/graph/01 
グラフ名ごと 
に検索が可能主語述語目的語 dbpedia-ja:大阪府rdfs:label“大阪府" dbpedia-ja:大阪府prop-j...
データ型のキャスト 
•str(?data) 
•データを文字列に変換 
•URI(?data) 
•データをURIに変換 
•xsd:integer(?data) 
•データを整数値型に変換 
•xsd:float(?data) / xsd:...
複数の人や物を含むフィールド を分割するメリット(1) 
•検索精度が向上 
•「上田洋」で検索した場合 
「上田洋@@@村上晴美@@@辰巳昭治」 
「上田洋一」 
•分割すると… 
「上田洋」 
「村上晴美」 
「辰巳昭治」 
「上田洋一」 ...
複数の人や物を含むフィールド を分割するメリット(2) 
•URIが付与でき、他のデータとつなげられる 
ex:武田英明 
武田英明 
dbpedia-ja: 武田英明 
ndl: 
武田英明 
kasm: 
武田英明 
Wikipedia 
...
3.SPARQLクエリの例
DBpediaJapaneseより 
•エンドポイント:http://ja.dbpedia.org/sparql 
•鉄道駅の駅名と位置データ(緯度・経度)を取得 
PREFIX geo: <http://www.w3.org/2003/01/...
LODチャレンジJapan応募作品の SPARQLエンドポイント試行版より 
•エンドポイント:http://db.lodc.jp/sparql 
•応募作品のグラフURIとタイトル一覧を100件取得 
•http://lodc.jp/ にいく...
青空文庫LODより 
•エンドポイント:http://mdlab.slis.tsukuba.ac.jp/sparql 
•1600年以前に生まれた作者の作品 
•http://mdlab.slis.tsukuba.ac.jp/lodc2012/...
京都国際マンガミュージアム 書誌情報LODより 
•エンドポイント:http://mdlab.slis.tsukuba.ac.jp/sparql 
•マンガ著作とそのマンガ家を表示するSPARQL文 
•http://mdlab.slis.ts...
LODAC Museumより 
•エンドポイント:http://lod.ac/sparql 
•横浜美術館が所蔵している日本画の作品 
•http://lod.ac/wiki/SPARQLスニペットにクエリ例がたくさんあります 
PREFIX ...
WebNDL Authoritiesより 
•エンドポイント:http://id.ndl.go.jp/auth/ndla?query= 
•API:http://id.ndl.go.jp/auth/ndla 
•「夏目漱石」の典拠情報URI、名...
Europeanaより 
•エンドポイント:http://europeana.ontotext.com/sparql 
•Europeanaにコンテンツを提供する機関 
•http://europeana.ontotext.com/sparql...
The British National Bibliography より 
•エンドポイント:http://bnb.data.bl.uk/flint-sparql 
•API:http://bnb.data.bl.uk/sparql 
•ISB...
4.SPARQLで 逆マッシュアップ
SPARQLで逆マッシュアップ 
•SPARQLクエリを書くだけでプログラミングなしに いろんなアプリが作れます。
SPARQLで逆マッシュアップ 
•地図アプリ 
•leaflet-simple-sparql 
•カレンダーアプリ 
•fullcalendar-sparql-js 
•地図とタイムラインビジュアライズアプリ 
•SPARQL Timelin...
地図アプリ 
•leaflet-simple-sparql 
•https://github.com/uedayou/leaflet-simple-sparql
使い方:leaflet-simple-sparql 
•githubのページから「Download ZIP」ボタンを押して、 ソースコード一式をダウンロード 
•解凍して「config.js」にエンドポイントとクエリを記述する 
•Webサーバ...
カレンダーアプリ 
•fullcalendar-sparql-js 
•https://github.com/uedayou/fullcalendar-sparql-js
使い方:fullcalendar-sparql-js 
•githubのページから「Download ZIP」ボタンを押して、 ソースコード一式をダウンロード 
•解凍して「config.js」にエンドポイントとクエリを記述する 
•Webサー...
地図とタイムラインの ビジュアライズアプリ 
•SPARQL Timeliner 
•http://uedayou.net/SPARQLTimeliner/
使い方:SPARQL Timeliner 
エンドポイントのURLを入力 
クエリを入力 
•http://uedayou.net/SPARQLTimeliner を開いてエンドポイントURLとクエリを入力して 「Load>>」ボタンをクリック
使い方:SPARQL Timeliner 
•以下のルールに従ってクエリを作成してください 
•詳しい使い方は以下の資料にまとめています 
•http://www.slideshare.net/uedayou/sparql-timeliner-...
書籍検索アプリ 
•booksearch-sparql-js 
•https://github.com/uedayou/booksearch-sparql-js
使い方:booksearch-sparql-js 
•githubのページから「Download ZIP」ボタンを押して、 ソースコード一式をダウンロード 
•解凍して「config.js」にエンドポイントとクエリを記述する 
•?uriに書籍...
使い方:booksearch-sparql-js 
•config.js のprop_labelsにURIとそのラベルを設定 しておくと、詳細表示の際にURIをラベルに置き換 わります。 
varprop_labels= { 
"http://...
データビジュアライズツール 
•sgvizler 
•http://dev.data2000.no/sgvizler/ 
•※今回はバージョン0.5を使います
使い方:sgvizler 
•以下のコードをHTMLファイルに貼り付けて保存してブラウザで開くだけ 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/lib...
使い方:sgvizler 
<div 
id=“sgvizler-sample” 
data-sgvizler-endpoint 
="http://lodcu.cs.chubu.ac.jp/SparqlEPCU/api/kyotobook_l...
例で利用するデータ 
•京都が出てくる本のデータ 
•京都岡崎にある図書館で働く司書の方々が中心のグ ループ「ししょまろはん」が作成・公開する京都が舞台 の小説やマンガ・ライトノベル等のデータ 
•http://libmaro.kyoto.jp...
京都が出てくる本のデータ: 出版年ランキング 
http://uedayou.net/sparql-examples/sgvizler/kyoto-issued-ranking.html
京都が出てくる本のデータ: 著者トップ10 
http://uedayou.net/sparql-examples/sgvizler/kyoto-author-top10.html
京都が出てくる本のデータ: おすすめ度ランキング 
http://uedayou.net/sparql-examples/sgvizler/kyoto-recommend-ranking.html
京都が出てくる本のデータ: 出版社別ランキング 
http://uedayou.net/sparql-examples/sgvizler/kyoto-publisher-ranking.html
京都が出てくる本のデータ: カテゴリ別ランキング 
http://uedayou.net/sparql-examples/sgvizler/kyoto-category-ranking.html
クエリの書き方 (棒グラフ、円グラフの場合) 
•「data-sgvizler-chart」には以下を指定 
•円グラフ:「gPieChart」 
•縦棒グラフ:「gColumnChart」 
•横棒グラフ:「gBarChart」 
•GROU...
クエリの書き方 (棒グラフ、円グラフの場合) 
•実際のデータは…
DBpedia:隣接都道府県グラフ 
http://uedayou.net/sparql-examples/sgvizler/dbpedia-pref-neighbor.html
クエリの書き方 (無指向グラフの場合) 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema> 
SELECTDISTINCT ?alabel?blabelWHERE 
{ 
?s <http:...
クエリの書き方 (無指向グラフの場合) 
•実際のデータは…
SPARQLについて 
•RDF用クエリ言語SPARQL 
•http://www.asahi-net.or.jp/~ax2s-kmtn/internet/rdf/rdf- sparql-query.html 
•SPARQL 1.1クエリ言語...
SPARQLエンドポイント(1) 
•DBpedia 
•http://dbpedia.org/sparql 
•DBpediaJapanese 
•http://ja.dbpedia.org/sparql 
•日本語Wikipediaオントロ...
SPARQLエンドポイント(2) 
•青空文庫LOD/京都国際マンガミュージアム 書誌情報LOD エンドポイント 
•http://mdlab.slis.tsukuba.ac.jp/sparql 
•青空文庫LOD 
•http://mdlab...
SPARQLを利用するアプリ(1) 
•leaflet-simple-sparql 
•https://github.com/uedayou/leaflet-simple-sparql 
•fullcalendar-sparql-js 
•ht...
SPARQLを利用するアプリ(2) 
•sgvizler 
•http://dev.data2000.no/sgvizler/ 
•Sgvizler/0.5/DesigningQueries 
•http://dev.data2000.no/s...
その他 
•LinkData 
•http://linkdata.org/ 
•逆マッシュアップの提唱 
•http://www.slideshare.net/tetsurotoyoda/ss-27381991 
•ししょまろはんラボ 
•ht...
Upcoming SlideShare
Loading in …5
×

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

11,079 views

Published on

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

http://uedayou.net/sparql-examples/

Published in: Technology
  • Sex in your area is here: ❶❶❶ http://bit.ly/39sFWPG ❶❶❶
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ♥♥♥ http://bit.ly/39sFWPG ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ACCESS that WEBSITE Over for All Ebooks (Unlimited) ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... DOWNLOAD FULL EPUB Ebook here { http://bit.ly/2m77EgH } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m77EgH } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m77EgH }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THI5 BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

  1. 1. SPARQLを利用した 逆マッシュアップ -プログラミングを必要としないアプリ作成方法- 上田洋 日本図書館研究会情報組織化研究グループLOD勉強会 2014/08/30
  2. 2. 紹介するSPARQLクエリ、エンドポイント、 アプリはこちらから利用・取得できます http://uedayou.net/sparql-examples/
  3. 3. 自己紹介 •株式会社ATR Creative •ソフトウェアエンジニア、スマートフォンアプリ開発を担 当 •特定非営利活動法人リンクト・オープン・データ・イ ニシアティブ •2014年8月より理事 •関西支部支部長補佐 •LODチャレンジJapan実行委員 •2014年度より
  4. 4. 逆マッシュアップとは? •既存のアプリ(プログラム)を再利用して、データを 入れ替えて新たなアプリを簡単に作成 •プログラム作成が大変 •既存データのAPIを利用 マッシュアップ データ API データ API プログラム の作成 マッシュアップ •プログラムは再利用 •新データをAPI化して挿入 逆マッシュアップ データ API データの作成 API化 プログラム 逆マッシュアップ 簡単! 「逆マッシュアップの提唱」より http://www.slideshare.net/tetsurotoyoda/ss-27381991
  5. 5. 逆マッシュアップするために •LinkData.org を利用する •理化学研究所が開発した、データとアプリの作成・公開 をひとつのサイトで行える「逆マッシュアップ支援ツー ル」 •自前のサーバが不要 •LinkData.org に登録されたデータとアプリが再利用可能 •SPARQLを利用する •SPARQLと呼ばれるクエリ言語で抽出したデータを、既存 アプリに当てはめて作成 •SPARQLで高度なデータ加工・変換が可能なため、汎用 性・自由度が高い •世界中のSPARQLエンドポイント(Web API)で公開される データも利用可能
  6. 6. SPARQLを利用した逆マッシュアップ •SPARQLだけで作成できるWebアプリがいくつか公開中 •地図、カレンダー、データ検索、ビジュアライズなど •利用できるSPARQLエンドポイント、データ量・種類が豊富 •Wikipedia:DBpedia、DBpediaJapanese、日本語Wikipediaオントロジー •行政データ:データシティ鯖江、次世代統計利用システム都道府県・市区町村コード情 報 •文化芸術データ:Europeana、ヨコハマ・アート・LOD、LODAC Museum •書誌・典拠データ:The British National Bibliography、Web NDL Authorities •地理データ:Linked Geo Data、LODAC Location •気象データ:気象庁XML用API ほか •作成データを手軽にSPARQLエンドポイントで公開できる サービスも •SparqlEPCU
  7. 7. 1.SPARQLの使い方
  8. 8. SPARQLとは? •SPARQL Protocol and RDF Query Language •RDF用のクエリ言語 •RDFストア(データベース)に設置されるSPARQLエン ドポイントからトリプルデータ検索・抽出が可能 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT * WHERE { ?urirdfs:label?label . } LIMIT 10 ?uri ?label http://ja.dbpedia.org/resource/岩手県 "岩手県" http://ja.dbpedia.org/resource/石川県 "石川県" http://ja.dbpedia.org/resource/愛媛県 "愛媛県" http://ja.dbpedia.org/resource/岡山県 "岡山県"
  9. 9. SPARQLでの検索方法 •RDFストアに設置されたSPARQL検索ページ •直接SPARQLエンドポイント(API)を直接利用 •例:http://ja.dbpedia.org/sparql?query={SPARQLクエリ} •JSONやXML、CSVなどで取得可能
  10. 10. 例:DBPediaJapaneseで東京都に 関するデータを検索 •http://ja.dbpedia.org/sparql を開いて「Run Query」 を押すと検索できます select distinct * where { <http://ja.dbpedia.org/resource/東京都> ?p ?o . } SPARQLクエリ 検索結果
  11. 11. 2.SPARQLの書き方
  12. 12. 変数とURI(IRI)とリテラル •変数 •「?」で始まる文字列 •該当する全てのデータが格納される •検索式内の同一変数は同じデータが入るという意味に •URI(IRI) •「<」「>」で挟まれた文字列 •指定したURIを同じURIを含むデータが検索される •リテラル •「”」で挟まれた文字列 •指定した文字列と同じ文字列を含むデータが検索され る •目的語以外は指定できない
  13. 13. http://ja.dbpedia.org/resource/東京都 東京都 http://ja.dbpedia.org/resource/山梨県 http://ja.dbpedia.org/ property/隣接都道府県 http://ja.dbpedia.org/resource/千葉県 http://ja.dbpedia.org/resource/埼玉県 山梨県 千葉県 埼玉県 http://ja.dbpedia.org/resource/神奈川県 神奈川県 http://ja.dbpedia.org/ property/隣接都道府県 http://ja.dbpedia.org/ property/隣接都道府県 http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label 東京都と隣接県 RDFグラフ
  14. 14. 主語 述語 目的語 <http://ja.dbpedia.org/resource/東京都> <http://www.w3.org/2000/01/rdf-schema#label> "東京都" <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/山梨県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/千葉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/埼玉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/神奈川県> <http://ja.dbpedia.org/resource/山梨県> <http://www.w3.org/2000/01/rdf-schema#label> “山梨県” <http://ja.dbpedia.org/resource/千葉県> <http://www.w3.org/2000/01/rdf-schema#label> “千葉県” <http://ja.dbpedia.org/resource/埼玉県> <http://www.w3.org/2000/01/rdf-schema#label> “埼玉県” <http://ja.dbpedia.org/resource/神奈川県> <http://www.w3.org/2000/01/rdf-schema#label> “神奈川県” データベース上では…
  15. 15. 主語 述語 目的語 <http://ja.dbpedia.org/resource/東京都> <http://www.w3.org/2000/01/rdf-schema#label> "東京都" <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/山梨県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/千葉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/埼玉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/神奈川県> <http://ja.dbpedia.org/resource/山梨県> <http://www.w3.org/2000/01/rdf-schema#label> “山梨県” <http://ja.dbpedia.org/resource/千葉県> <http://www.w3.org/2000/01/rdf-schema#label> “千葉県” <http://ja.dbpedia.org/resource/埼玉県> <http://www.w3.org/2000/01/rdf-schema#label> “埼玉県” <http://ja.dbpedia.org/resource/神奈川県> <http://www.w3.org/2000/01/rdf-schema#label> “神奈川県” URIとリテラル
  16. 16. 主語 述語 目的語 <http://ja.dbpedia.org/resource/東京都> <http://www.w3.org/2000/01/rdf-schema#label> "東京都" <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/山梨県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/千葉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/埼玉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/神奈川県> <http://ja.dbpedia.org/resource/山梨県> <http://www.w3.org/2000/01/rdf-schema#label> “山梨県” <http://ja.dbpedia.org/resource/千葉県> <http://www.w3.org/2000/01/rdf-schema#label> “千葉県” <http://ja.dbpedia.org/resource/埼玉県> <http://www.w3.org/2000/01/rdf-schema#label> “埼玉県” <http://ja.dbpedia.org/resource/神奈川県> <http://www.w3.org/2000/01/rdf-schema#label> “神奈川県” データベース上では…
  17. 17. http://ja.dbpedia.org/resource/東京都 東京都 http://ja.dbpedia.org/resource/山梨県 http://ja.dbpedia.org/resource/千葉県 http://ja.dbpedia.org/resource/埼玉県 山梨県 千葉県 埼玉県 http://ja.dbpedia.org/resource/神奈川県 神奈川県 http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label 東京都と隣接県 RDFグラフ http://ja.dbpedia.org/ property/隣接都道府県 http://ja.dbpedia.org/ property/隣接都道府県 http://ja.dbpedia.org/ property/隣接都道府県
  18. 18. (1) シンプルなSPARQLクエリ •全てのトリプルデータを検索 SELECT ?s ?p ?o WHERE { ?s ?p ?o. }
  19. 19. SELECT •SELECT の後ろに続く変数(?で始まる文字列)に格納さ れたデータを表形式で取得 •変数名は必ずWHERE文の中で指定したものを記述す ること •例では?s、?p、?o SELECT ?s ?p ?o WHERE { ?s ?p ?o. }
  20. 20. SELECT •アスタリスク「*」を指定すると、WHERE文の中の 全ての変数を指定したことと同じになる •?s、?p、?o が抽出される SELECT * WHERE { ?s ?p ?o . } SELECT ?s ?p ?o WHERE { ?s ?p ?o. } =
  21. 21. DISTINCT •「SELECT」と変数の間に「DISTINCT」を入れると指定 した全ての変数で重複したパターンがあった場合、 検索結果から除外される SELECT DISTINCT ?s ?p ?o WHERE { ?s ?p ?o. }
  22. 22. WHERE •WHERE { } 内に検索したいトリプルパターンを書く SELECT ?s ?p ?o WHERE { ?s ?p ?o . }
  23. 23. 基本構造 •トリプルデータを指定するために、3つの変数また はURI、リテラル(目的語のみ)を1セットで書く •1セットの終わりには必ずピリオド「.」をつける SELECT ?s ?p ?o WHERE { ?s ?p ?o. } 主語の 指定 述語の 指定 目的語 の指定 必ずピリオド で終わる
  24. 24. ?s ?p ?o <http://ja.dbpedia.org/resource/東京都> <http://www.w3.org/2000/01/rdf-schema#label> "東京都" <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/山梨県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/千葉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/埼玉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/神奈川県> <http://ja.dbpedia.org/resource/山梨県> <http://www.w3.org/2000/01/rdf-schema#label> “山梨県” <http://ja.dbpedia.org/resource/千葉県> <http://www.w3.org/2000/01/rdf-schema#label> “千葉県” <http://ja.dbpedia.org/resource/埼玉県> <http://www.w3.org/2000/01/rdf-schema#label> “埼玉県” <http://ja.dbpedia.org/resource/神奈川県> <http://www.w3.org/2000/01/rdf-schema#label> “神奈川県” 検索対象
  25. 25. http://uedayou.net/sparql-examples/test-endpoint/
  26. 26. (2) 述語が <http://www.w3.org/2000/01/rdf-schema#label> であるトリプルを取得 •<http://www.w3.org/2000/01/rdf-schema#label>はデータ のラベル(名前)を示す場合によく利用されています。 •省略形は「rdfs:label」 SELECT ?s ?o WHERE { ?s <http://www.w3.org/2000/01/rdf-schema#label> ?o . } 主語の 指定 述語の 指定 目的語 の指定
  27. 27. ?s ?p ?o <http://ja.dbpedia.org/resource/東京都> <http://www.w3.org/2000/01/rdf-schema#label> "東京都" <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/山梨県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/千葉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/埼玉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/神奈川県> <http://ja.dbpedia.org/resource/山梨県> <http://www.w3.org/2000/01/rdf-schema#label> “山梨県” <http://ja.dbpedia.org/resource/千葉県> <http://www.w3.org/2000/01/rdf-schema#label> “千葉県” <http://ja.dbpedia.org/resource/埼玉県> <http://www.w3.org/2000/01/rdf-schema#label> “埼玉県” <http://ja.dbpedia.org/resource/神奈川県> <http://www.w3.org/2000/01/rdf-schema#label> “神奈川県” 検索対象
  28. 28. http://uedayou.net/sparql-examples/test-endpoint/
  29. 29. select distinct * where { <http://ja.dbpedia.org/resource/東京都> ?p ?o . } (3) DBpediaのデフォルトのクエリ の意味 •主語に<http://ja.dbpedia.org/resource/東京都>が 指定されているトリプルの述語と目的語のデータ を全て検索 主語の 指定 述語の 指定 目的語 の指定
  30. 30. ?s ?p ?o <http://ja.dbpedia.org/resource/東京都> <http://www.w3.org/2000/01/rdf-schema#label> "東京都" <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/山梨県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/千葉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/埼玉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/神奈川県> <http://ja.dbpedia.org/resource/山梨県> <http://www.w3.org/2000/01/rdf-schema#label> “山梨県” <http://ja.dbpedia.org/resource/千葉県> <http://www.w3.org/2000/01/rdf-schema#label> “千葉県” <http://ja.dbpedia.org/resource/埼玉県> <http://www.w3.org/2000/01/rdf-schema#label> “埼玉県” <http://ja.dbpedia.org/resource/神奈川県> <http://www.w3.org/2000/01/rdf-schema#label> “神奈川県” 検索対象
  31. 31. http://uedayou.net/sparql-examples/test-endpoint/
  32. 32. (4) 東京都に隣接する県の名前 1.東京都のURIから隣接する都道府県を表す <http://ja.dbpedia.org/property/隣接都道府県> を述語として持つ目的語を検索する 2.さらに、検索された目的語を主語に指定して、そ のrdfs:labelを検索する •同じ変数(例えば?pref)を異なるトリプルパターン で記述すると、同じURIを持つもののみ検索される (AND検索) 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. }
  33. 33. 主語 述語 目的語 <http://ja.dbpedia.org/resource/東京都> <http://www.w3.org/2000/01/rdf-schema#label> "東京都" <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/山梨県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/千葉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/埼玉県> <http://ja.dbpedia.org/resource/東京都> <http://ja.dbpedia.org/property/隣接都道府県> <http://ja.dbpedia.org/resource/神奈川県> <http://ja.dbpedia.org/resource/山梨県> <http://www.w3.org/2000/01/rdf-schema#label> “山梨県” <http://ja.dbpedia.org/resource/千葉県> <http://www.w3.org/2000/01/rdf-schema#label> “千葉県” <http://ja.dbpedia.org/resource/埼玉県> <http://www.w3.org/2000/01/rdf-schema#label> “埼玉県” <http://ja.dbpedia.org/resource/神奈川県> <http://www.w3.org/2000/01/rdf-schema#label> “神奈川県” 検索対象 ?pref ?label 「?pref」と同じURIを 主語に持つトリプル を選択
  34. 34. http://uedayou.net/sparql-examples/test-endpoint/
  35. 35. PREFIXによるURIの省略表記 •URI記述はPREFIXを利用することで省略表記が可能 •クエリ先頭行に以下のような形式で追加 •PREFIX BINDNAME: <URI> •例:PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> •PREFIX を指定するとURIを省略表記に •<http://www.w3.org/2000/01/rdf-schema#label> •PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> •rdfs:label
  36. 36. 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/> 主語述語目的語 <http://ja.dbpedia.org/re source/東京都> <http://www.w3.org/200 0/01/rdf-schema#label> <http://ja.dbpedia.org/re source/東京都> <http://ja.dbpedia.org/pr operty/隣接都道府県> <http://ja.dbpedia.org/re source/山梨県> <http://ja.dbpedia.org/re source/東京都> <http://ja.dbpedia.org/pr operty/隣接都道府県> <http://ja.dbpedia.org/re source/千葉県> <http://ja.dbpedia.org/re source/東京都> <http://ja.dbpedia.org/pr operty/隣接都道府県> <http://ja.dbpedia.org/re source/埼玉県> <http://ja.dbpedia.org/re source/東京都> <http://ja.dbpedia.org/pr operty/隣接都道府県> <http://ja.dbpedia.org/re source/神奈川県> <http://ja.dbpedia.org/re source/山梨県> <http://www.w3.org/200 0/01/rdf-schema#label> <http://ja.dbpedia.org/re source/千葉県> <http://www.w3.org/200 0/01/rdf-schema#label> <http://ja.dbpedia.org/re source/埼玉県> <http://www.w3.org/200 0/01/rdf-schema#label> <http://ja.dbpedia.org/re source/神奈川県> <http://www.w3.org/200 0/01/rdf-schema#label> dbpedia-ja:東京都rdfs:label "東京都" dbpedia-ja:東京都prop-ja:隣接都道府県dbpedia-ja:山梨県 dbpedia-ja:東京都prop-ja:隣接都道府県dbpedia-ja:千葉県 dbpedia-ja:東京都prop-ja:隣接都道府県dbpedia-ja:埼玉県 dbpedia-ja:東京都prop-ja:隣接都道府県dbpedia-ja:神奈川県 dbpedia-ja:山梨県rdfs:label “山梨県” dbpedia-ja:千葉県rdfs:label “千葉県” dbpedia-ja:埼玉県rdfs:label “埼玉県” dbpedia-ja:神奈川県rdfs:label “神奈川県”
  37. 37. http://ja.dbpedia.org/resource/東京都 東京都 http://ja.dbpedia.org/resource/山梨県 http://ja.dbpedia.org/ property/隣接都道府県 http://ja.dbpedia.org/resource/千葉県 http://ja.dbpedia.org/resource/埼玉県 山梨県 千葉県 埼玉県 http://ja.dbpedia.org/resource/神奈川県 神奈川県 http://ja.dbpedia.org/ property/隣接都道府県 http://ja.dbpedia.org/ property/隣接都道府県 http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label http://www.w3.org/2000 /01/rdf-schema#label 東京都と隣接県 RDFグラフ dbpedia-ja:東京都 dbpedia-ja:山梨県 prop-ja:隣接都道府県 dbpedia-ja:千葉県dbpedia-ja:埼玉県 dbpedia-ja:神奈川県 prop-ja:隣接都道府県 prop-ja:隣接都道府県 rdfs:label rdfs:labelrdfs:labelrdfs:label
  38. 38. (5) 「東京都に隣接する県の名前」 のクエリを省略して書くと… 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. } 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. ?prefrdfs:label?label . }
  39. 39. http://uedayou.net/sparql-examples/test-endpoint/
  40. 40. (6) 同一主語の省略 •同じ主語から複数のプロパティを指定する場合、 目的語のあとのピリオド「.」をセミコロン「;」にするこ とで次のトリプルパターンの主語を省略できます SELECT DISTINCT ?pref?label WHERE { dbpedia-ja:東京都rdfs:label?label . dbpedia-ja:東京都prop-ja:隣接都道府県?pref. } SELECT DISTINCT ?pref?label WHERE { dbpedia-ja:東京都rdfs:label?label ; prop-ja:隣接都道府県?pref. } 省略を終了するトリプルパターン の最後は必ずピリオドにすること 主語を 省略 できる
  41. 41. http://uedayou.net/sparql-examples/test-endpoint/
  42. 42. よく使われそうな述語(プロパティ) 意味 プロパティ ラベル 名前 タイトル rdfs:label<http://www.w3.org/2000/01/rdf-schema#label> dc:title<http://purl.org/dc/elements/1.1/title> dcterms:title<http://purl.org/dc/terms/title> schema:name<http://schema.org/name> foaf:name<http://xmlns.com/foaf/0.1/name> 作者 著者 dc:creator <http://purl.org/dc/elements/1.1/creator> dcterms:creator <http://purl.org/dc/terms/creator> 作成日 dc:created <http://purl.org/dc/elements/1.1/created> dcterms:created <http://purl.org/dc/terms/created> 更新日 dc:modified <http://purl.org/dc/elements/1.1/modified> dcterms:modified <http://purl.org/dc/terms/modified> 開始 時間 schema:startDate<http://schema.org/startDate> cal:dtstart<http://www.w3.org/2002/12/cal/icaltzd#dtstart> 終了 時間 schema:endDate<http://schema.org/endDate> ical:dtend<http://www.w3.org/2002/12/cal/icaltzd#dtend>
  43. 43. 意味 プロパティ 緯度 geo:lat <http://www.w3.org/2003/01/geo/wgs84_pos#lat> 経度 geo:long <http://www.w3.org/2003/01/geo/wgs84_pos#long> 説明 内容 dc:description <http://purl.org/dc/elements/1.1/description> dcterms:description<<http://purl.org/dc/terms/description> schema:description<http://schema.org/description> データ タイプ rdf:type(※SPARQLでは「a」と省略できる) <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> Web ページ foaf:homepage<http://xmlns.com/foaf/0.1/homepage> schema:url<http://schema.org/url> メール アドレス vCard:email<http://www.w3.org/2006/vcard/ns#email> foaf:mbox<http://xmlns.com/foaf/0.1/mbox> 画像 schema:image<http://schema.org/image> foaf:Image<http://xmlns.com/foaf/0.1/Image> 住所 schema:address<http://schema.org/address> vCard:adr<http://www.w3.org/2006/vcard/ns#adr> 電話番 号 schema:telephone<http://schema.org/telephone> vCard:tel<http://www.w3.org/2006/vcard/ns#tel> foaf:phone<http://xmlns.com/foaf/0.1/phone>
  44. 44. LIMIT •検索結果の上限を設定 •WHERE{}の後ろに記述 •「LIMIT 10」で最大10件取得 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?uri?label WHERE { ?urirdfs:label?label . } LIMIT 10
  45. 45. OFFSET •検索結果の取得位置を指定 •WHERE{}の後ろに記述 •「OFFSET 100」は100番目から取得 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?uri?label WHERE { ?urirdfs:label?label . } LIMIT 10 OFFSET 100
  46. 46. ORDER BY / ORDER BY DESC •検索結果の並び順を指定 •WHERE{}の後ろに記述 •「ORDER BY ?created」で作成日昇順にソート •「ORDER BY DESC(?created)」なら作成日降順 •LIMIT、OFFSETがあれば、その前に挿入 PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?uri?created WHERE { ?uridc:created?created. } ORDER BY ?created LIMIT 10 OFFSET 100 PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?uri?created WHERE { ?uridc:created?created. } ORDER BY DESC(?created) LIMIT 10 OFFSET 100
  47. 47. OPTIONAL •OPTIONAL{ … } 内のグラフパターンはパターンに一 致しなくても、OPTIONAL外のパターンに一致すれ ば検索される •WHERE{ … } 内に記述 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?uri?label ?description WHERE { ?urirdfs:label?label . OPTIONAL { ?uridc:description?description. } }
  48. 48. FILTER •検索結果のフィルタリングが可能 •WHERE{ … } 内に記述 •dcterms:issuedが2000(年)以上のものを検索 PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> PREFIX dcterms: <http://purl.org/dc/terms/> SELECT DISTINCT ?uri?label ?issued WHERE { ?urirdfs:label?label ; dcterms:issued?issued . FILTER ( ?issued >= 2000) }
  49. 49. REGEX •正規表現による検索が可能 •FILTER と組み合わせて利用する •WHERE{ … } 内に記述 •書き方 •REGEX( 検索対象の変数, 正規表現) PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?uri?label WHERE { ?urirdfs:label?label . FILTER ( REGEX ( ?label, “^東京.*$” ) ) } ?labelを「東京」で前方一致検索
  50. 50. BIND / CONCAT •BIND:指定した変数・データを別の名前の変数に 割り当てが可能 •BIND( [割り当てるデータ]AS [変数] ) •CONCAT:変数や文字列同士の結合が可能、値は リテラルに •CONCAT( [変数or文字列] , [変数or文字列] , … ) PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT DISTINCT ?uri?label ?description ?text WHERE { ?urirdfs:label?label ; dc:description?description . BIND( CONCAT( “<h1>” , ?label ,“</h1><p>” , ?description,“</p>” ) AS?text ) } ?text は「<h1>[?labelのデータ]</h1><p>[?descriptionのデータ]</p>」になる
  51. 51. COUNT •変数のデータ総数を計算 SELECT COUNT(*)WHERE { ?s ?p ?o . } 全トリプル数を計算
  52. 52. GROUP BY / HAVING •GROUP BY:指定の変数でデータを集約(グループ 化)する •HAVING:グループ化されたデータの絞込み PREFIX dc: <http://purl.org/dc/elements/1.1/> SELECT ?creator ( COUNT( ?uri) AS ?count ) WHERE { ?uridc:creator?creator . } GROUP BY ?creator ORDER BY DESC(?count) HAVING( COUNT(?uri) >= 5 ) COUNT(?uri)の 結果が?countに ?creator(作者)で集約 異なる主語が5つ以上 ある作者のみ対象
  53. 53. FROM •トリプルデータには、その全体を現す名前(グラフ 名)が指定されています •FROMを使うとグラフ名ごとに検索が行えます <http://hoge.jp/defaultgraph> というグラフ名が ついているトリプルデータを対象とする PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT DISTINCT ?uri?label FROM <http://hoge.jp/graph/01> WHERE { ?urirdfs:label?label . }
  54. 54. http://hoge.jp/graph/02 http://hoge.jp/graph/01 グラフ名ごと に検索が可能主語述語目的語 dbpedia-ja:大阪府rdfs:label“大阪府" dbpedia-ja:大阪府prop-ja:隣接都道府県dbpedia-ja:兵庫県 dbpedia-ja:大阪府prop-ja:隣接都道府県dbpedia-ja:和歌山県 dbpedia-ja:大阪府prop-ja:隣接都道府県dbpedia-ja:京都府 dbpedia-ja:大阪府prop-ja:隣接都道府県dbpedia-ja:奈良県 dbpedia-ja:兵庫県rdfs:label“兵庫県” dbpedia-ja:和歌山県rdfs:label“和歌山県” dbpedia-ja:京都府rdfs:label“京都府” dbpedia-ja:奈良県rdfs:label“奈良県”
  55. 55. データ型のキャスト •str(?data) •データを文字列に変換 •URI(?data) •データをURIに変換 •xsd:integer(?data) •データを整数値型に変換 •xsd:float(?data) / xsd:double(?data) •データを浮動小数点型に変換 •xsd:dateTime(?data) •データをdateTime型に変換 ※PREFIX xsd:<http://www.w3.org/2001/XMLSchema#> があることが前提
  56. 56. 複数の人や物を含むフィールド を分割するメリット(1) •検索精度が向上 •「上田洋」で検索した場合 「上田洋@@@村上晴美@@@辰巳昭治」 「上田洋一」 •分割すると… 「上田洋」 「村上晴美」 「辰巳昭治」 「上田洋一」 別名が検索される恐れ 完全一致検索のため別名が検索されることはない
  57. 57. 複数の人や物を含むフィールド を分割するメリット(2) •URIが付与でき、他のデータとつなげられる ex:武田英明 武田英明 dbpedia-ja: 武田英明 ndl: 武田英明 kasm: 武田英明 Wikipedia Web NDL Authorities 自身の Webサイト •最低限のデータだけを管理して、そのほかのデータは外部に任せられ る(データの分散管理) Linked Open Data のメリット
  58. 58. 3.SPARQLクエリの例
  59. 59. DBpediaJapaneseより •エンドポイント:http://ja.dbpedia.org/sparql •鉄道駅の駅名と位置データ(緯度・経度)を取得 PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> select * where { ?link a dbpedia-owl:Station; rdfs:label?title; geo:lat?lat; geo:long?long. }
  60. 60. LODチャレンジJapan応募作品の SPARQLエンドポイント試行版より •エンドポイント:http://db.lodc.jp/sparql •応募作品のグラフURIとタイトル一覧を100件取得 •http://lodc.jp/ にいくつかクエリ例があります PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX dcterms: <http://purl.org/dc/terms/> SELECT ?id ?title FROM <http://lod.sfc.keio.ac.jp/challenge/entries> WHERE { ?s dcterms:title?title; rdfs:seeAlso?id. } LIMIT 100
  61. 61. 青空文庫LODより •エンドポイント:http://mdlab.slis.tsukuba.ac.jp/sparql •1600年以前に生まれた作者の作品 •http://mdlab.slis.tsukuba.ac.jp/lodc2012/aozoralod/aozoralod_search.html にクエリ例がいくつかあります PREFIX xsd:<http://www.w3.org/2001/XMLSchema#> PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX rdag2:<http://RDVocab.info/ElementsGr2/> PREFIX dcterms:<http://purl.org/dc/terms/> select distinct * from <http://purl.org/net/aozora/resources> where{ ?title_uridcterms:creator?creator_uri; dcterms:title[rdf:value?title]. ?creator_urirdag2:dateOfBirth ?date. filter(?date < "1800-12-31"^^xsd:date) }
  62. 62. 京都国際マンガミュージアム 書誌情報LODより •エンドポイント:http://mdlab.slis.tsukuba.ac.jp/sparql •マンガ著作とそのマンガ家を表示するSPARQL文 •http://mdlab.slis.tsukuba.ac.jp/lodc2012/kmm/example.htmlにクエリ例 がいくつかあります PREFIX rda:<http://rdvocab.info/Elements#> PREFIX rdaG2:<http://rdvocab.info/ElementsGr2#> PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX kmm:<http://mdlab.tsukuba.ac.jp/lodc2012/kmm/> PREFIX frbrer:<http://iflastandards.info/ns/fr/frbr/frbrer#> select distinct ?mangalabel?creator ?name from <http://purl.org/net/mdlab/kmm> where { ?manga rda:titleProper?mangalabel; rdf:typekmm:Wmanga; frbrer:isCreatedByPerson?creator. ?creator rdaG2:preferredNameForThePerson ?name. } ORDER BY ?manga
  63. 63. LODAC Museumより •エンドポイント:http://lod.ac/sparql •横浜美術館が所蔵している日本画の作品 •http://lod.ac/wiki/SPARQLスニペットにクエリ例がたくさんあります PREFIX dc: <http://purl.org/dc/terms/> PREFIX dc11: <http://purl.org/dc/elements/1.1/> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX lodac: <http://lod.ac/ns/lodac#> PREFIX lodacid: <http://lod.ac/id/> SELECT ?work ?title ?creator ?created ?genre ?material ?size WHERE { lodacid:3172 lodac:isProviderOf?work . ?work rdfs:label?title; dc:references?workRef. ?workReflodac:genre"日本画"@ja; dc11:creator ?creator; dc:medium?material; dc:extent?size . OPTIONAL{ ?workRefdc:created?created . } } LIMIT 100
  64. 64. WebNDL Authoritiesより •エンドポイント:http://id.ndl.go.jp/auth/ndla?query= •API:http://id.ndl.go.jp/auth/ndla •「夏目漱石」の典拠情報URI、名称実体URI、生年、 没年、標目、標目カナヨミを調べる PREFIX skos: <http://www.w3.org/2004/02/skos/core#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX rda: <http://RDVocab.info/ElementsGr2/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> PREFIX xl: <http://www.w3.org/2008/05/skos-xl#> PREFIX ndl: <http://ndl.go.jp/dcndl/terms/> SELECT * WHERE { ?uri1 foaf:primaryTopic?uri2. ?uri1 xl:prefLabel[ xl:literalForm?heading; ndl:transcription?yomi]. ?uri2 rda:dateOfBirth?birth. ?uri2 rda:dateOfDeath?death. ?uri2 foaf:name"夏目漱石". FILTER (lang(?yomi) = 'ja-Kana'). }
  65. 65. Europeanaより •エンドポイント:http://europeana.ontotext.com/sparql •Europeanaにコンテンツを提供する機関 •http://europeana.ontotext.com/sparql にたくさんクエ リ例があります PREFIX edm: <http://www.europeana.eu/schemas/edm/> SELECT DISTINCT ?DataProvider WHERE { ?Aggregation edm:dataProvider?DataProvider. }
  66. 66. The British National Bibliography より •エンドポイント:http://bnb.data.bl.uk/flint-sparql •API:http://bnb.data.bl.uk/sparql •ISBN「9780729408745」の本を検索 •http://bnb.data.bl.uk/flint-sparqlにいくつかクエリ 例があります PREFIX bibo: <http://purl.org/ontology/bibo/> PREFIX blt: <http://www.bl.uk/schemas/bibliographic/blterms#> PREFIX dct: <http://purl.org/dc/terms/> SELECT ?book ?bnb ?title WHERE { ?book bibo:isbn13 "9780729408745"; blt:bnb ?bnb; dct:title ?title. }
  67. 67. 4.SPARQLで 逆マッシュアップ
  68. 68. SPARQLで逆マッシュアップ •SPARQLクエリを書くだけでプログラミングなしに いろんなアプリが作れます。
  69. 69. SPARQLで逆マッシュアップ •地図アプリ •leaflet-simple-sparql •カレンダーアプリ •fullcalendar-sparql-js •地図とタイムラインビジュアライズアプリ •SPARQL Timeliner •書籍検索アプリ •booksearch-sparql-js •データビジュアライズツール •sgvizler
  70. 70. 地図アプリ •leaflet-simple-sparql •https://github.com/uedayou/leaflet-simple-sparql
  71. 71. 使い方:leaflet-simple-sparql •githubのページから「Download ZIP」ボタンを押して、 ソースコード一式をダウンロード •解凍して「config.js」にエンドポイントとクエリを記述する •Webサーバに置く var endpoint = "http://ja.dbpedia.org/sparql"; var query = (function () {/* PREFIX geo: <http://www.w3.org/2003/01/geo/wgs84_pos#> PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> select * where { ?link rdfs:label ?title; geo:lat ?lat; geo:long ?long. } limit 1000 */}).toString().match(/¥n([¥s¥S]*)¥n/)[1];
  72. 72. カレンダーアプリ •fullcalendar-sparql-js •https://github.com/uedayou/fullcalendar-sparql-js
  73. 73. 使い方:fullcalendar-sparql-js •githubのページから「Download ZIP」ボタンを押して、 ソースコード一式をダウンロード •解凍して「config.js」にエンドポイントとクエリを記述する •Webサーバに置く varendpoint = "http://archive.yafjp.org/test/inspection.php"; varquery = (function () {/* PREFIX dc: <http://purl.org/dc/elements/1.1/> PREFIX schema: <http://schema.org/> PREFIX event: <http://fp.yafjp.org/terms/event#> SELECT * WHERE{ ?uria event:Event; schema:name?title; schema:startDate?start; schema:endDate?end; dc:description?description. } */}).toString().match(/¥n([¥s¥S]*)¥n/)[1];
  74. 74. 地図とタイムラインの ビジュアライズアプリ •SPARQL Timeliner •http://uedayou.net/SPARQLTimeliner/
  75. 75. 使い方:SPARQL Timeliner エンドポイントのURLを入力 クエリを入力 •http://uedayou.net/SPARQLTimeliner を開いてエンドポイントURLとクエリを入力して 「Load>>」ボタンをクリック
  76. 76. 使い方:SPARQL Timeliner •以下のルールに従ってクエリを作成してください •詳しい使い方は以下の資料にまとめています •http://www.slideshare.net/uedayou/sparql-timeliner- 28905905
  77. 77. 書籍検索アプリ •booksearch-sparql-js •https://github.com/uedayou/booksearch-sparql-js
  78. 78. 使い方:booksearch-sparql-js •githubのページから「Download ZIP」ボタンを押して、 ソースコード一式をダウンロード •解凍して「config.js」にエンドポイントとクエリを記述する •?uriに書籍URI、?title に書籍タイトル、?description に詳細情 報が入るようにクエリを記述してください。 •{% QUERY %} が検索文字列に置き換えられます。 •Webサーバに置く // SPARQLエンドポイントURL varendpoint = "http://lodcu.cs.chubu.ac.jp/SparqlEPCU/api/kyotobook_list"; // SPARQLクエリ(検索用) varlist_query= (function () {/* select distinct ?uri?title ?description where { ?uri<http://linkdata.org/property/rdf1s1294i#title> ?title; <http://linkdata.org/property/rdf1s1294i#Summary> ?description. filter(regex(str(?title), '.*?{% QUERY %}.*?')) } */}).toString().match(/¥n([¥s¥S]*)¥n/)[1];
  79. 79. 使い方:booksearch-sparql-js •config.js のprop_labelsにURIとそのラベルを設定 しておくと、詳細表示の際にURIをラベルに置き換 わります。 varprop_labels= { "http://purl.org/dc/terms/title":"タイトル", "http://purl.org/dc/elements/1.1/creator":"著者", …
  80. 80. データビジュアライズツール •sgvizler •http://dev.data2000.no/sgvizler/ •※今回はバージョン0.5を使います
  81. 81. 使い方:sgvizler •以下のコードをHTMLファイルに貼り付けて保存してブラウザで開くだけ <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript" id="sgvzlr_script" src="http://sgvizler.googlecode.com/svn/release/0.5/sgvizler.js"></script> <script type="text/javascript"> <!--$(document).ready(sgvizler.go()); --> </script> <div id=“sgvizler-sample” data-sgvizler-endpoint ="http://lodcu.cs.chubu.ac.jp/SparqlEPCU/api/kyotobook_list" data-sgvizler-query=“ SELECT ?year (count(?uri) AS ?noOfUri) WHERE { ?uri<http://linkdata.org/property/rdf1s1294i#Year> ?year. }GROUP BY ?year ORDER BY DESC(?noOfUri) “ data-sgvizler-chart="gBarChart" data-sgvizler-loglevel="2" data-sgvizler-chart-options="title=Number of instances" style="width:2000px; height:2500px;"></div> •以下で雛形コードをダウンロードできます •http://uedayou.net/sparql-examples/sgvizer-example.html
  82. 82. 使い方:sgvizler <div id=“sgvizler-sample” data-sgvizler-endpoint ="http://lodcu.cs.chubu.ac.jp/SparqlEPCU/api/kyotobook_list" data-sgvizler-query=“ SELECT ?year (count(?uri) AS ?noOfUri) WHERE { ?uri<http://linkdata.org/property/rdf1s1294i#Year> ?year. }GROUP BY ?year ORDER BY DESC(?noOfUri) “ data-sgvizler-chart="gBarChart" data-sgvizler-loglevel="2" data-sgvizler-chart-options=“title=出版年別ランキング" style="width:800px; height:500px;"></div> クエリを記述 グラフの 種類を指定 エンドポイントを指定 グラフタイトル を記述 Idを指定
  83. 83. 例で利用するデータ •京都が出てくる本のデータ •京都岡崎にある図書館で働く司書の方々が中心のグ ループ「ししょまろはん」が作成・公開する京都が舞台 の小説やマンガ・ライトノベル等のデータ •http://libmaro.kyoto.jp/ •作品の舞台となった京都府内の位置データや司書さん のおすすめ度もデータ化される •データ:http://linkdata.org/work/rdf1s1294i •エンドポイント(非公式): http://lodcu.cs.chubu.ac.jp/SparqlEPCU/project.jsp?projectID=kyotobook_list •DBpedia •Wikipediaのデータ •エンドポイント:http://ja.dbpedia.org/sparql
  84. 84. 京都が出てくる本のデータ: 出版年ランキング http://uedayou.net/sparql-examples/sgvizler/kyoto-issued-ranking.html
  85. 85. 京都が出てくる本のデータ: 著者トップ10 http://uedayou.net/sparql-examples/sgvizler/kyoto-author-top10.html
  86. 86. 京都が出てくる本のデータ: おすすめ度ランキング http://uedayou.net/sparql-examples/sgvizler/kyoto-recommend-ranking.html
  87. 87. 京都が出てくる本のデータ: 出版社別ランキング http://uedayou.net/sparql-examples/sgvizler/kyoto-publisher-ranking.html
  88. 88. 京都が出てくる本のデータ: カテゴリ別ランキング http://uedayou.net/sparql-examples/sgvizler/kyoto-category-ranking.html
  89. 89. クエリの書き方 (棒グラフ、円グラフの場合) •「data-sgvizler-chart」には以下を指定 •円グラフ:「gPieChart」 •縦棒グラフ:「gColumnChart」 •横棒グラフ:「gBarChart」 •GROUP BY を使ってデータをグループ化する •COUNTで出現回数を計算 PREFIX dcterms: <http://purl.org/dc/terms/> SELECT ?year (COUNT(?uri) AS ?noOfUri) WHERE { ?uridcterms:issued?year. } GROUP BY ?year ORDER BY DESC(?noOfUri)
  90. 90. クエリの書き方 (棒グラフ、円グラフの場合) •実際のデータは…
  91. 91. DBpedia:隣接都道府県グラフ http://uedayou.net/sparql-examples/sgvizler/dbpedia-pref-neighbor.html
  92. 92. クエリの書き方 (無指向グラフの場合) PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema> SELECTDISTINCT ?alabel?blabelWHERE { ?s <http://ja.dbpedia.org/property/隣接都道府県> ?o. ?s rdfs:label?alabel. ?o rdfs:label?blabel. } •無指向グラフの場合 •「data-sgvizler-chart」には「gForceGraph」を指定 •SELECTで二つのラベルが入るようにクエリを記述
  93. 93. クエリの書き方 (無指向グラフの場合) •実際のデータは…
  94. 94. SPARQLについて •RDF用クエリ言語SPARQL •http://www.asahi-net.or.jp/~ax2s-kmtn/internet/rdf/rdf- sparql-query.html •SPARQL 1.1クエリ言語 •http://www.asahi-net.or.jp/~ax2s-kmtn/internet/rdf/REC- sparql11-query-20130321.html •LOD連続講義第5回「LODの作り方・使い方」 •http://www.slideshare.net/fuyukoitomatsumura/lod5lod •SPARQLを使い込む •http://www.slideshare.net/yayamamo/5linked- datayayamamo •SPARQLで集合論の実装| クリナ •http://clina.jp/blog/sparql-set-theory
  95. 95. SPARQLエンドポイント(1) •DBpedia •http://dbpedia.org/sparql •DBpediaJapanese •http://ja.dbpedia.org/sparql •日本語Wikipediaオントロジー •http://www.wikipediaontology.org/query/ •データシティ鯖江 •http://sparql.odp.jig.jp/sparql.html •次世代統計利用システム都道府県・市区町村コード情報 •http://statdb.nstac.go.jp/lod/sparql •Europeana •http://europeana.ontotext.com/sparql •ヨコハマ・アート・LOD •http://archive.yafjp.org/test/inspection.php •LODAC Museum •http://lod.ac/sparql •Web NDL Authorities •http://id.ndl.go.jp/auth/ndla?query=
  96. 96. SPARQLエンドポイント(2) •青空文庫LOD/京都国際マンガミュージアム 書誌情報LOD エンドポイント •http://mdlab.slis.tsukuba.ac.jp/sparql •青空文庫LOD •http://mdlab.slis.tsukuba.ac.jp/lodc2012/aozoralod/ •京都国際マンガミュージアム 書誌情報LOD •http://mdlab.slis.tsukuba.ac.jp/lodc2012/kmm/ •The British National Bibliography •http://bnb.data.bl.uk/flint-sparql •http://bnb.data.bl.uk/sparql •Linked Geo Data •http://linkedgeodata.org/sparql •気象庁防災情報XML •http://api.aitc.jp/ds/ •LODチャレンジJapan応募作品のエンドポイント試行版 •http://db.lodc.jp/sparql •SparqlEPCU •http://lodcu.cs.chubu.ac.jp/SparqlEPCU/ •SPARQLエンドポイント一覧(the Datahub) •http://datahub.io/ja/dataset?res_format=api%2Fsparql
  97. 97. SPARQLを利用するアプリ(1) •leaflet-simple-sparql •https://github.com/uedayou/leaflet-simple-sparql •fullcalendar-sparql-js •https://github.com/uedayou/fullcalendar-sparql-js •SPARQL Timeliner •http://uedayou.net/SPARQLTimeliner/ •お手軽LOD可視化ツールSPARQL Timeliner •http://www.slideshare.net/uedayou/linked-open- datasparql-timeliner •SPARQL Timeliner使い方 •http://www.slideshare.net/uedayou/sparql-timeliner- 28905905 •booksearch-sparql-js •https://github.com/uedayou/leaflet-simple-sparql
  98. 98. SPARQLを利用するアプリ(2) •sgvizler •http://dev.data2000.no/sgvizler/ •Sgvizler/0.5/DesigningQueries •http://dev.data2000.no/sgvizler/wiki/Sgvizler/0.5/DesigningQueries •sgvizler(LODI加藤さんの解説資料) •http://www.slideshare.net/fumihiro/sgvizler •Sgvizlerによる気象庁提供データの可視化 •http://www1.u-netsurf.ne.jp/~s- koba84/lod/jmaXmlSgvizler.html
  99. 99. その他 •LinkData •http://linkdata.org/ •逆マッシュアップの提唱 •http://www.slideshare.net/tetsurotoyoda/ss-27381991 •ししょまろはんラボ •http://libmaro.kyoto.jp/ •京都が出てくる本のデータ •http://linkdata.org/work/rdf1s1294i •京都が出てくる本のデータ非公式SPARQLエンドポイント •http://lodcu.cs.chubu.ac.jp/SparqlEPCU/project.jsp?projectID= kyotobook_list •http://lodcu.cs.chubu.ac.jp/SparqlEPCU/api/kyotobook_list (API)

×