Linked Data作成支援ツールの現状と課題

人工知能学会研究会資料
SIG-SWO-A1101-03
Linked Data 作成支援ツールの現状と課題
Current issues of software tools to create Linked Data
加藤 文彦 1∗
国立情報学研究所
National Institute of Informatics
1
1
Abstract: The Web of Linked Data has been growing and already contained hundreds of interconnected data sources. An easy way to transform various raw data into Linked Data to publish
and link to existing data sources would be needed to evolve further the Web of Linked Data. This
paper introduces software tools to support a user to generate Linked Data from raw data and
discusses about current issues of these tools.
1
はじめに
近年,World Wide Web 上で異なる情報源のデータ
を型付リンクによって結びつける,Linked Data [1, 2]
というコミュニティ活動が注目されている.Wikipedia
を Linked Data にした DBpedia [3] を中心として,辞
書情報や地理情報,政府情報,学術情報,音楽情報,写
真情報など,2010 年 9 月の時点で 203 のデータセット
によるネットワークが形成されている.Semantic Web
が普及しない原因の一つとして基盤となるデータの欠
如があったが,Linked Data の活動はその問題を解決
する有望な手段の一つであると考えられている.
Linked Data の基礎となるデータモデルは,Semantic
Web と同様に RDF である.そのため,Linked Data
を作成して提供するというのは,データを RDF モデ
ルに沿う形式にして Web 上で公開するということにな
る.加えて Linked Data では,RDF データの公開方
法に一定のルールを設けている.これにより,Linked
Data は Web アーキテクチャと整合性を保ったデータ
共有の仕組みとなっている.
著者らが行っている LODAC Museum [5, 6] では,
博物館情報や位置情報を主な対象とした RDF データ
を作成しており,それを Linked Data として Web で
公開している.しかし,基としているシソーラスや各
博物館の情報等は元々RDF データではなく,Excel や
HTML といった形式で提供されていることが殆どであ
る.現状ではこれら一つ一つのデータについて,RDF
に変換して必要な箇所にリンクを張るプログラムを用
∗ 連絡先:国立情報学研究所
〒 101-8430 東京都千代田区一ツ橋 2-1-2
E-mail: [email protected]
意しなければならない.
LODAC Museum の将来像としては,生のデータを
保持している博物館側も Linked Data の提供に参加す
ることで,博物館情報が Linked Data Cloud 上の様々
な異種情報と緩やかに繋がっていくことができるよう
になり,それによって新たな知が発生することを期待
している.しかし,Linked Data を作るにはプログラ
ミングが必要であるとなると,元々公開システムを作っ
ているところであれば対応できるかもしれないが,そ
うではない一般のユーザには取り組みにくい.生デー
タを作成しているユーザは,Excel のようなスプレッド
シートや関係データベースでデータを管理している場
合が多いため,これらから手軽に Linked Data を作成
して提供するための支援ツールが,Linked Data の普
及に重要な役割を持つと考えている.
そこで,著者らが運営している LinkedData.jp [4] の
第一回勉強会のテーマとして,生データから LinkedData を作成するためのツールについて取り上げること
にした.本稿では勉強会の内容を踏まえて,現在存在
するツールをいくつか紹介し,どのような問題を抱え
ているかをまとめる.
2
LinkedData 作成支援ツール
LinkedData 作成支援ツールには,大きく分けて生
データから Linked Data を作成するツールと,新しく
データを入力することで Linked Data を作成するツー
ルがある.前節で述べたとおり,我々が想定している
のは既に生データがある場合なので,本節では生デー
タから Linked Data を作成するツールを対象とする.
03-01
生データから Linked Data を作成する方法は,デー
タの種類によって以下のように分類できる.この中で
は,我々の想定するユーザは主に 2 と 5 が必要である
と考えられる.そこで勉強会では,2 の構造化された
データの変換ツールに該当するものについて,主に取
り上げた (表 1).
ツール
ReDeFer
XLWrap
Google Refine
irON
入力形式
XML,XML Schema
Excel,OpenOffice Calc,CSV
CSV
XML,CSV,JSON
表 1: ツールと対応する入力形式
1. テキストデータの変換
2. 表や XML 等,構造化されたデータの変換
3.1
3. WebAPI のラッパー
Auer ら [14] は,韓国語の DBpedia を作成した時の
事例を基に,いくつかの Semantic Web ツールについ
て,以下の点を確認することで,国際化対応の現状を
まとめている.
4. CMS の拡張
5. データベースのラッパー
ReDeFer [7] は,RDF に関する変換ツール群である.
XML を RDF に,XMLSchema を OWL へ変換するこ
とができる.また,RDF から HTML+RDFa や SVG へ
の出力も同時に提供している.Garca ら [8] は ReDeFer
を用いることで,B2B で使われている様々な XML を
RDF にしてデータ統合をする手法を提案している.
XLWrap [9] は,Excel や OpenOffice Calc といった
スプレッドシートで表現されているデータを RDF に変
換するツールである.各セルや範囲に対して RDF への
マッピングルールを記述することによって,変換を行う.
DBpedia へのマッピングルールも提供している.単独
で HTTP サーバとしても動作可能で,スプレッドシー
トファイルに書かれているデータをそのまま SPARQL
Endpoint として提供することも可能である.
Google Refine [10] は元々Freebase [11] で用いられて
いたデータクリーニングツールである.ローカルの Web
サーバとして動作する.Google Refine に CSV データ
をアップロードした後に,各項目のデータの表記揺れ
をクラスタリングしてまとめるなど,クリーニングの
機能が充実している.データを RDF に変換するため
には RDF 用の拡張 [12] を用いれば可能である.
irON (Instance Record Object Notation) [13] は,
RDF ではないデータを RDF にするための記法や語彙 1
2
を定めている.JSON 用の irJSON,XML 用の irXML, 3
4
CSV 用の commON が存在する.irON の各形式で記
述したデータを OpenStructs システムに入力すること
で,RDF として出力することができる.
3
国際化対応
課題
本節では,Linked Data 作成支援ツールの課題につ
いて,国際化対応,語彙,外部へのリンクという観点
から述べる.
1. パーセントエンコーディング
2. アンダースコア
3. UTF-8/IRI サポート
4. IRI で問題のある文字列
5. RDF 出力形式
現在非 ASCII の文字列を URI で扱うためには,1 の
パーセントエンコーディングを行うのが一般的である.
しかしパーセントエンコーディングされた URI は可読
性を損なう.DBpedia が Linked Data 普及のきっかけ
となった理由の一つとして,URI の構成が人間にわか
りやすいということが挙げられる.また,機械的な文字
列マッチだけで存在が確認できるため,DBpedia への
リンク作成が容易である.別の問題として,RDF の形
式の一つである RDF/XML においては%文字が XML
タグ内で使用不可能なため,パーセントエンコーディ
ングで表現されたプロパティの URI を RDF/XML 形
式では使用することができない.ソースコード 1 は通
常の RDF/XML パーサではエラーとなる.
< r df:D e sc r ip ti o n about = " # example1 " >
< ex: %97% e1 xmlns:ex = " http: // example . org / "
> ’ 例 ’ のパーセントエンコーディング </ ex: %97% e1 >
</ rdf : De s cr ip t io n >
ソースコード 1: %問題
2 のアンダースコアは,パーセントエンコーディング
されたプロパティの問題を回避するために Auer らが
提案している方式である.まず,URI の最後に必ず’ ’
を付けるという約束事にする.そしてパーセントエン
コーディングした URI を prefix として記述しておき,
プロパティを表現する XML タグを prefix: という形に
する (ソースコード 2).これにより,ツールによっては
うまく処理できるという主張をしている.しかし,URI
03-02
に余計な文字を付加してしまうこの方法は,一般的な
対応ではない.各プロパティ毎に prefix を割り当てる
必要があることも問題である.
1
2
3
4
< rdf :De sc rip t io n about = " # example2 " >
< ex:_ xmlns:ex = " http: // example . org /%97% e1 "
> アンダースコア </ ex:_ >
</ rd f:Des cr i pt io n >
ソースコード 2: アンダースコア
上記のパーセントエンコーディングによる問題は,本
来は URI の国際化版である IRI [15] を用いることで解
決できるはずである.しかし,IRI をどの程度サポー
トしているかどうかは,まだプログラミング言語のラ
イブラリやツール自体に依存するのが現状である.
Auer らと同じ基準で,2 節で述べたツールを検証し
た結果が表 2 である.IRI で問題ある文字に関しては,
空白,{,},<,>,(,) を対象とした.
ReDeFer は RDF/XML のみを扱うため,パーセン
トエンコーディングの処理はできない.アンダースコ
アを追加して扱う形式では,ReDeFer が prefix の最後
に勝手に’#’ を付与してしまうため,URI 全体では’# ’
を追加したことになってしまう問題がある.IRI は問
題なく使用可能である.
XLWrap でもパーセントエンコーディングした URI
は使用できなかった.しかし,アンダースコアを追加す
る形式では,パーセントエンコーディングありの URI
を扱える.IRI は問題なく使用できる.
Google Refine では RDF のマッピング作成において
問題があった.prefix ex を http://example.org/ex#
としている場合,プロパティとして ex:test を入力する
と http://example.org/ex#test が割り当てられる
が,ex:テストを割り当てようとすると内部で<ex:テス
ト>に変換されてしまう.これは ex という scheme の
IRI だと解釈されてしまうので,問題となる.http:
//example.org/ex#テスト と入力すると,正しく ex:
テストと扱われる.また,IRI に空白文字がある場合
は削除されてしまうという問題もあった.
irON については,パーセントエンコーディングの取
り扱いは問題なかったが,IRI を使用することはでき
なかった.また,空白以外の記号は問題なく扱うこと
ができたのも特徴的である.
3.2
語彙
生データを Linked Data にする際には,データの各
項目を適切な語彙に割り当てることが望ましい.語彙
が既存の良く知られたものであると,より再利用性が
高まると考えられる.しかし,どの語彙が適切である
か,よく知られたものであるあるかの判断は難しい.
Google Refine の RDF 拡張では,prefix uri の先に RDF
Schema や OWL のファイルが存在する場合は,そこか
ら語彙を認識して入力時に補完する機能がある.また,
http://prefix.cc を利用して,良く利用されている
prefix uri を推薦する機能もある.
一方,データの項目を URI と接続して,そのまま独自
の語彙としてマッピングするという方法もある.今回取
り上げたツールでは ReDeFer が該当する.この方法は
機械的に変換できるため,手間をかけずに Linked Data
として公開することができる.特に必要な語彙が大量な
場合や未知の場合は既存の語彙に対応付ける作業が煩
雑になるため,取り敢えず Linked Data にしてしまう
ほうが良いという場合は十分にあり得る.まず Linked
Data として公開してあれば,利用者側が語彙の同意性
などを判断してオントロジや SPARQL Construct クエ
リ,ルール言語などで,後から関係を追加することも
考えられる.また,提供者側が後から既存の語彙や語
彙の関係を追加することもできる.
3.3
外部へのリンク
あるデータがどこか別のデータへリンクしたり,ど
こかのデータからリンクされることによって,初めて
そのデータは Linked Data としての価値が出てくる.
そのためには,作成したデータを Web 上に公開して,
関連する外部のデータへリンクをすることが望ましい.
例えば XLWrap は DBpedia へのリンクを張るための
簡便な方法を提供している.
Linked Data のデータセット数は年に 2-3 倍のペー
スで増加しているため,各自で関連するデータを発見
してリンクをはるのが今後は困難になってくると考え
られる.そのため,どこにリンクを張るべきかを推薦
したり,自動的にリンクを張るなどの仕組みが今後重
要となってくるであろう.特に DBpedia のようなデー
タのハブとなる Linked Data に,容易にリンクを張る
方法があることが望ましいと考えられる.
4
おわりに
本稿ではスプレッドシートや XML のようにある程
度構造化された生データから Linked Data を作成する
ための支援ツールを紹介して,その問題点について考
察した.特に国際化からの視点での検討は,日本での
Linked Data の普及には重要である.Web が普及した
理由の一つは,誰もが手軽に文書を公開して,互いに
勝手にリンクを張ることができたことである.同様に,
Linked Data が普及するためには,Linked Data を誰
もが手軽に作成して公開できる手段が必要となるであ
ろう.我々も今後様々な分野で活用されることを目指
して,有用なツールの開発に積極的に取り組んでいく.
03-03
ツール
ReDeFer
XLWrap
Google Refine
irON
パーセントエン
コーディング
⃝
+
アンダー
スコア
+
+
UTF-8/IRI
サポート
+
+
+
-
IRI で問題
ある文字
空白,{,}<,>,(,)
{,},<,>,(,)
空白,{,},<,>,(,)
空白
RDF
出力形式
1
1,2,3
1,2
1,2,4
表 2: 国際化対応表
+: できる; ⃝: できるが少し問題あり; -: できない
1: RDF/XML 2: Notation3 3: Turtle 4: N-Triples 5: RDF/JSON 6: HTML
謝辞
[11] Freebase http://www.freebase.com/
第 1 回 LinkedData 勉強会にて発表して頂いた清水
智公氏,大澤昇平氏,中尾光輝氏,藤澤貴智氏,嘉村
哲郎氏,佐久間勇樹氏,並びにご参加頂いた方々に深
く感謝致します.
[12] RDF
Extension
for
Google
http://lab.linkeddata.deri.ie/2010/
grefine-rdf-extension/
[13] irON: Instance Record and Object Notation Specification http://openstructs.org/iron
[14] Auer, S., Weidl, M., Lehmann, J., Zaveri, Amrapali
J., C., Key-Sun: I18n of Semantic Web Applications
In Proceedings of the 9th International Semantic Web
Conference, (2010)
参考文献
[1] Berners-Lee, T.: Design Issues: Linked Data
http://www.w3.org/DesignIssues/LinkedData.
html, (2006)
[15] Duerst, M., Suignard, M.: Internationalized Resource Identifiers (IRIs) IETF RFC3987, (2005)
[2] Linked Data - Connect Distributed Data across the
Web http://linkeddata.org/
[3] Auer, S., Bizer, C., Lehmann, J., Kobilarov, G., Cyganiak, R., Ives, Z.: DBpedia: A Nucleus for a Web
of Open Data In Proceedings of the 6th International
Semantic Web Conference, 2nd Asian Semantic Web
Conference, (2007)
[4] LinkedData.jp http://linkeddata.jp/
[5] 嘉村哲郎, 加藤文彦, 大向一輝, 武田英明, 高橋徹, 上田
洋: Linked Open Data による多様なミュージアム情報
の統合人文科学とコンピュータシンポジウム じんもん
こん 2010, 情報処理学会, (2010)
[6] 嘉村哲郎, 加藤文彦, 大向一輝, 武田英明, 高橋徹, 上田
洋: LOD.AC: Linked Open Data によるミュージアム
情報の結合第 3 回知識共有コミュニティワークショップ,
情報社会学会, (2010)
[7] ReDeFer http://rhizomik.net/html/redefer/
[8] Garca, R., Gil, R.: Facilitating Business Interoperability from the Semantic Web In Proceedings of
10th International Conference on Business Information Systems, Vol. 4439, pp. 220-232. Springer-Verlag
(2007)
[9] Langegger, A., Wöß, W.: XLWrap - Querying and
Integrating Arbitrary Spreadsheets with SPARQL.
In Proceedings of the 8th International Semantic Web
Conference, (2009)
[10] Google
Refine
google-refine/
Refine
http://code.google.com/p/
03-04