DCMI Description Set Profile に基づく RDF Refine を利用した
メタデータ作成支援手法の提案
A Method for the Creation of RDF Metadata with RDF Refine Based on DCMI
Description Set Profile
落合香織
1三原鉄也
1永森光晴
2杉本重雄
2Kaori Ochiai
1, Tetsuya Mihara
1, Mitsuharu Nagamori
2and Shigeo Sugimoto
21
筑波大学大学院図書館情報メディア研究科
1
Graduate School of Library, Information and Media Studies, University of Tsukuba.
2筑波大学図書館情報メディア系
2
Faculty of Library, Information and Media Science, University of Tsukuba.
Abstract: Web of data called Linked Data came to be published more and more. OpenRefine is a tool for working messy data, and RDF Refine is a OpenRefine extension for exporting RDF. So, we can transform data which is written in CSV file into RDF data easily with OpenRefine and RDF Refine. The other side, we have a problem that it’s difficult to reuse metadata schema when we create new metadata. RDF Refine has a function to import another project of RDF Refine. In this paper, I propose the way to reuse a metadata schema with RDF Refine and Description Set Profile which is proposed by DCMI, when we want to transform metadata into RDF data.
1. はじめに
近年、データを共有し有効利用していくために Open Data[1]としてオープンライセンスのデータを 提供することが増えている[17][18]。Oepn Data で は、望ましいデータの公開方法を 5 段階のランクで 定めており、Excel や CSV 形式のデータよりも RDF (Resource Description Framework)や Linked Open Data(LOD) [2]の形で提供することが望ましいとし ている[3]。RDF は Web 上のリソースに関する情報を 表現するためのデータモデルであり、主語、述語、 目的語から構成されるトリプルで表現する。RDF は グラフ構造の表現であるため、URI で表現されたリ ソース同士を結びつけていくことが出来る。LOD [2] は、Web 上に RDF で表現したオープンなメタデータ を提供し、それらをリンクさせ関連付ける取り組み である。LOD としてデータを公開、連携させること で、今までにない新しい情報の共有方法やサービス が可能となることが期待されている。 LOD や RDF が望ましいデータの提供方法とされる 一方で、Open Data として Excel や CSV 形式で提供 されているデータを RDF に変換することは、LOD や RDF についての知識や経験を持たない人にとっては 難しい。現在、Excel や CSV 形式のデータを RDF に 変換する為に、RDF Refine[7]や LinkData[8]といっ たツールが公開されている。これらのツールでは、 Excel や CSV 形式で用意されたデータの項目を、RDF で用いる語彙としてマッピングを行う必要がある。 本稿では、データを RDF に変換するツールのひと つである RDF Refine 上で、語彙のマッピングを支援 するための提案手法について述べる。具体的には、 Dublin Core Metadata Initiative(DCMI)が提案す る Description Set Profile(DSP)という形式で、 メタデータをどのような語彙や構造を用いて記述す るかを定義しておくことで、RDF Refine 上でマッピ ングの設定を簡単に行うための方法を提案する。以 降、本稿では RDF で記述されるメタデータを作成す ることを前提に話を進める。2. メタデータ作成の手順と問題点
メタデータを作成する際に、メタデータ作成者は 予めメタデータスキーマの作成を行う。メタデータ スキーマの作成では、どのようなメタデータの項目 を用意し、その項目名に対し、どのような語彙や構 造で記述していくのかを決めていく[19]。本稿では、 このように利用する語彙やメタデータの構造を定義 したものを記述規則定義と呼ぶ。メタデータの作成方法には様々な方法が挙げられ る。一からデータを記述していく方法、リレーショ ナルデータベースや CSV として既に存在するデー タをRDF に変換する方法、HTML や XML に埋め込 まれたデータを抽出する方法、画像や動画にアノ テーションを付けていく方法等である。 本稿は、この中でも既存のデータをRDF に変換す る方法に着目して述べていく。既存のデータをRDF に変換していく具体的な方法には、RDF Refine 等の 変換のためのツールを用いる、メタデータ作成者が 独自でプログラムを記述するといった方法が考えら れる。このとき、メタデータ作成者は、変換したい データの項目を、RDF としてどの様な語彙や構造で マッピングしていくのかを設定する。図 1 の場合、 タイトルという項目名に対し dc:title という語彙 を当てはめ、著者名、著者名(姓)、著者名(名)を foaf:name で一つのまとまりで記述している。また、 マッピングを行う上で、メタデータの記述内容が特 別な型を必要とするときはデータタイプやクラスの 指定を行う。例えば、記述内容が文字列で日付の場 合は xsd:date というデータタイプを指定する。 しかしながら、既存データからRDF への変換にお いて語彙をマッピングしていく作業を行う際に、メ タデータ作成者は RDF や LOD についての知識や、実 際にメタデータが取り扱われる領域についての知識 が求められる。より多くの人々に公開したメタデー タを利用してもらうには、そのメタデータの利便性 を高くし、他の機関と連携を取りやすくすることが 必要である。そのためメタデータ作成者は、他のメ タデータで多く利用されている且つ、最もその項目 に適した語彙を探す必要がある。しかしながら、現 実として必ずしもメタデータ作成者がこのような知 識を持っているとは限らない。この問題の解決策の 一つに記述規則定義の再利用がある。例えば、A 大 学の図書館が書誌データを RDF にマッピングしたい ときに、B 大学の図書館で使われている記述規則定 義をそのまま流用するというものである。これによ り、メタデータ作成者が語彙のマッピングを行う負 担を軽減出来るのに加え、メタデータの相互利用性 を高めることも出来る。本稿では、データを RDF に 変換するツールである RDF Refine 上で、このマッピ ング作業を支援するために、メタデータスキーマを 再利用する方法を提案する。
3. RDF へのマッピング支援
本章では、メタデータの変換のためのツールであ る RDF Refine と Description Set Profile について 述べた上で、それら 2 つを用いて、データから RDF へ語彙をマッピングするための支援手法を提案する。3.1. RDF Refine
OpenRefine[6]とは、オープンソースとして提供さ れているデータクリーニングツールである。読み込 んだデータの編集や、XML などの別の形式への変換、 他 の デ ー タ と の 統 合 等 と い っ た こ と が 出 来 る 。 OpenRefine は拡張機能である RDF Refine[7]を追加 することで、読み込んだデータを RDF の記述形式で ある RDF/XML や Turtle に変換することが出来る。ま た、既に公開されている LOD リソースと統合したり、 作成したデータをそのまま LOD として公開すること も出来る。 RDF への変換の際は、RDF Skeleton という、読み 込んだデータのどの項目名を何の語彙とマッピング し、どんな構造の RDF に変換するかを定義するため の設計図を設定していく。図 2 は RDF Skeleton の設 定画面である。図 2 では CSV 上で「書誌 ID」と「作 品タイトル」という項目で記述されているデータを dc:title という語彙で結び付けている。この様に、 RDF Refine では変換したいデータを視覚的に RDF の 構造にマッピングすることが出来る。また、この RDF 図 1 RD F への変換のた めの 項目名のマッ ピング例 図 2 RD F Sk elet on の設定画面Skeleton のデータは JSON 形式で出力することが出 来、一度設定すれば、RDF Refine 上で他のプロジェ クトにも対応させることが出来る。
3.2. Description Set Profile
記 述 規 則 定 義 を 定 義 す る 方 法 の 一 つ と し て 、 DCMI[10]が提案する Description Set Profile(DSP) [11]がある。DSP では、ある項目について、項目名 (ラベル)、RDF で用いる語彙、項目の記述回数、日 付の書き方などの実際に記述する内容への制約を XML で記述することが出来る。メタデータ情報基盤 構 築 事 業 [20] は 、 こ の DSP を OWL で 表 現 し た OWL-DSP[15]や、更なる記述の簡易化を目指して TSV 形式で記述可能にした簡易 DSP[14]を提案している。 表 1 は図 2 の RDF Skeleton の図で表現されている記 述規則を簡易 DSP で表現した例である。表 1 の様に、 簡易 DSP では項目規則名に項目名を、プロパティに は RDF で用いる語彙を記述する。また最小、最大で は記述回数の最小値と最大値を、値制約には実際に メタデータを記述する際の制約を設定することが出 来る。また、メタデータ情報基盤事業は、メタデー タスキーマを共有するためのメタデータレジストリ で あ る MetaBridge[9] を 開 発 提 供 し て い る 。 MetaBridge では、メタデータ作成者が作成した簡易 DSP または OWL-DSP を登録することで、MetaBridge 上に DSP を公開・共有することが出来る。 本研究では、データを RDF に変換する際の語彙 マッピングに対し、この DSP を流用することでメタ データ作成者の負担を軽減させることを目指す。DSP は項目名や語彙の指定、項目の記述回数といったメ タデータの詳細な情報を定義出来ることに加え、 ツールや目的に左右されない標準的なフォーマット となっている。そのため、RDF Skeleton 等とは異な り、ツールに依存せず利用することが出来る。 また、文献[12]では DSP がスキーマの標準フォー マットとしてだけではなく、文法チェックのための ツールやデータベースの設計、メタデータ編集ツー ルの設計のためにも用いることが出来ると述べてい る。この様に DSP は、本稿で提案する様なデータを RDF に変換するためだけでなく、他の様々な用途で も利用され得る可能性を秘めている。
3.3.
RDF へのマッピング支援
2 章で述べたように、データを RDF に変換するた めに語彙をマッピングしていく作業は専門知識が伴 わないメタデータ作成者には難しい。しかし、記述 規則定義が再利用出来れば、メタデータ作成者の負 担を軽減することが出来る。そこで本研究では、DSP と RDF Refine を用いてデータを RDF にマッピングす るための支援手法を提案する。 図 3 は本研究が提案する CSV ファイルを RDF へ変 換する手法の流れを示したものである。OpenRefine には、OpenRefine 上で作成したプロジェクトを再利 用するために、プロジェクトの設定を tar 形式で出 力、読み込みを行う機能がある。本手法では、筆者 が開発した提案プログラムを用いて OpenRefine 用 の読み込みファイルを作成する。 手順として、まず作成者は作成したいメタデータ のスキーマを DSP で定義したものを用意する。次に 変換したい CSV ファイルを用意する。このとき CSV ファイルのヘッダ行に記述する項目名と DSP で定義 した項目名とを同じ名前にしておく必要がある(図 3(1))。用意した DSP と CSV ファイルを本稿が提案す るプログラムで読み込むと、OpenRefine の読み込み 用ファイルを作成する(図 3(2))。このプログラム の 中 で は 、 DSP か ら 読 み 込 ん だ ス キ ー マ を RDF Skeleton の形に変換し、CSV ファイルに記述されい てるデータを読み込んでいる。プログラムによって 作成された読み込み用ファイルを OpenRefine で実 際に読み込むと、作成したいメタデータを RDF/XML や Turtle の形式で出力することが出来る(図 3(3))。 なお、この提案プログラムは Ruby のライブラリと して開発した。現在、利用する際は、プログラムを インストールし、DSP と CSV ファイルの読み込み、 メタデータ作成者が実際の読み込みファイルの作成 図 3 提案プログラ ムを用いた RD F への変換作業の流 れ 表 1 簡易 DS P の記述例についてのプログラムを書き、実行する必要がある。
3.4. 様々な形式の記述規則への対応
3.3 節で説明した提案プログラムは、表 2、表 3 に挙げた様な、構造やデータタイプの異なる様々な DSP のサンプルに対応して実行できるように作成し た。なお、今回用いた DSP のサンプルは OWL-DSP、 簡易 DSP で作成した。また、DSP のサンプルを作成 すると同時に、それぞれの DSP に対応した CSV ファ イルも用意した。表 2 のデータ構造は、DSP のサン プルがそれぞれ図 4 に描かれている様な構造を持つ ことを示す。図 4 のパターン(1)は、ある URI に対し 複数の文字列を記述する項目が存在するという RDF で記述されるメタデータの基本的な構造である。パ ターン(3)は、パターン(1)に加えて URI を記述する 項目を付け足した。パターン(2),(4)はパターン(1) に対して URI や空白ノードを使い、更に構造的に項 目を配置している。また、ここで取り扱われる文字 列のデータタイプは、表 4 の RDF Refine で対応する ことができるデータタイプの種類をすべて満たすこ とを目指した。しかしながら、現在、OWL-DSP、簡易 DSP では言語タグを指定することができないため、 言語タグの指定は対応することができなかった。4. 青空文庫書誌データの変換実験
どこまで現実的な利用が可能かを確認するために、 実在するデータに対して提案する手法を用いて RDF に変換する実験を行った。本実験では、著作権の消 滅した作品等を公開している電子図書館、青空文庫 [13]にて CSV 形式で公開されている書誌データを用 いた。このデータには、約 12000 件の書誌レコード が含まれており、タイトル名、タイトル ID、出版日 を表す日付、分類番号を表す日本十進分類(NDC)の 表記、新字・旧字等を表す仮名遣い種別、青空文庫 で公開されている URL 等といった多くの項目がある。 本実験は、提案プログラムを用いて、この CSV デー タを図 5 に表す DSP に習った RDF 形式のデータに変 換を目指した。また、今回用いた DSP は筆者が青空 文庫のために作成したもので、詳細は MetaBridge 上に公開している。※ 本実験は、本稿で提案する手法を実際に行う際に、 メタデータ作成者がどのような手順を踏む必要があ るのか、また実際に変換可能であるかの検証を目的 とした。実験方法として、変換したいメタデータの 図 4 サンプル DS P のデータ構造 のパターン 表 4 RD F Re fine で用意されて いる データタイプ の一覧 ※ http://www.metabridge.jp/infolib/metabridge/show/description/v iew/?lang=&descriptionURI=http%3A%2F%2Fpurl.org%2Fnet%2 Faozora%2Fdsp 表 2 DS P のサンプルの 概要 表 3 DS P のサンプルの 分類記述規則を定義した DSP と青空文庫の書誌データを 記述した CSV ファイルを用意し、用意した CSV ファ イルに対して提案手法を用いて RDF への変換を行う ことを目指した。以下では、変換を行う上での作業 の流れと変換結果について述べる。 まず、青空文庫から得られる CSV ファイルのヘッ ダ行の部分だけを DSP の項目に合わせた CSV ファイ ルを用意して提案手法を実行した。項目名が一致し ている部分のデータを変換することは出来た。しか し、一部のデータはそもそも DSP の項目に合わせる ことが出来なかった。なぜなら、用意した CSV ファ イルと DSP のデータの構造が異なっていたからであ る。今回用いた CSV ファイルでは、1つのレコード において作品に対し一人の著者名が記述され、役割 フラグという項目で著者、翻訳者、校訂者に分けて いた。一方で、今回設定した DSP では、一つの作品 に対して著者、翻訳者、校訂者全ての作家を記述し ていたため、CSV ファイルのデータの構造を変更す る必要があった。 そこで、実際にデータの構造も DSP に合わせて作 成した CSV ファイルを用意しようと試みた。しかし、 この CSV ファイルを作成することは出来なかった。 なぜなら提案手法では、複数回記述したい項目に対 して、一度しか記述することが出来ないからである。 青空文庫には底本という、作品を作る際に参照した 図書を記述する項目がある。底本が複数ある場合、 青空文庫の CSV ファイルには底本 1、底本 2 という 項目で記述されているのに対し、DSP 上では底本は すべて同じ扱いになっているため、項目名が底本と なっている。DSP にも底本 1、底本 2 という項目を加 えれば、もちろん変換は可能となるが、それは DSP の記述規則定義としての役割を無視してしまうこと になる。 それを踏まえて、複数回記述したい項目のデータ だけを抽出して、複数の CSV ファイルに分けて提案 手法を実行した。このように、DSP の一部分に対し て、上手く変換が可能であれば、1 つの CSV ファイ ルで表現出来ないデータにも対応出来ると考えた。 今回の場合は、CSV ファイル上で底本 1 または底本 2 となっている項目を抜き出し、2つの CSV ファイル に、DSP に合わせた項目名でそれぞれ記述を行った。 結果として、RDF に変換することは出来た。しかし ながら、今回のケースでは、DSP に空白ノードを用 いていたため、データが記述されていない部分に対 図 5 青空 文庫 書誌 データのス キーマ モデル (一 部抜粋 )
して余計な空白ノードを作成してしまっていた。DSP に空白ノードがなければ、データは問題なく RDF に 変換されたと考えられる。 実験全体の結果として、今回用いた青空文庫の DSP と CSV ファイルからは上手く RDF に変換するこ とは出来なかった。
5. 課題と考察
4 章で述べた実験の結果を通して、本研究の提案 に以下の 2 つの問題点を挙げる。 1). DSP に合わせた CSV ファイルの作成に手間が かかる場合がある 2). 繰り返し出現する項目に対応できない 1 について本実験では、図 5 に表す DSP に合わせ るために、CSV ファイルの項目名を変更するだけで なく CSV ファイルの構造を変更する必要があった。 例えば、今回の場合では青空文庫の書誌データの全 件レコードから著者、翻訳者、校訂者を抽出し、適 切な作品に割り当てるという作業を行わなければな らなかった。DSP に合わせて新しくデータを作成す る場合は、この作業を行う必要はないだろう。しか し今回の様に、既存のデータを RDF にする場合は、 この CSV ファイルの変更自体がメタデータ作成者の 負担となることが考えられる。 2 について、用意した DSP に合わせて CSV を作成 する際に、項目の記述回数が 2 以上の場合、すなわ ち 1 対 N の構造でデータを記述する可能性がある場 合に本稿の提案手法は対応出来ないことが分かった。 なぜなら、今回の提案プログラムの中では、DSP 上 の項目名と CSV ファイル上の項目名が同じものを適 応させているため、同じ項目名が複数存在する場合 に 対 応 す る こ と が 出 来 な い 。 ま た 、 そ も そ も OpenRefine 上では読み込む CSV ファイルに複数の同 じ項目を存在させることは出来ない。対応策として、 メタデータ作成者は、項目名を DSP に合わせた状態 で、複数の CSV ファイルに分けて変換を行うという 方法が考えられる。しかしながら、今回の青空文庫 で設定した DSP の様に空白ノードを多用している場 合だと、余計なデータを作成してしまう可能性があ る。この問題に対しては、今後、CSV ファイル上に 同じ項目が複数存在する場合は、自動的に「項目名 1」、「項目名 2」といった項目の生成を行う、DSP に 対して CSV ファイルの項目名が少ない場合は、DSP と項目名が一致する部分だけの RDF Skeleton を生成 するといったプログラムの改善を行う必要がある。 また、本稿では青空文庫の書誌データ以外のデー タに対して実験は行っていない。今後、他のデータ についても提案手法が適応出来るか検証を行い、ど の場合は成功し、どの場合は失敗するのか、また成 功するケースはどのくらいの割合であるのかを調査 する必要があるだろう。6. 関連研究
3 章でも紹介した MetaBridge では、DSP を共有す るだけでなく、本稿の提案手法と同様に DSP を基に CSV を変換するための機能が備わっている。しかし ながら、MetaBridge では図 4 のパターン(2)、パター ン(4)の様なデータ構造への変換に対応出来ない。 本稿の提案手法では、これらの構造にも対応した。 また、LinkData[8]は Web サービスとして提供され ているメタデータ作成・変換ツールである。メタデー タ作成者は、どのような項目をメタデータとして記 述するかを決めたひな形を作成し、それに沿ってメ タデータを Excel 上で入力することが出来るように、 Excel 形式のファイルを受け取ることが出来る。作 成したデータを、LinkData にアップロードすると、 データは RDF に変換され、同時に LinkData 上で公開 される。サービス全体として、LOD や RDF について あまり詳しくないユーザへの使いやすさを重視して おり、誰でも簡単にデータを変換することが可能と なっている。また、すでに公開されているデータの ひな形を基に新たにデータを作成することも出来る。 しかし、メタデータの構造を自由にカスタマイズす ることが出来ないという点で本研究とは異なる。 今 回 の DSP へ の マ ッ ピ ン グ と 類 似 し た も の に R2RML(RDB to RDF Mapping Language)[16]が存在 する。R2RML は既存のデータベースのデータを RDF に変換するためのマッピングを記述するための言語 である。RDF の Turtle 形式で記述しており、SQL で 変換したい部分を指定していく。このことから、 R2RML は、RDF Refine で用いられる RDF Skeleton、 LinkData のひな形に一致する存在だと言える。本稿 の提案手法とは、CSV ファイルではなくリレーショ ナルデータベースを対象しているという点が異なる。 また、スキーマを再利用するという目的に着目する と、個々のデータベースや CSV ファイル等に依存し ない、DSP の方が優れていると考えられる。これは、 RDF Skeleton や LinkData のひな形にも同様に言う ことが出来る。7. おわりに
本稿では、メタデータの作成において、CSV ファ イルから RDF への変換という部分に着目し、RDF Refine と DSP を用いて、CSV ファイルから RDF へ のマッピングを支援する方法を提案した。この提案手法では、実際にDSP と CSV ファイルを基に RDF Refine 用の読み込みファイルを作成するプログラム を開発した。 今後の展望として、まず5 章で述べた問題を改善 していきたい。加えて、データをRDF へ変換する場 合だけでなく、メタデータを一から記述していく場 合に対して支援を行うシステムをDSP を用いて開発 していきたい。本稿で述べた提案手法は、データが CSV ファイルに既に記述されていることが前提であ り、データの記述を支援することはできない。しか しながら、メタデータの作成における問題の一つに、 データの記述そのもののコストが高いという問題が ある。そのためデータの変換だけでなく、データの 記述に対しても支援を行っていく必要がある。 また、本研究は、メタデータ作成の支援を目的と したものである。しかしながら、その一方で本研究 で用いているDSP の様な機械処理が可能なスキーマ はまだ多く公開されていない。この研究を通して、 機械処理が可能なスキーマを公開していくことで、 メタデータの利用や作成においてどのようなメリッ トを与えることが出来るのかを確認していきたい。
謝辞
本研究の一部は平成 24 年度日本学術振興会科学研 究費補助金(課題番号:23500295)による。参考文献
[1] The Open Data Handbook. http://opendatahandbook.org/ (参照:2013/03/14)
[2] Linked Data – Design Issues.
http://www.w3.org/DesignIssues/LinkedData.html ( 参 照:2013/03/14)
[3] 5 star Open Data. http://5stardata.info/ (参照:2013/03/14) [4] 谷口祥一. メタデータの「現在」, 初版. 勉誠出版. 2010. 154p. [5] 加藤文彦. Linked Data 作成支援ツールの現状と課題. 人工知能学会研究会資料, SIG-SWO-A1101-03. 2011. http://sigswo.org/papers/SIG-SWO-A1101/SIG-SWO-A 1101-03.pdf (参照:2013/03/14) [6] OpenRefine. http://openrefine.org/ (参照:2013/03/14) [7] RDF Refine. http://refine.deri.ie/ (参照:2013/03/14) [8] Link Data. http://linkdata.org/ (参照:2013/03/14) [9] メタデータ基盤システム MetaBridge.
http://www.metabridge.jp/ (参照:2013/03/14) [10] Dublin Core Metadata Initiative. http://dublincore.org/
(参照:2013/03/14)
[11] DCMI Description Set Profile.
http://dublincore.org/architecturewiki/DescriptionSetProf ile (参照:2012/03/14)
[12] Mikael Nilsson, Alistair J. Miles, Pete Johnston, Fredrik Enoksson. Formalizing Dublin Core Application Profiles – Description Set Profiles and Graph Constraints. Metadata and Semantics. 2009. pp101-111.
[13] 青空文庫. http://www.aozora.gr.jp/ (参照:2013/03/14) [14] Description Set Profile Definition Language.
http://purl.org/metainfo/terms/dsp# (参照:2013/03/14) [15] メタデータ・スキーマ定義言語. http://www.meta-proj.jp/A04.pdf (参照:2013/03/14) [16] R2RML: RDB to RDF Mapping http://www.w3.org/TR/r2rml/ (参照:2013/03/14) [17] CKAN 日本語—みんなで作る日本のデータカタログ サイト http://data.linkedopendata.jp/(参照:2013/03/14) [18] Open Knowledge Foundation Japan
http://okfn.jp/(参照:2013/03/14)
[19] メタデータ情報共有のためのガイドライン
http://www.mi3.or.jp/item/A03.pdf (参照:2013/03/14) [20] メタデータ情報基盤構築事業