linked dataの基本原則-lodを公開するときに知っておきたい基本技術-
TRANSCRIPT
Linked Data の基本原則-LOD を公開するときに知っておきたい基本技術 -
LOD チャレンジ実行委員会 関西支部長
/ 大阪大学 産業科学研究所古崎 晃司[email protected]
LOD Challenge Day KOBE 2015/09/12
自己紹介
コミュニティ活動 LOD チャレンジ実行委員会( 2011 ~) 関西支部長
→ LOD ( Linked Open Data )を技術普及させたい 「 LOD チャレンジ」(コンテスト)への応募作品を増やしたい
特に,地元「大阪(関西)」でのコミュニティを大きくしたい
05/03/2023 2
研究成果として公開中のソフト
LOD Challenge Day KOBE 2015
古崎(こざき)晃司 @koujikozaki
本職: 大阪大学の研究者 専門: 情報科学(オントロジー工学)
=“かしこい”コンピュータ(ソフトウェア)を作る →学問にとどまらず, 世の中で使われる技術を作りたい
LODチャレンジ 2015応募締切: 2016 年 1 月中旬頃http://lod.sfc.keio.ac.jp/http://lodc.jp/(新サイト)※ 自由課題型
アーバンデータチャレンジ 2015エントリー締切: 2015 年 12 月末頃?作品提出締切: 2016 年 1 月末頃?http://aigid.jp/?page_id=1175※ 課題解決型
重複応募可能
05/03/2023 LOD Challenge Day KOBE 2015 3
はじめに,質問
「 LOD ( Linked Open Data )」という言葉を聞いたことがある方?
LOD の公開( RDF データの公開)をしたことがある方?
SPARQL を書いたことがある方?
LOD を使ったアプリを作ったことがある方?05/03/2023 LOD Challenge Day KOBE 2015 4
大阪イノベーションハブ( OIH )大阪イノベーションハブ( OIH ) 大阪市のグローバルイノベーション 支援拠点
The Open Data Institute (ODI) オープンデータを推進する国際機関 (本部はイギリス)
05/03/2023 LOD Challenge Day KOBE 2015 5http://www.innovation-osaka.jp/ja/ http://theodi.org/
ODI の City Node(各地での推進拠点)へ
2014年度に OIHで開催されたオープンデータ関連イベントMozilla x HTML5 x LOD Webイノベーションハッカソン 第 1回: 6 月 28 日 , 29 日 第 2回: 7 月 19 日 第 3回: 9 月 14 日、 15日Civic Hack Osakaハッカソン : 8 月 24 日、 31 日第 1回自治体オープンデータ推進協議会 : 11 月 25 日、 31 日(一般社団法人オープンコーポレイツジャパン主催) 第 4回 Linked Open Data ハッカソン関西 with LODC2014×UDC2014 : 12月 7 日インターナショナルオープンデータディプレプレイベント : 12 月 21 日関西オープンデータ EXPO’15-インターナショナルオープンデータディプレイベント - : 2 月 11 日 関西 23団体以上が集結!第 5回 LODハッカソン関西 inインターナショナルオープンデータディ大阪: 2 月 21 日オープンデータ ×ゲームハッカソン : 2015 年 2 月 22 日 , 28 日、 3 月 1 日
05/03/2023 6
計 10 回,16日間のオープンデータ関連イベントを開催!うち, LOD を冠するイベント 5 回( 7 日間)
台風で延期台風で延期
台風で延期2 回!
LOD Challenge Day KOBE 2015
関西オープンデータ EXPO’15
05/03/2023 7
関西 23 団体以上が集結!(約 130 人)
http://expo15.theodi.jp/
LOD Challenge Day KOBE 2015
LOD ハッカソン関西
05/03/2023 LOD Challenge Day KOBE 2015 8
• 過去, 6 回開催• LOD の技術資料の公開にも注力
http://wp.lodosaka.jp
関西オープンデータディ ~検索したおしたんディ~
05/03/2023 LOD Challenge Day KOBE 2015 9
• 開催日: 2015/11/23 (月・祝)
• 会場:大阪イノベーションハブ• テーマ:データを検索したお
す!
人工知能 Vol.30 No.5( 2015 年 9月 )
特集:「 Linked Data とセマンティック技術」 特集「 Linked Data とセマンティック技術」にあたって
長野伸一・古崎晃司 Linked Data と Web アーキテクチャ -DBpedia Japanese を例に
-加藤文彦
Linked Data 活用を促進するプラットフォーム岡嶋成司・山根昇平・粂照宣
ストリーム推論 市瀬 龍太郎 Linked Data とセマンティック技術の海外動向
川村隆浩・森田武史・福田直樹 オープンデータ普及促進に向けた国内行政機関の取組み
浅野 優 オープンデータの普及促進を加速させるコンテストの開催
-LOD チャレンジ Japan の取組み - 乙守信行・中辻真・萩野達也 ※ Amazon でも購入可能・ Kindle 版も有り
05/03/2023 LOD Challenge Day KOBE 2015 10
講演の概要 本講演のメイントピック
オープンデータを LOD ( Linked Open Data )として公開する際に,知っておきたいLinked Data の基本技術
Linked Data の4原則
覚えていただきたいキーワード IRI ( URI )参照解決
05/03/2023 LOD Challenge Day KOBE 2015 11
オープンデータとは?
05/03/2023 12LOD Challenge Day KOBE 2015
オープンデータとは オープンデータとは
誰でも自由に使える形で公開されているデータ
オープンデータの定義( Open Definition ) “Open data and content can be freely used,
modified, and shared by anyone for any purpose”( http://opendefinition.org/)
オープンデータでない例 改変や再配布が禁止されている 利用者を限定 例)学術機関のみ,個人利用不可 利用目的を限定 例)商用利用不可,コンテスト応募目的のみ
05/03/2023 LOD Challenge Day KOBE 2015 13
オープンデータの2つの観点 ライセンス( cf.クリエイティブコモンズ)
使用目的を限定せず(例:商用も可),再配布,改変も可 「作成者のクレジットの表示」の義務付け程度の制限は OK
→“ まじめな人”(※)が,安心して使える =より多くの人の利用が見込まれる(※悪いことをする人は,ライセンスを気にせず勝手に使う)
機械可読な形式 プログラムで処理しやすいフォーマットが望まれる
→“ 使いたい人”が,簡単に使える =低コストで多くのアプリ(活用事例)が作れる
LOD(Linked Open Data) は,「オープンデータの5つの段階」で「5つ星」と言われている公開方法
05/03/2023 LOD Challenge Day KOBE 2015 14
Linked Open Data (LOD)
05/03/2023 15LOD Challenge Day KOBE 2015
Linked Data Linked Data : Web上のデータを,つなぐ( link する)
ことで,新しい価値を生み出そうとする取り組み. Web の創始者 Tim Berners-Lee氏が提唱
http://linkeddata.org/
1605/03/2023 LOD Challenge Day KOBE 2015
Linked Data が目指すこと WWW(World Wide Web)
文書を公開し,相互に接続(ハイパーリンクでつなぐ)ための革命的な仕組みを提供したことで,今日の Web の発展につながった.
Linked Data データを共有(公開)し,相互につなぐ仕組
みを提供する. Linked Data の原理
データの構造化 構造化されたデータはより洗練された処理を可能にする
分散したデータをつなぐハイパーリンク 文書単位では無く,データ単位のリンクを可能にする.
データの島々から一つのグローバルデータ空間へ 分散されたデータ群を1つのグローバルなデータ空間へ統合する
参考:『 Linked Data-Web をグローバルなデータ空間にする仕組み( Tom Heath, Christian Bizer (武田英明監訳),丸善,2013 )』 1章.
1705/03/2023 LOD Challenge Day KOBE 2015
既に公開・リンクされている LOD~ LOD クラウド~
2007/5/12007/10/82008/9/182009/7/14
2010/9/222011/9/19時点
1805/03/2023
Linking Open Data cloud diagram 2014, by Max Schmachtenberg, Christian Bizer, Anja Jentzsch and Richard Cyganiak. http://lod-cloud.net/
1つの丸が個別に公開された DB を表す.
2014/08/30時点
公開したオープンデータが他のオープンデータと「つながる」ことで「新たな価値」が生まれる
DBpedia
LOD Challenge Day KOBE 2015
既に公開・リンクされている LOD~ LOD クラウド~
Linking Open Data cloud diagram 2014, by Max Schmachtenberg, Christian Bizer, Anja Jentzsch and Richard Cyganiak. http://lod-cloud.net/
2014/08/30
1905/03/2023 LOD Challenge Day KOBE 2015
既に公開・リンクされている LOD~ LOD クラウド~
05/03/2023 20
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
LOD Challenge Day KOBE 2015
5 ★ オープンデータ★ ( どんな形式でも良いので ) あなたのデータをオープンライセンスでWeb上に公 開しましょう★★ データを構造化データとして公開しましょう★★★ 非独占の形式を使いましょう★★★★ 物事を示すのに URI を使いましょう,そうすることで他の人々があなたのデータ にリンクすることができます★★★★★ あなたのデータのコンテキストを提供するために他のデータへリンクしましょう
http://5stardata.info/ja/ より引用
ライセンスについて
フォーマットについて
Web の発明者であり Linked Data の創始者でもあるティム・バーナーズ=リーがオープンデータのために提案したスキーム※ 注:図中の PDF ,エクセル, CSV のアイコンは, あくまでも例示であって,そのフォーマットを推奨 している訳ではない.
2105/03/2023
LOD
LOD Challenge Day KOBE 2015
Linked Data の基本原則1. Use URIs as names for things全てのモノやコトに URI をつけましょう
2. Use HTTP URIs so that people can lookup those names.それらの URI を http ( Web ブラウザと同じ方法)で参照(アクセス)できるようにしましょう
3. When someone looks up a URI, provide useful information, using the standards (RDF, SPARQL)その URI を参照したら,標準の技術( RDF や SPARQL )を使用して,役に立つ情報を提供するように
4. Include links to other URIs. so that they can discover more things.多くのモノ・コトを発見できるように,外部へのリンクを含めよう.
原文引用元 http://www.w3.org/DesignIssues/LinkedData.html日本語訳参考 http://www.slideshare.net/takeda/lod-5163454
5★ オープンデータで言及
5★ オープンデータで言及
2205/03/2023 LOD Challenge Day KOBE 2015
Linked Data の背景となるWeb アーキテクチャ Http IRI ( URI )による情報リソースの識別
( IRI は URI の国際化版.以後,この発表では URI とIRI が同じものとして聞いて下さい.)
Web上のすべての情報リソース(HTML文書,画像ファイル,…など)を, IRI によりグローバルに識別する.
Http IRI でサーバにアクセスすると, HTML 文書や画像ファイルが返ってくる<参照解決>
同じ IRI に対し複数の表現( PNG ファイルと GIF ファイルなど)がある場合, Content Negotiation (内容折衝)という仕組みで,必要なファイルを返す
例)日本語環境からアクセスされたときは,日本語ページを返す
HTML ファイル内のハイパーリンク 他の IRI を指定することでリンク可能に!05/03/2023 LOD Challenge Day KOBE 2015 23
IRI による識別・ Http IRI の利用 原則1: IRI による識別
情報リソース以外のすべての事物(モノやコト)にも IRI を与える
例) http://ja.dbpedia.org/resource/大阪市 →大阪市という事物自身を指している
原則2: Http IRI の利用 ISBN の URNなど他の IRI を使わない Web標準技術である Http IRI を使う
05/03/2023 LOD Challenge Day KOBE 2015 24
IRI による識別・外部へのリンク 原則3: IRI の参照解決
例: DBpedia Japanese における大阪市 事物(非情報リソース)
http://ja.dbpedia.org/resource/ 大阪市 HTML表現(情報リソース)
http://ja.dbpedia.org/page/ 大阪市 Turtle表現(情報リソース)
http://ja.dbpedia.org/data/ 大阪市 .ttl RDF/XML表現(情報リソース)
http://ja.dbpedia.org/data/ 大阪市 .rdf 原則4:外部へのリンク
外部の IRI とリンクすることで, Webページのようにデータが「つながる」.
05/03/2023 LOD Challenge Day KOBE 2015 25
Linked Data (RDF) の例
大阪府
大阪市
都道府県 223㎢2,687,287 人
面積
人口
吹田市
豊中市
…バラ科
市の木
隣接自治体
隣接自治体
…
http://ja.dbpedia.org/resource/大阪市 という URI から得られる情報
サクラ
科
Cherry blossom英名
リソース:URI で表されるモノ・コト
プロパティ:リソース間の関係を表す
リテラル:文字列
主語 述語 目的語
トリプル※RDF ( Linked Data の
データモデル)は,「トリプルの組み合わせ」で表される
( DBpedia Japaneseより)
目的語が他のリソースのとき,トリプルを辿って更なる情報が得られる
※ 実際のリソースとプロパティは,すべて URI で表される.2605/03/2023 LOD Challenge Day KOBE 2015
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 で表される.2705/03/2023 LOD Challenge Day KOBE 2015
データを「つなげる」仕組み
「3つ組(トリプル)」により様々な構造のデータの “つながりを柔軟に表現”できる
Webサイトのリンクを辿るのと同様に,プロパティ(リンク)を辿ることで関連するデータの情報を辿ることが出来る.
RDF のプロパティは,“関係の意味”を定義できる. cf. Web のハイパーリンクは単に“つながり”を表すのみ
データ(リソース)を URI で表すことで,“外部のデータとつなげる”ことができる.
URI は,グローバルに一意の ID を表す. Webサイトの URL と同じ仕組み. cf.単なる数字を ID とすると,異なる DB が同じ ID を使っている可能性
がある
Linked Data = 外部のデータとつながったデータ ≠ RDF フォーマットのデータ
2805/03/2023 LOD Challenge Day KOBE 2015
Linked Data の基本原則1. Use URIs as names for things全てのモノやコトに URI をつけましょう
2. Use HTTP URIs so that people can lookup those names.それらの URI を http ( Web ブラウザと同じ方法)で参照(アクセス)できるようにしましょう
3. When someone looks up a URI, provide useful information, using the standards (RDF, SPARQL)その URI を参照したら,標準の技術( RDF や SPARQL )を使用して,役に立つ情報を提供するように
4. Include links to other URIs. so that they can discover more things.多くのモノ・コトを発見できるように,外部へのリンクを含めよう.
原文引用元 http://www.w3.org/DesignIssues/LinkedData.html日本語訳参考 http://www.slideshare.net/takeda/lod-5163454 2905/03/2023 LOD Challenge Day KOBE 2015
LOD の公開方法 参照解決可能な http URIs を用いた公開(原則2,3)
URI でデータにアクセスが可能 通常の Webページと同様に,データの URI を用いて「つなが
り」を辿ることが出来る=システムによる処理(リンク解析等)が可能
コンテントネゴシエーションに対応している場合, Web ブラウザからのアクセス→ HTML ファイルを返す Linked Data ブラウザからのアクセス→ RDF を返す .html , .rdf , .ttlなど拡張子に合わせた形式のファイルを返
す
などの要求に応じたデータ形式で返す → Linked Data ブラウザなど汎用のアプリの開発が可能に!
その他の LOD 公開方法 RDF ファイルのダンプ(全データ)をダウンロードできるところ
に置く SPARQLエンドポイント( LOD を検索可能な API )を公開する
→これだけでは Linked Data の基本原則を満たしていない!
05/03/2023 30LOD Challenge Day KOBE 2015
参照解決可能な LOD の例 日本語 LOD の例
DBpedia Japanese http://ja.dbpedia.org/ 日本語Wikipedia オントロジー
http://www.wikipediaontology.org/ Web NDL Authorities
http://id.ndl.go.jp/auth/ndla/ ねじ LOD http://monodzukurilod.org/neji/
Linked Data ブラウザ Quick and Dirty RDF browser
※日本語 IRI は文字化けするhttp://graphite.ecs.soton.ac.uk/browser/
(Yet Another) Linked Data Browserhttp://www.kanzaki.com/works/2014/pub/ld-browser
3105/03/2023 LOD Challenge Day KOBE 2015
DBPediaWikipedia の各記事のインフォボックスの情報を抽出して自動生成される LOD様々なデータをつなぐ LOD のハブ的な存在となっている.
http://dbpedia.org/
日本語版の DBPedia はhttp://jp.dbpedia.org/ インフォボックスの例
3205/03/2023 LOD Challenge Day KOBE 2015
データの例(大阪府)
05/03/2023 LOD Challenge Day KOBE 2015 33
すべての Wikipedia の記事がhttp://ja.dbpedia.org/resource/ 大阪府のような URI でデータ化されている
DBpedia Japanese
05/03/2023 LOD Challenge Day KOBE 2015 34
http://jp.dbpedia.org/SPARQL Endpoint※ ここから,検索可能
SPARQL による RDF の検索 SPARQL
RDF データに対するクエリ言語 「指定したグラフ構造」に一致するトリプルを検索する
最も基本的な検索
select ?s ?p ?owhere { ?s ?p ?o . }LIMIT 100 ←取得する数の制限
←検索するグラフのパターン
←返す要素( * は全て)
この例では「任意のトリプルの組み合わせ」
このパターンを変えることで,欲しいデータを取得する
3505/03/2023 LOD Challenge Day KOBE 2015
SPARQL Endpoint の例
05/03/2023 LOD Challenge Day KOBE 2015 36
サンプルクエリ集https://t.co/6eQIPel5Vh
http://ja.dbpedia.org/sparql
ここに,クエリを入れる※ プログラムからのクエリ +結果取得も可能
DBpedia Japanese の検索例 「各都道府県で生まれた政治家の数」を調べる
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX dcterms: <http://purl.org/dc/terms/>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 dcterms:subject category-ja: 日本の都道府県 . ?s rdf:type dbpedia-owl:Politician; dbpedia-owl:birthPlace ?pref.}GROUP BY ?prefORDER BY ?c
05/03/2023 LOD Challenge Day KOBE 2015 37
DBpedia Japanese の検索例 「各都道府県で生まれた芸人の数」を調べるPREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>PREFIX dbpedia-owl: <http://dbpedia.org/ontology/>PREFIX dcterms: <http://purl.org/dc/terms/>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 dcterms:subject category-ja: 日本の都道府県 . ?s rdf:type dbpedia-owl:Comedian; dbpedia-owl:birthPlace ?pref.}GROUP BY ?prefORDER BY ?c
05/03/2023 LOD Challenge Day KOBE 2015 38
ここを,Politician→Comedianに変えるだけ!
SPARQL 検索が可能な日本語LOD
05/03/2023 39
http://wp.lodosaka.jp/tool/searchdata/
LOD ハッカソン関西の Webサイトで(関西で開催している LOD のイベント)• SPARQL 検索が可能な日本語 LOD• SPARQL の使い方の解説を掲載していますので,詳しく知りたい方はこちらをご覧下さい.その他にも,• LOD の作成・公開の方法• LOD の活用事例などの情報も掲載しています.
LOD Challenge Day KOBE 2015
RDF のシリアル化形式 RDF のシリアル化( serialize )
RDF は,リソースを主語,目的語,述語の形式で記述するデータモデルであって,データ形式ではない.
RDF の形式に沿ってトリプルを特定の文法に従ってファイルに書き出す(シリアル化する)必要がある.
代表的なシリアル化形式 RDF/XML :計算機向け RDFa : HTML に RDF を埋め込む Turtle :プレーンテキストで人間向けに読みやすい N-Triples : 1 行単位で処理できるので処理しやすい RDF/JSON : Web 開発向け JSON-LD : Linked Data 用の JSON ( Web 開発向け)
05/03/2023 LOD Challenge Day KOBE 2015 40
Turtle ・ N-Triples の表現例
Turtle@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>@prefix foaf: <http://xmlns.com/foaf/0.1/><http://www.ei.sanken.osaka-u.ac.jp/~kozaki/> rdf:type foaf:Person ; foaf:name “Kouji Kozaki” . N-Triples<http://www.ei.sanken.osaka-u.ac.jp/~kozaki/> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>.<http://www.ei.sanken.osaka-u.ac.jp/~kozaki/> <http://xmlns.com/foaf/0.1/name> “Kouji Kozaki”.
05/03/2023 LOD Challenge Day KOBE 2015 41
http://www.ei.sanken.osaka-u.ac.jp/~kozaki/ foaf:Personrdf:type
foaf:name Kouji Kozaki
1 行
1 行
ヘッダ
まとめ :Linked Dataの基本原則• Linked Data は, Web 上で公開されたオープンデータを「つなぐ」仕組みです. ・ http IRIによる識別 / 参照解決 ・外部データとのリンク•いろんなデータをつなぐことで, 「おもろい」組み合わせが見つかるかも!?•オープンデータを Linked Open Data(LOD) として公開するための方法は,午後のハンズオンで.05/03/2023 LOD Challenge Day KOBE 2015 42