人工知能学会研究会資料 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
© Copyright 2024 Paperzz