linked open data(lod)の基本理念から考える, ハッカソンのヒント
TRANSCRIPT
Linked Open Data(LOD)の基本理念から考える, ハッカソンのヒント
LODチャレンジJapan実行委員会 関西支部長
大阪大学産業科学研究所 准教授
古崎晃司
2017/4/29 Space Apps Challenge OSAKA 1
NASA Space Apps Challenge OSAKAミニレクチャー(2017.4.29)
自己紹介
コミュニティ活動
研究成果として公開中のソフト
古崎(こざき)晃司@koujikozaki 本職: 大阪大学・准教授
専門: オントロジー工学(情報科学・人工知能)=“かしこい”コンピュータ(ソフトウェア)を作る→学問にとどまらず,世の中で使われる技術を作りたい
22017/4/29 Space Apps Challenge OSAKA
2011より毎年開催しているコンテスト
関西を中心としたLODの普及活動
発表概要
ねらい
LODの基本原理を知ることで,ハッカソンへの何らかの“ヒント”を提供.
発表内容
LODの基本原理
ヒントになる事例の紹介(LOD以外も含む)
ハッカソンに“オススメ”のLOD
2017/4/29 Space Apps Challenge OSAKA 3
時間の都合上,デモ,技術的詳細,“笑い”は,割愛させていただきますので,ご了承ください.
Linked Open Data (LOD)-Webの仕組みを用いた
オープンデータの公開-
=Linked Data + Open Data(オープンデータ)
=Linked Dataとして公開されたOpen Data※Linked Data:
Webの仕組みを用いて相互に“リンクされた”データ
42017/4/29 Space Apps Challenge OSAKA
オープンデータとは
オープンデータとは
誰でも自由に使える形で公開されているデータ
オープンデータに重要な2つの観点
ライセンス(cf.クリエイティブコモンズ) 使用目的を限定せず(例:商用も可),再配布,改変も可
「作成者のクレジットの表示」の義務付け程度の制限はOK
→“まじめな人”(※)が,安心して使える
(※悪いことをする人は,ライセンスを気にせず勝手に使う)
機械可読な形式 プログラムで処理しやすいフォーマットが望まれる
→“使いたい人”が,簡単に使える
52017/4/29 Space Apps Challenge OSAKA
5 ★ オープンデータ
http://5stardata.info/ より
オープンライセンス(形式問わず)
機械可読なフォーマット
オープンなフォーマット
62017/4/29 Space Apps Challenge OSAKA
Linked Data Linked Data:Web上のデータを,つなぐ(linkする)ことで,新しい価値
を生み出そうとする取り組み.Webの創始者Tim Berners-Lee氏が提唱
※ Linked Open Data(LOD):オープンな形で公開されたLinked Data
http://linkeddata.org/
Web上に公開された膨大なデータを統合した1つのデータベースとして利用できる.
2017/4/29 Space Apps Challenge OSAKA 7
Webの仕組み
URLを指定することで,Webページにアクセス
例)http://spaceappschallenge.space/「NASA Space Apps Challenge OSAKA」のページ
URLは,世界中“すべて”のWebページの場所(ID)を一意に特定できる仕組み
ハイパーリンクにより,Webページを“つなげる”
リンク先のURLを指定することで,好きなWebページと自由に“リンク”できる
リンクを辿って,様々な情報にたどり着ける
リンクを解析による様々なビジネス
例)Googleなどの検索エンジン
82017/4/29 Space Apps Challenge OSAKA
Webの仕組み→Linked Data
URLを指定することで,Webページにアクセス
例)http://spaceappschallenge.space/「NASA Space Apps Challenge OSAKA」のページ
URLは,世界中“すべて”のWebページの場所(ID)を一意に特定できる仕組み
ハイパーリンクにより,Webページを“つなげる”
リンク先のURLを指定することで,好きなWebページと自由に“リンク”できる
リンクを辿って,様々な情報にたどり着ける
リンクを解析による様々なビジネス
例)Googleなどの検索エンジン
92017/4/29 Space Apps Challenge OSAKA
データ
データ
Linked DataWebと同じ仕組みでデータを“公開”し,相互に“つなぐ”(リンクする)
IRI データ(モノ・コト)
データ(モノ・コト)
Linked Data (RDF)の例
大阪府
大阪市
都道府県 223㎢
2,687,287人面積
人口
吹田市
豊中市
…バラ科
市の木
隣接自治体
隣接自治体
…
http://ja.dbpedia.org/resource/大阪市 というIRIから得られる情報
サクラ
科
Cherry blossom英名
リソース:URIで表されるモノ・コト
プロパティ:
リソース間の関係を表す
リテラル:文字列
主語 述語 目的語
トリプル※RDF(Linked Dataのデータモデル)は,「トリプルの組み合わせ」で表される
(DBpedia Japaneseより)
目的語が他のリソースのとき,トリプルを辿って更なる情報が得られる
Space Apps Challenge OSAKA 2017/4/29 10
Linked Data (RDF)の例
http://ja.dbpedia.org/resource/大阪府
http://ja.dbpedia.org/resource/大阪市
http://ja.dbpedia.org/resource/都道府県 223㎢
2,687,287人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://ja.dbpedia.org/resource/市の木
http://ja.dbpedia.org/resource/隣接自治体
http://ja.dbpedia.org/resource/隣接自治体
…
http://ja.dbpedia.org/resource/大阪市 というURIから得られる情報
http://ja.dbpedia.org/resource/サクラ
http://ja.dbpedia.org/resource/科
Cherry blossomhttp://ja.dbpedia.org/resource/英名
(DBpedia Japaneseより)
※実際のリソースとプロパティは,すべてURIで表される.Space Apps Challenge OSAKA 2017/4/29 11
2017/4/29 Space Apps Challenge OSAKA 12
LODの技術的な本質は“データ間のリンク(つながり)”
データの“組み合わせ”により新たな価値が生まれる!
“組み合わせ”の可視化例
132017/4/29 Space Apps Challenge OSAKA
にたものみっけ
2017/4/29 Space Apps Challenge OSAKA 14
http://timuyatest.s601.xrea.com/geodata_visualize/index.xhtmhttp://lod.sfc.keio.ac.jp/challenge2014/show_status.php?id=v011
生物分布や環境データの関連性を,2つの地図を重ね合わせることで可視化
LODチャレンジ2014ビジュアライゼーション部門 最優秀賞
大阪市の警察署・交番と犯罪発生地点の重ね合わせ
2017/4/29 Space Apps Challenge OSAKA 15
LODチャレンジ2014ビジュアライゼーション部門 優秀賞
「警察署・交番から距離が遠いエリア」と犯罪発生地点を重ね合わせ
データの“組み合わせ”による分析の事例
162017/4/29 Space Apps Challenge OSAKA
エリアベンチマーキング:統計LODで似ている町を探してみよう
2017/4/29 Space Apps Challenge OSAKA 17
http://area-benchmarking.meta-dog.com/http://idea.linkdata.org/idea/idea1s2203i
政府統計データが提供される統計LODより取得した市町村区の特徴データを分析し,特徴の近い地域をデータから探すサービス.
LODチャレンジ2016Inspire the LOD賞
My City Forecast
2017/4/29 Space Apps Challenge OSAKA 18
https://mycityforecast.net/
現状の人口分布・施設配置データをもとにした簡単なシュミレーションにより,2015年~2040年に想定される居住地域の環境を可視化する.
2017/4/29 Space Apps Challenge OSAKA 19
機械学習,推定アルゴリズム…短時間で使うのは,ちょっと(かなり?)大変そう・・・
大丈夫!簡単な実装でも,アイデア次第で,
おもろい(役に立つ)“組み合わせ”があるはず!
「ソウルフード」を選択すると,あなたの身体を構成する成分=「地元率」が分かるサービス.
http://mij.hozo.jp/メイド・イン「地元」 LODチャレンジ2013
アイデア部門「最優秀賞」
2017/4/29 Space Apps Challenge OSAKA 20
選んだ料理の「材料」と「産地」のデータから,その料理に占める各食材の産地毎の比率(=地元率)を計算
ハッカソンに,“使えそう(?)”なLOD
212017/4/29 Space Apps Challenge OSAKA
既に公開・リンクされているLOD~LODクラウド~
2007/5/12007/10/82008/9/182009/7/14
2010/9/222011/9/19時点
Linking Open Data cloud diagram 2014, by Max Schmachtenberg, Christian Bizer, Anja Jentzschand Richard Cyganiak. http://lod-cloud.net/
1つの丸が個別に公開されたDBを表す.
2014/08/30時点
2017/4/29 Space Apps Challenge OSAKA 22
DBpedia
既に公開・リンクされているLOD~LODクラウド~
23
Domains # of dataset % Government 183 18.05
Publications 96 9.47
Life sciences 83 8.19
User-generated content 48 4.73
Cross-domain 41 4.04
Media 22 2.17
Geographic 21 2.07
Social web 520 51.28
Total 1014
2017/4/29 Space Apps Challenge OSAKA
LODクラウドの最新版
Linking Open Data cloud diagram 2017, by Andrejs Abele, John P. McCrae, Paul Buitelaar, AnjaJentzsch and Richard Cyganiak. http://lod-cloud.net/
2017-02-20時点
Space Apps Challenge OSAKA 2017/4/29 24
日本語で使えるLODの例
法人インフォ(経済産業省) eStat 統計LOD
国立国会図書館LOD
大阪市オープンデータポータル
DBpedia(WikipediaのLOD)Space Apps Challenge OSAKA
Wikidata
2017/4/29 25
2017/4/29 Space Apps Challenge OSAKA 26
ハッカソンでの利用に,いちばんの“おすすめ”は,
DBpedia と Wikidata
DBPedia
Wikipediaの各記事のインフォボックスの情報を抽出して自動生成されるLOD様々なデータをつなぐLODのハブ的な存在となっている.
http://dbpedia.org/
日本語版のDBPediaはhttp://jp.dbpedia.org/
2017/4/29 Space Apps Challenge OSAKA 27
インフォボックスの例
DBpediaのデータ例(大阪市)
2017/4/29 Space Apps Challenge OSAKA 28
すべてのWikipediaの記事がhttp://ja.dbpedia.org/resource/大阪市のようなURL(IRI)でデータ化されている
生データの取得
検索API
プログラムからのデータ取得も可能
Wikidata(http://wikidata.org/)
Space Apps Challenge OSAKA
• ウィキメディア財団が運営するWikipediaの「データ版」
• Wikipediaと同じようにデータをコミュニティで編集,公開できる
• Wikipediaの「多言語リソース」の相互リンクのために整備
• SPARQLエンドポイントや各種検索ツールなども提供
2017/4/29 29
DBpedia/Wikidataで出来ること:例①:汎用の知識源として利用
2017/4/29 Space Apps Challenge OSAKA 30
百科事典的な“知識”を提示するための情報源として利用
多言語にも対応可能!
医療分野での利用例http://lodc.med-ontology.jp/ 生物分野での利用例
http://biomimetics.hozo.jp/
多言語対応も可能!
DBpediaを利用したアプリ例
2017/4/29 Space Apps Challenge OSAKA 31
DBpediaの情報の“つながり”を辿ることで,バーチャルな宇宙旅行を!
※「第7回LODハッカソン関西 in IODD大阪(1日イベント)」の成果
http://museums-info.net/spacemachine/navi/
DBpedia/Wikidataで出来ること:例②:解析用の基礎データを取得
2017/4/29 Space Apps Challenge OSAKA 32
簡単なランキングデータの取得
例)都道府県毎の「〇〇」の数
政治家(出生地)...1位は東京
「??」 ...1位は大阪
簡単な場所情報の取得
位置情報データの一覧
例:大阪市内の位置情報http://lodosaka.jp/tool/wikidataMap/
(解説)Qiita:DBpediaを使った都道府県別ランキングhttp://qiita.com/koujikozaki/items/439fa7ce3e28b738fe10
LODの使い方
33
主な使い方
• URIを指定し,JSON/Turtleなど,好きな形式でデータを取得
• SPARQLクエリを利用
※具体的な使い方は,以下の資料を参照or 必要になったら聞きに来て下さい.
2017/4/29 Space Apps Challenge OSAKA
SPARQLによるRDFの検索
SPARQL RDFデータに対するクエリ言語
「指定したグラフ構造」に一致するトリプルを検索する
最も基本的な検索
select ?s ?p ?owhere {
?s ?p ?o . }LIMIT 100 ←取得する数の制限
←検索するグラフのパターン
←返す要素(*は全て)
この例では「任意のトリプルの組み合わせ」
このパターンを変えることで,欲しいデータを取得する
342017/4/29 Space Apps Challenge OSAKA
DBpedia JapaneseのSPARQLエンドポイント
35
サンプルクエリ集https://t.co/6eQIPel5Vh
http://ja.dbpedia.org/sparql
ここに,クエリを入れる※プログラムからのクエリ+結果取得も可能
2017/4/29 Space Apps Challenge OSAKA
DBpedia Japaneseの検索例
「各都道府県で生まれた政治家の数」を調べる
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>PREFIX category-ja: <http://ja.dbpedia.org/resource/Category:>
select distinct ?pref (count(?s) AS ?c) where {?pref rdf:type dbpedia-owl:Place.?pref dbpedia-owl:wikiPageWikiLink category-ja:日本の都道府県.?s rdf:type dbpedia-owl:Politician;
dbpedia-owl:birthPlace ?pref.}GROUP BY ?prefORDER BY ?c
36
(解説)Qiita:DBpediaを使った都道府県別ランキングhttp://qiita.com/koujikozaki/items/439fa7ce3e28b738fe10
2017/4/29 Space Apps Challenge OSAKA
DBpedia Japaneseの検索例
「各都道府県で生まれた芸人の数」を調べるPREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>PREFIX dbpedia-ja: <http://ja.dbpedia.org/resource/>PREFIX category-ja: <http://ja.dbpedia.org/resource/Category:>
select distinct ?pref (count(?s) AS ?c) where {?pref rdf:type dbpedia-owl:Place.?pref dbpedia-owl:wikiPageWikiLink category-ja:日本の都道府県.?s rdf:type dbpedia-owl:Comedian;
dbpedia-owl:birthPlace ?pref.}GROUP BY ?prefORDER BY ?c
ここを,Politician→Comedianに変えるだけ!
372017/4/29 Space Apps Challenge OSAKA
WikidataのSPARQLエンドポイト
Webフォーム用
https://query.wikidata.org/
プログラムアクセス用(GET) https://query.wikidata.org/sparql
サンプルクエリ集
https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/queries/examples
Space Apps Challenge OSAKA 2017/4/29 38
LOD利用の参考情報
2017/4/29 Space Apps Challenge OSAKA 39
SPARQLアプリのサンプル集http://uedayou.net/sparql-mashup/#app
LODを利用するための技術情報
http://wp.lodosaka.jp/tool/
まとめ
LODの基本原理は,“データをつなげる(リンクする)”こと
そのために,Webの仕組みを利用する
データを“つなげる”=“組み合わせる”ことで新しい価値を生み出しましょう!
このハッカソンで,LODを使ってみたい方は,お気軽にお声がけください.
技術メンターもやってます.2017/4/29 Space Apps Challenge OSAKA 40