RDF Refine on Ubuntu 16.04

はじめに_

CSVファイルなどからRDFファイルを生成することができるツール RDF Refineを使える環境を用意する。

OpenRefineのRDF生成拡張のRDFRefineをインストールする。

参考サイト_

OpenRefine (旧 Google Refine)_

説明_

Open Refine(旧Google Refine)の使い方 〜導入・基本編〜よりOpenRefineの説明

Open Refineは、さまざまなデータをきれいに整形したり、欲しい形のものに変換したり、簡単な解析を行ったりすることができるソフトで、表計算ソフトExcelにはないさまざまな機能を持っています。

元はGoogleのコンテンツで、Google Refineという名前で知られていましたが、2012年10月にオープンソース化され、Open Refineに改称されました。2012年2月現在、Google RefineからOpen Refineへの過渡期にあり、多くの情報はまだGoogle Refineのままとなっています。

配布元は以下のサイト

事前にインストールすべきもの_

事前にJDKのインストールが必要。Ubuntu 16.04の場合、以下のソフトウェアをいれていたらそのまま動いた。

% sudo aptitude install openjdk-8-jdk openjdk-8-jdk-headless

環境変数 JAVA_HOME を設定する。bashを使っている場合は .bashrc に以下を追加する(zshを使っている場合は .zshrc か .zshrc.mineに追加する)

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre

その後、環境変数を読み込む

% source ~/.bashrc # bashの場合
% source ~/.zshrc  # zshの場合

設置_

GitHub: OpenRefineの「Latest Beta 2.7 rc2 - Recommended」をクリックし、openrefine-linux-2.7-rc.2.tar.gz をダウンロードする。

% tar xvfz openrefine-linux-2.7-rc.2.tar.gz
% cd openrefine-2.7-rc.2
% ./refine

ブラウザが起動し、OpenRefineの画面が表示される。終了させるときには Ctrl-c で終了する。

RDFRefineの設置_

配布元は以下のサイト

OpenRefine 2.7に対応しているのはGitHub: grefine-rdf-extension (alpha) Open Refine 2.6 compatibleであるので、orefine-rdf-extension-0.9.zip をダウンロードする。

ダウンロードしたファイルがホームディレクトリにあるとする。

% cd openrefine-2.7-rc.2/webapp/extensions
% unzip ~/orefine-rdf-extension-0.9.zip
% ls -1
__MACOSX/
gdata/
jython/
orefine-rdf-extension-0.9/
pc-axis/
sample/
% cd ../../
% ./refine

OpenRefineのページがブラウザで開くはず。

RDF作成のデモ_

RDFRefine:RDF exportに従い、CSVファイルからのRDFの作成&エクスポートを試してみる。

まず、RDFRefine:RDF exportのページにあるCSVファイルのリンク(high-earners-pay.csv)をダウンロードする。

次にOpenRefineのページ「Create Project」の「This Computer」をクリックする。このページで、ダウンロードしたCSVファイルを読み込む

「Project name」のテクストフィールドに任意のプロジェクト名を入力する。そして「Create Project」をクリックして、プロジェクトを生成する

生成されたプロジェクトの画面は以下の画面のとおり。

RDFスケルトン(RDF skelton)を定義する。プロジェクトの右側にある「RDF」のドロップダウンリストをクリックし、「Edit RDF Skelton」を選択する。

以下の画面はRDFスケルトンを編集済みの画面。以下の画面のように「add rdf:type」や「add property」をクリックして、主語や目的語の設定や、述語の定義を行う。

「add property」をクリックすると、以下のように入力フィールドが開き、取り込み済みの述語の候補が表示される。RDFスケルトンの編集がおわったならば、右下の「save」で保存し、「OK」で編集を終了する。

プロジェクトの右上のプルダウンリスト「Export」をクリックし、「RDF as Turtle」を選択する。すると、RDFがTurtle形式で保存される。

保存されたTuetle形式のRDFは以下のとおり(一部)

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .


<http://127.0.0.1:3333/Asset+Protection+Agency> a foaf:Organization ;
	foaf:name "Asset Protection Agency" .

<http://127.0.0.1:3333/0> a foaf:Person ;
	foaf:name "Stephan Wilcke" ;
	foaf:title "Chief Executive Officer" ;
	<http://127.0.0.1:3333/anualPayRate> "£150,000 - £154,999" .

<http://127.0.0.1:3333/Asset+Protection+Agency> foaf:member <http://127.0.0.1:3333/0> .

<http://127.0.0.1:3333/1> a foaf:Person ;
	foaf:name "Jens Bech" ;
	foaf:title "Chief Risk Officer" ;
	<http://127.0.0.1:3333/anualPayRate> "£165,000 - £169,999" .

〜以下、略〜

作成したRDFファイルは、Virtuosoに格納できる

自分が作成した語彙の追加_

語彙をWebページとして置いている場合_

FOAF Vocabulary Specification 0.99のファイルを例に試してみる。まず、http://xmlns.com/foaf/spec/index.rdfをダウンロードし、自分が制御できるWebサーバに置く。今回は http://www.aise.ics.saitama-u.ac.jp/~gotoh/my_foaf に置くことにする。

www.aise.ics.saitama-u.ac.jp のサーバの~/public_html 以下に my_foafディレクトリを作成する。サーバ上にログインする。

% cd
% cd ~/public_html
% mkdir my_foaf
% cd my_foaf
% wget http://xmlns.com/foaf/spec/index.rdf

http://www.aise.ics.saitama-u.ac.jp/~gotoh/my_foaf/index.rdf にアクセスして、index.rdfの中身を閲覧できるか確認する。

次に RDF Refineにて作業する。上のデモにおける「RDFスケルトン(RDF skelton)を定義する」ところまで作業をすすめる。

「add prefix」をクリックする。すると、以下のウィンドウが開くので「prefix」の部分に他のprefixと被らない任意のprefixを入力する。今回は my_foaf としている。URLの部分に語彙のあるURLを記述する。今回の例では http://www.aise.ics.saitama-u.ac.jp/~gotoh/my_foaf となる。最後のスラッシュ(/)を入れるとうまく動かなかった。

「manege prefixes」で登録されていることを確かめる。

実際に述語(property)を入力してみる。以下のように対応する述語が表示される。

戻る_