きっかけ
Berlin SPARQL Benchmarkの2009年(少し古い)の評価でVirtuosoという実装を見つけた。他のよりパフォーマンスが良さそうで、かつオープンソース(GPL v2)ということで試してみることにした。
conductor起動まで
[こちら](http://www.openlinksw.com/dataspace/doc/dav/wiki/Main/VOSIndex#Download, Build, and Use -- Get Started!)の手順にしたがって、aptのパッケージをインストール。
http://localhost:8890/conductor/ にアクセスするとDBの管理画面が無事表示された。
Sparql demoは動かず
Sparqle demoにあるload binsrc/tests/rdf/rdf-exp.sql;
を実行すると何やら途中でエラーが発生。その後conductorの"database"など一部のタブがエラーになってしまったので、諦めることにした。
sudo apt-get purge virtuoso-opensource
をやってから再インストールするとconductorのエラーは元に戻った。
RDFのロードとクエリ
こちらに、ファイルからロードする方法があった。
$ isql-vt
SQL> DB.DBA.RDF_LOAD_RDFXML_MT (file_to_string_output ('/tmp/about.rdf'), '', 'http://mytest.com');
Done. -- 8 msec.
/tmp/about.rdf
がサンプルファイル。
sparqlで問い合わせると無事に結果が返ってきた。
SQL> sparql select * from <http://mytest.com> where {?s ?p ?o} limit 5;
s p o
VARCHAR VARCHAR VARCHAR
_______________________________________________________________________________
http://www.openlinksw.com/dataspace/organization/dav#this http://www.w3.org/1999/02/22-rdf-syntax-ns#type
...
5 Rows. -- 1 msec.
この他様々なインポートの仕方がこちらにまとまっていた。
HtmlPivotViewerをセットアップ試みるも中断
クエリ結果をきれいに表示できるというHtmlPivotViewerのセットアップを試した。
c_uri_dav.vadのインストール
$ isql-vt 1111 dba
SQL> vad_install('/tmp/c_uri_dav.vad');
SQL_STATE SQL_MESSAGE
VARCHAR VARCHAR
...
00000 SUCCESS
...
6 Rows. -- 458 msec.
html5pivotvieweのインストール
zipファイルを/tmp以下に展開後:
SQL> vad_install('/tmp/html5pivotviewer-1.0/html5pivotviewer_dav.vad');
SQL_STATE SQL_MESSAGE
...
00000 SUCCESS
...
6 Rows. -- 378 msec.
http://localhost:8890/HtmlPivotViewer/ にアクセスできた。
サーバ側のセットアップ
Pivoto Collectionsのページを見るとHtmlPivotViewerはCXMLという形式のデータをレスポンスに要求するようで、直接やりとりするサーバをこれに対応させる必要がある様子。
prerequisitsの SPARQL-CXML VAD をインストールしようとしたところ、サーバのバージョンが古いというエラーが出た。
SQL> vad_install('/tmp/sparql_cxml_dav.vad');
SQL_STATE SQL_MESSAGE
VARCHAR VARCHAR
_______________________________________________________________________________
ERROR The sparql_cxml package requires server version 06.02.3128 or greater
FATAL The sparql_cxml package requires server version 06.02.3128 or greater
00000 Errors detected
00000 Installation of "sparql_cxml" was unsuccessful.
00000 ERROR
Ubuntuパッケージにない最新版か、もしかしたら商用版でないと動かないのかもしれない。
こちらには下の記載があった:
Support for CXML is available in the Virtuoso Commercial Edition Release 6.02.3129 or above. It is not included in Virtuoso Open-Source Edition.