RDFストア環境構築(Virtuoso編)2

この記事は1年以上前に書かれました。
内容が古くなっている可能性がありますのでご注意下さい。


Virtuoso編の第2回では、RDFストアにデータをインポートし、SPARQLクエリで結果を確認します。
インポートするデータは、Wikipediaから抽出した情報をLODとして公開しているDBpedia Japaneseから入手します。

DBpediaトップページの「データダンプのダウンロード」リンクをクリックすると、ダンプファイルを格納するフォルダが一覧表示されます。今回は、20140107フォルダのjawiki-20140107-article-categories.ttl.bz2ファイルをインポートします。
ダウンロードしたファイルを

$ bzip2 -d jawiki-20140107-article-categories.ttl.bz2

で解凍します。

インポートするファイルは、Virtuosoの設定ファイルvirtuoso.iniのDirsAllowedでアクセス許可されたディレクトリに置く必要があります。
そこで、あらかじめDirsAllowedで許可されたディレクトリにインポートファイルをコピーするか、virtuoso.iniにディレクトリを追加してVirtuosoを再起動します。
以下の例では、DirsAllowedに/home/koikeを追加しました。

データのインポートはVirtuosoのConductorで実施します。
Conductorの「Datebase」「Interactive SQL」タブをクリックし、以下のコマンドを実行します。

DB.DBA.TTLP_MT (file_to_string_output ('jawiki-20140107-article-categories.ttl'), '', 'http://mirror.dbpedia.jp');

DB.DBA.TTLP_MTの最初の引数は、インポートするデータの文字列です。この例では、file_to_string_output関数でファイルから文字列に変換しています。2つめの引数は相対IRIから絶対IRIに変換する際のベースです。3つめはインポート先のグラフIRIです。

[Execute]ボタンをクリックするとインポートが始まり、終了すると
The statement execution did not return a result set.
とメッセージが表示されます。

インポート結果はConductorの「Linked Data」で確認できます。
インポート時に指定したグラフIRIをDefault Graph IRIに指定し、以下のSPARQLクエリを発行します。

select distinct ?o where {
?s ?p ?o.
}
limit 100

Wikipediaのカテゴリの一覧を取得することができました。

RDFストア環境構築 123