Upload
kouji-kozaki
View
2.626
Download
0
Embed Size (px)
Citation preview
自己紹介 古崎 晃司(こざき こうじ)
所属:大阪大学産業科学研究所
知識システム研究分野 准教授
専門分野 オントロジー工学
LODとのつながり LODチャレンジ2011から実行委員として参加
実行委員参加のモチベーション オントロジーはLODで用いる「語彙」の意味を定義する技術として“も”用いられる
LODをさらに高度化する技術としてオントロジー工学を活用したい
実施中のLOD関連プロジェクト オントロジー構築環境「法造」のLOD対応
臨床医学オントロジーのLOD化
バイオミメティクデータベースの開発にLOD技術を利用
2014/8/23 2
講演概要
ねらい
データをLODとして公開する方法を学ぶ
使用するツールは,LinkData.org
講演概要
LOD技術の概要
LinkData.orgを利用したLOD公開方法のチュートリアル+ハンズオン
2014/8/23 3
LOD技術の概要
LODの技術的背景
従来のWebからLinked Dataへの流れ
LODの基本的技術
RDF(Resource Description Framework)
SPARQL
2014/8/23 4
参考文献:『Linked Data-Webをグローバルなデータ空間にする仕組み(Tom Heath, Christian Bizer(武田英明監訳),丸善,2013)』
Linked Open Data(LOD) Linked Data:Web上のデータを,つなぐ(linkする)ことで,新しい価値
を生み出そうとする取り組み.Webの創始者Tim Berners-Lee氏が提唱
※ Linked Open Data(LOD):オープンな形で公開されたLinked Data
2014/8/23
http://linkeddata.org/
• 誰もが同じ方法で,「データをつなぐことができる仕組み」を提供している.• 技術的には,
-データ公開の共通フォーマット(URIによる名前付け,RDFによるグラフ表現-コンピュータが,データにアクセスする共通の仕組みが提供されている.
→Web上に公開された膨大なデータを統合した1つのデータベースとして利用できる.
5
Linked Dataの技術的背景~Semantic Webの概要~
Semantic Webとは 従来の「人が読む(理解する)ためのWeb」から,
「コンピュータが理解(意味処理)可能なWeb」へ 技術的には,
Web上のドキュメントにコンピュータによる意味処理に用いる「メタデータ」を付与する(タグを付ける)」
その際に用いるフォーマットが「RDF」 メタデータに用いる語彙を定義するのが「オントロジー」(RDFSやOWLで書かれる)
RDFで書かれたメタデータを検索するためのクエリー言語が「SPARQL」
...
Semantic Webの学術的流れ The Semantic Web:Tim Berners-Lee, James Hendler and
Ora Lassila,Scientific American, May 17, 2001. Semantic Web Conference
Semantic Web分野のトップカンファレンス 2002~ 毎年開催
2014/8/23 6
Layer Cake
Semantic Webに必要な要素技術を階層状に表したもの
2014/8/23
http://www.w3.org/2001/09/06-ecdl/slide17-0.html http://www.dajobe.org/talks/200905-redland/
7
Semantic Webの研究動向の変遷
研究動向(流行トピック)の変遷 語彙(オントロジー)に基づいたメタデータによる意味処理の実現
誰がメタデータを?→Web2.0的共同構築
データ(インスタンス)のLinkの重視:Linked Data
2014/8/23
リッチな意味記述
スケーラビリティ(大量データ)
Semantic Web (の理想)
すぐに使えるタグを(RSS,FOAF)
SNS利用・Web2.0
DBPedia× Linked Data
2004-2006
2007
2008-
8
TED Talk by Tim Berrners Lee (1) 2009/2
~Raw Data Now!~
2014/8/23
http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html
データを抱え込むのでは無く,誰もが使えるように(オープンに)することを呼びかける=Raw Data Now!(生データをすぐに!)
9
TED Talk by Tim Berrners Lee (1) 2010/2
~LODの活用事例~
2014/8/23
http://www.ted.com/talks/tim_berners_lee_the_year_open_data_went_worldwide.html
オープンデータの活用事例を紹介・白人/黒人の住む家と水道管の整備状況の相関を見える化→裁判で勝利へ
・Where does my money go?(税金はどこへ行った?)
(英国) http://wheredoesmymoneygo.org/(横浜市) http://spending.jp/
10
Linked Dataが目指すこと
WWW(World Wide Web) 文書を公開し,相互に接続(ハイパーリンクでつなぐ)ための革命的な仕組みを提供したことで,今日のWebの発展につながった.
Linked Data データを共有(公開)し,相互につなぐ仕組みを提供する.
Linked Dataの原理
データの構造化 構造化されたデータはより洗練された処理を可能にする
分散したデータをつなぐハイパーリンク 文書単位では無く,データ単位のリンクを可能にする.
データの島々から一つのグローバルデータ空間へ 分散されたデータ群を1つのグローバルなデータ空間へ統合する
参考:『Linked Data-Webをグローバルなデータ空間にする仕組み(Tom Heath, Christian Bizer(武田英明監訳),丸善,2013)』 1章.はじめに
2014/8/23 11
既に公開・リンクされているLOD~LODクラウド~
2014/8/23
2007/5/12007/10/8
2008/9/182009/7/142010/9/22http://lod-cloud.net/
2011/9/19時点
1つの丸が個別に公開されたDBを表す.
参考:「Linked Data-Webをグローバルなデータ空間にする仕組み」 3章.データのWeb
マスメディア
地理情報
図書館・教育
ユーザ作成データ
政府情報クロス・ドメイン
ライフサイエンス
DBPedia
open.govopen.gov.uk
12
DBPedia
2014/8/23
Wikipediaの各記事のインフォボックスの情報を抽出して自動生成されるLOD様々なデータをつなぐLODのハブ的な存在となっている.
http://dbpedia.org/
日本語版のDBPediaはhttp://jp.dbpedia.org/
インフォボックスの例
13
LOD技術の概要
RDF(Resource Description Framework) データの記述に用いるモデル
RDFのデータモデル
RDFの表現形式(シリアル化形式)
SPARQL RDFへのクエリ(検索)言語
2014/8/23 14
RDF(Resource Description Framework)
Web上の情報(リソースと呼ぶ)を記述するための統一的枠組み
RDFのデータモデル 主語(subject),述語(predicate),目的語(object)の3つ組み(トリプル)の組み
合わせで,リソースに関する情報を表現する.
計算機表現上はXML形式をはじめ,いくつかの表現が用意されている.
リソースはURI(Uniform Resource Identifier:Web上の情報資源(リソース)の場所を示すための記述方式.URLはURIの一種)を用いて表される.
→ 近は,IRI(Internationalized Resource Identifier):国際化リソース識別子へ.
2014/8/23 15
知識工学論
古崎担当教員
主語 述語 目的語
所属知識システム研究分野
述語 目的語主語
來村担当教員 所属授業コード
280598
RDF(Resource Description Framework)
Web上の情報(リソースと呼ぶ)を記述するための統一的枠組み
RDFのデータモデル 主語(subject),述語(predicate),目的語(object)の3つ組み(トリプル)の組み
合わせで,リソースに関する情報を表現する.
計算機表現上はXML形式をはじめ,いくつかの表現が用意されている.
リソースはURI(Uniform Resource Identifier:Web上の情報資源(リソース)の場所を示すための記述方式.URLはURIの一種)を用いて表される.
→ 近は,IRI(Internationalized Resource Identifier):国際化リソース識別子へ.
目的語には「リテラル」(文字列)を用いることができる.
2014/8/23 16
https://koan.osaka-u.ac.jp/koan/lecture#280598
http://www.ei.sanken.osaka-u.ac.jp/~kozaki/
担当教員
主語 述語 目的語
所属http://www.ei.sanken.
osaka-u.ac.jp/main
述語 目的語主語
http://www.ei.sanken.osaka-u.ac.jp/~kita/
担当教員 所属授業コード
280598
リソース
リテラルプロパティ
:リソース間の関係
RDF(Resource Description Framework)
2014/8/23 17
koan:lecture#280598 ei:kozaki/担当教員
主語 述語 目的語
所属ei:main
述語 目的語主語
ei:kita/担当教員 所属授業コード
280598ネームスペース(namespace)を用いると…koan:=https://koan.osaka-u.ac.jp/koan/ei:=http://www.ei.sanken.osaka-u.ac.jp/
Web上の情報(リソースと呼ぶ)を記述するための統一的枠組み
RDFのデータモデル 主語(subject),述語(predicate),目的語(object)の3つ組み(トリプル)の組み
合わせで,リソースに関する情報を表現する.
計算機表現上はXML形式をはじめ,いくつかの表現が用意されている.
リソースはURI(Uniform Resource Identifier:Web上の情報資源(リソース)の場所を示すための記述方式.URLはURIの一種)を用いて表される.
→ 近は,IRI(Internationalized Resource Identifier):国際化リソース識別子へ.
目的語には「リテラル」(文字列)を用いることができる.
RDFのシリアル化形式
RDFのシリアル化(serialize) RDFは,リソースを主語,目的語,述語の形式で記述するデータモデルであって,データ形式ではない.
RDFの形式に沿ってトリプルを特定の文法に従ってファイルに書き出す(シリアル化する)必要がある.
代表的なシリアル化形式
RDF/XML:計算機向け
RDFa:HTMLにRDFを埋め込む
Turtle:プレーンテキストで人間向けに読みやすい
N-Triples:1行単位で処理できるので処理しやすい
RDF/JSON:Web開発向け
参考:『Linked Data』2.4.2 RDFのシリアル化形式
2014/8/23 18
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”.
2014/8/23 19
http://www.ei.sanken.osaka-u.ac.jp/~kozaki/ foaf:Person
rdf:type
foaf:name Kouji Kozaki
1行
1行
ヘッダ
SPARQL
SPARQL RDFデータに対するクエリ言語
「指定したグラフ構造」に一致するトリプルを検索する
例
select distinct * where { ?s ?p ?o . } LIMIT 100
select distinct * where { <http://ja.dbpedia.org/resource/東京都> ?p ?o . } LIMIT 100
select distinct ?s where {?s <http://www.w3.org/2000/01/rdf-schema#label> ?o FILTER(regex(str(?o), "大阪")) .} LIMIT 100
2014/8/23 20
日本語DBPediaでのクエリ検索例 http://ja.dbpedia.org/で指定したパターンに一致するトリプルを検索する.
←取得する数
↑同じパターンは除外する
↓返す要素(*は全て)
全トリプルの組み合わせ
東京都を主語(Subject)に含むトリプル
ラベルに“大阪”を含むトリプル
LOD技術に関する参考資料
Semantic WebからLinked Dataへの変遷 Linked Open Dataで広がるデータ統合
萩野 達也,トーゴーの日シンポジウム2011,2011/10/5 http://events.biosciencedbc.jp/sympo/togo2011/program/2
Semantic Web Conferenceに見るLinked Open Dataの国際動向 古崎晃司,第1回LODチャレンジデーin大阪,2011/12/3 http://www.slideshare.net/KoujiKozaki/semantic-web-
conferencelinked-open-data
LODに関する入門資料 Linked Open Data Initiative(LODI)によるLOD連続講座のスライド http://linkedopendata.jp/?cat=17
2014/8/23 21
講演概要
ねらい
データをLODとして公開する方法を学ぶ
使用するツールは,LinkData.org
講演概要
LOD技術の概要
LinkData.orgを利用したLOD公開方法のチュートリアル+ハンズオン
2014/8/23 22
LODの構築から公開まで
データの準備
元となるデータを準備する
CSVやエクセルなど,機械処理しやすい形がよい
RDF化に利用するURIの準備
自分が管理できるURIを用意することが望ましい
データのLOD化(RDF化)
用意したデータをRDF形式に変換する
変換方法 変換ツールの利用:LinkData.org,GoogleRefine,etc. RDFエディタ(オントロジーエディタ)の利用:Protégé,法造,etc.
RDFデータをDBに登録して公開
2014/8/23 23
既存データをRDF化する方法
RDFデータを作成するツールを使用 Open Refine(http://openrefine.org/)+
RDF Refine(http://refine.deri.ie/) データを整備・公開するための多様な機能をサポート
Linked Data(http://linkdata.org/) テーブルデータをRDFに変換して公開することができるサイト
SparqlEPCU(http://lodcu.cs.chubu.ac.jp/SparqlEPCU/) LODの作成・活用のための支援サイト
CSVファイルをRDFとしての公開する機能もあり
StatLD(http://satolab.tiu.ac.jp/statld/) 統計Linked Dataの活用を中心としたツールを公開
一般のLinked Dataの作成にも使用可能
独自のプログラム用でRDFデータを作成
2014/8/23 24
LODチャレンジ2011アプリケーション部門 優秀賞
LODチャレンジ2012アプリケーション部門 優秀賞
LinkData.orgの特徴 できること
表形式のデータをRDFに変換し,サイト上で公開
変換にはエクセル形式の「ひな型ファイル」を利用
公開したデータを用いたアプリケーションをサイト上で開発する機能(LinkData.app)を提供
できないこと 複雑なRDFモデルをつくるのが難しい
RDFのスキーマ(RDFS,OWL)の定義が行えない
SPARQLエンドポイントは未提供
注意点 LinkDataでのデータ公開=(完全な)LODの公開ではない.
より良い形のRDFに変換する為の“コツ”がある
2014/8/23 25
2014/8/23 26
LinkData.orgを用いたLOD作成・公開の流れ
テーブルデータ作成
RDF形式へ変換
テーブルデータのひな形ファイルを作成
ひな形ファイルにデータを⼊⼒
ステップ1で作成したテーブルデータの
ファイルをアップロード&RDF形式への変換
RDFファイルが公開されダウンロード
可能に
ステップ ステップ ステップ
3ステップでRDFを公開できるRDFファイルを
ダウンロードして,トリプルストア
(RDF‐DB)に登録→SPARQLでの検索が可能に
※LinkDataでは未サポート
で,アプリケーションを作成・公開可能
http://linkdata.orgの内容を元に記載
SPARQLを利用したアプリケーションの開発・公開
作業①
作業②
作業③
作業④
使用するサンプルデータ
大阪市が公開しているオープンデータ「施設情報ポイントデータ(官公庁)」 http://www.city.osaka.lg.jp/toshikeikaku/page/0000250227.html
より入手可能
データの内容 「緯度・経度」を含む「施設情報(名称,住所,TEL,カテゴリ...など)
2014/8/23 27
表形式からRDF形式への変換イメージ
2014/8/23 28
各行(レコード)のID→主語(Subject)となるRDFリソースのURI(IRI)に
各列の項目名(ヘッダ行)→RDFリソースに結びつくプロパティに
ID_4965
官公庁/市の機関
住之江区役所
住之江区御崎3-1-..
http://www.city.osaka.lg.jp/suminoe/
34.60965135.4827
カテゴリ
施設名住所
HPのURL緯度
経度主語
(Subject) 述語(Property) 目的語(Object)
※目的語になるデータには,「URIで表されるリソース」と「文字列で表されるリテラル」がある.→目的語を他のリソースとすることで,複雑なグラフも表現可能(単純な表形式では難しい)
各セルの値→トリプルの目的語に
作業①:ひな型ファイルの作成「各列の設定」を入力
2014/8/23 31
入力した列数に応じて「列の設定」欄が表示される
未登録の「ネームスペース」を追加したいとき使用
列ごとに対応するプロパティの設定を入力する
作業①:ひな型ファイルの作成「各列の設定」を入力
2014/8/23 32
プロパティに関するキーワードや,プロパティのURIの一部などを入力すると候補が表示されるので選択する
候補が見つからないときは,自分で入力する(※詳細次項)
作業①:ひな型ファイルの作成プロパティ入力時の注意
2014/8/23 33
プロパティを「名前(文字列)」で入力すると,RDF変換時に,<http://linkdata.org/property/rdf1s1782i#%E6%96%BD%E8%A8%AD%E5%90%8D>
rdf:type rdf:Property ; rdfs:label “施設名”@ja .のように,linkdata.orgのURIを用いたプロパティとなる. 語彙をコントロールするために,URIで入力することを推奨.
ただし,その場合は,プロパティ名が設定できない.
日本語で入力されると,%エンコーディングされます. プロパティ定義でrdfs:labelが付与されますし, DBへの登録・検索など
に問題はありませんが,生成されるRDFファイルを直接見るときなどには,半角英語で入力した方が可読性が高くなります.
候補が見つからないときは,自分で入力する1.既存のLODで使われているプロパティを探して入力(推奨)
2.独自のプロパティを定義
作業②:ひな型ファイルへのデータ入力ひな型ファイルへのデータ入力
2014/8/23 35
1)ひな形ファイルを開く 左端の列がID,それ以降が設定したプロパティとなっています.
2)元データのファイルを開く 3)元データの列を,1)のひな形ファイルに項目に合わせて並
べ替える 4)3)で並び替えたデータをコピーして,ひな形ファイルの該当
箇所にペーストする. 5)ひな形ファイルを保存
RDFリソースのURIとなる各行(レコード)のID
作業②:ひな型ファイルへのデータ入力データ入力時の注意点 URIとなる行の入力を「(URIでない)文字列」とすると,
<http://linkdata.org/resource/rdf1s1782i#111><http://www.w3.org/2000/01/rdf-schema#label> “111”@ja ;<http://www.w3.org/2000/01/rdf-schema#label> “東住吉区役所”@ja ;
のように,
リソースのURIがlinkdata.org...となり,rdfs:labelが付与されます.
→URIで入力することを推奨します.
リソースのURIをコントロールするため
rdfs:labelが(不用意に)複数付与されることを避けるため
2014/8/23 36
RDFリソースのURIとなる各行(レコード)のID
作業③:データのアップロード(RDF変換)アップロードするファイルの選択
2014/8/23 37
アップロードするファイルを「選択」or「ドラック&ドロップ」する
Webサイトで公開しているデータをURLで指定することも可(→定期的に自動で更新・RDF変換される?)
作業④:RDFデータのダウンロード・公開RDFデータのダウンロード
2014/8/23 42
アップロード・RDF変換が完了するとデータがLinkData.org上で公開される
公開したデータは,形式を選択してダウンロードできる→RDF-DB登録用には「RDF(Turtle)」形式でダウンロードする
その他の工夫①同じプロパティが複数の場合 1つのRDFリソースが「同じプロパティを複数」持つとき
テーブルデータの「同じURI」の行を複数追加し,プロパティの値が異なるセルにのみデータを入力する.
2014/8/23 47
ID_1
著者1
著者2
タイトル1
authorauthor
タイトル
同じURI
同じPropertyが複数
値が変わらないときは2つめ以降を空欄に
その他の工夫①-2(別方法)同じプロパティが複数の場合
2014/8/23 48
同じPropertyが複数列繰り返し定義する
1つのRDFリソースが「同じプロパティを複数」持つとき
同じプロパティを持つ「 大数」が分かっているときは,同じプロパティが入る列を繰り返し定義し,データを入力することも可.
空欄のセルが残ってもOK.
その他の工夫②複雑なグラフの扱い RDFリソースのObject(目的語)が更にトリプルを持つ(構造を持つ)とき
「(ひな型,および)テーブルデータ」を複数に分けて表現する
その際,Object(目的語)がURIとなるように注意
2014/8/23 49
ID_1著者_ID1
山田太郎
タイトル1
author名前
タイトル
①書誌情報用テーブルデータ
で表現
②著者(人名)用のテーブルデータで表現
やまだたろうふりがな
①のObjectと②のURIが一致するようにする
その他の工夫③外部のLODとのリンク
LODを有用なものとするためには,既に公開されている他のLODと「リンクする」が重要
LinkData.orgでは,テーブルデータにおいて,プロパティのObjectとして,外部のLODのURIを入力することでリンク可能
リンク先を見つけるためには,公開されているSPARQLエンドポイントを利用することも可能
簡易SPARQLツールhttp://sourceforge.jp/projects/easylod/では,文字列一致でのリンク先一括取得の機能を提供
2014/8/23 50
その他の工夫④スキーマの定義 LinkData.orgでは,「スキーマ(や語彙)」の定義が行えない
「各リソースのクラス」や「プロパティの定義」を行いたい場合は,多のツールで記述する.(スキーマ定義用のテーブルデータを用意することも可能だが…)
主なスキーマ定義 簡単なスキーマ(RDFS)であれば,RDF(Turtle)で直接記述しても良い
各RDFリソースには,rdf:typeでクラスを指定
プロパティ定義では,rdfs:domain(定義域), rdfs:range(値域)の定義
2014/8/23 51
プロパティ定義の例<http://example.org/property/author>
rdf:type rdf:Property ;rdfs:domain ex:Document;rdfs:range ex:Person.
リソースのクラス指定の例<http://example.org/data/001>
rdf:type ex:Person ;rdfs:label “山田太郎”@ja.
クラス定義の例<http://example.org/class/Person>
rdf:type rdfs:Class .
まとめ LinkData.orgを使ったLOD公開
比較的簡単な形式のデータのRDF変換に有用 より良い形式のRDFにするための注意点(コツ)
IDは,単なる文字列ではなく「URI」とする. プロパティ定義は,名前(文字列)だけでなくURIを用いる.
コントロール可能なURIとするために,自分で管理可能なURIを用いる リソース http://myweb.com/data/***
http://myweb.com/resource/*** など プロパティ http://myweb.com/propery/*** クラス http://myweb.com/class/***
より良いLODとするために サイト上だけではなく,RDF-DBなどでの公開を考える 外部データと「リンクする」ことを考える 可能であれば,スキーマ定義も行う
2014/8/23 52