VirtuosoをMacOSにインストールする

6月 2nd, 2014

こんどはMacOSにVirtuosoをインストールしてみることにします。
MacOSの場合はLinuxと同じ手順になります。Linux環境でのインストール方法(やや実践向け)
普段Macをメイン機として使っていないのでちょっと(?)古いのですがMacOS10.6で試しました。

まずはソースコードを置くためのディレクトリを作ってから、githubからソースコードを入手します。

virtuoso-opensource/というディレクトリができているので移動して、gitのブランチを選択します。
stable/7はversion7系の安定版のブランチです。例えば最新のバグフィックスを試したいというような場合には’stable/7′の代わりに’develop/7′を選べばよいでしょう。

コンパイルに先立ち、依存ライブラリ等をチェックしてくれるautogen.shを実行します。
もし不足していたりバージョンが低かったりするとエラーがでますので、エラーメッセージに従ってパッケージインストール等を行ってください。
尚、必要なパッケージは同じディレクトリのREADMEファイルのPackage Dependenciesに記載されています。

configureののprefix引数ではインストール先を指定します。私の環境ではmake install終了まで小一時間程度掛かりました。

インストールまで成功していれば、prefixで指定したディレクトリが生成されているはずですので、その下のvar/lib/virtuoso/dbに移動した後に起動コマンドを打ちます。

この状態でWindows環境と同様にブラウザでhttp://localhost:8890にアクセスすればGUIの画面が閲覧できるはずです。

停止はコマンドツールのisqlを起動してからshutdownコマンドを打ちます。

 

VirtuosoのGUIからデータをロードしてSPARQLをたたく

6月 2nd, 2014

では、インストールしたVirtuosoにRDF形式のデータをロードしてSPARQLをかけてみましょう。
今回はSPARQL習得をちょっぴり意識して、W3CのSPARQL1.1の仕様書のデータ&クエリを使ってみます。

Virtuosoには色々なデータのロード方法が用意されていますが、今回は一番簡単なGUIでのロードを行います。数M程度の小さなファイルをちょっとロードしたい、という場合には便利です。

ロードデータの準備

まずはロードするRDFファイルを準備します。
有志の方が翻訳してくれた日本語版のSPARQL1.1仕様書がありますので、その中の一つを使用します。

たとえば2.2章の「複数マッチ」の記載部分(リンク)にあるデータをコピーして、テキストエディタに貼り付けてローカルに保存します。この時のファイル名は任意ですが、拡張子は「.ttl」にしてください。

w3c_sparql11_2_2.ttl

 

データのロード

ロードするファイルが準備できたら、Virtuosoを起動させた状態でブラウザを開いて以下のURLにアクセスします。

http://localhost:8890/

左上の[Conductor]をクリックします。

top

 

ログインのためのアカウントとパスワードを聞かれるので、初期値で両方とも[dba]と入力してログインしてください。

login

尚、dbaは管理者アカウントなので、セキュリティを気にする環境であれば、はじめにパスワードを変えておきましょう。パスワードはログイン後の画面の [System Admin] – [User Account] – [dba(Edit)]から変更できます。

 

ログインができたら、[Linked Data] – [Quad Store Upload]からデータのアップロード画面を開きます。

upload1

 

先ほど準備したロード用のファイルを選択し、アップロードするグラフ名を入力します。
グラフ名は任意の値で構いませんが、今回のファイルは「http://localhost:8890/sparql11_2_2」としてみます。
紛らわしくてよく間違えるのですが、左側は[Cancel]ボタンで右側が[Upload]ボタンになります。

do_upload

グラフ名をつけておくとロードするトリプルを一つのデータセットとして扱えます。最初のうちはRDBにおけるテーブルのような感覚でよいでしょう。
デフォルトのグラフ名のままでもロードはできますが、次々にファイルをロードした場合に同じグラフにデータが混ざってしまい、SPARQLを打った時に余計なデータまで返ってくることがあります。クエリの練習をしているうちは細かくグラフ名を指定して置いたほうがよいでしょう。

 

成功すると地味に「Upload finished」とメッセージが表示されます。

finish_upload

 

SPARQLを打ってみる

ロードしたデータに対してSPARQLを打ってみましょう。
先ほどSPARQL1.1仕様書のページから取得したデータに対するSPARQLを投げてみます。オリジナルクエリはこちら

ここでSPARQLに一箇所だけ手を加えて、先ほどロード時に指定したグラフだけを検索対象にするようにします。具体的にはSELECTとWHEREの間にFROM句を追加してグラフを限定します。もしグラフ名を忘れた場合にはタブの[Graphs]から確認できます。

 

タブで[SPARQL]を選択して、クエリを実行します。

sparql

 

クエリ結果が SPARQL1.1仕様書に記載されているものと同じであることを確認してください。

 

仕様書を読んだだけでは分かりにくければ、こんな風に実際にSPARQLを試してみれば、理解を助けてくれるでしょう。

尚、ロードしたデータを削除したい場合には[Graphs] - [Graphs] で対象グラフの [delete]から消せます。

 

VirtuosoをWindowsにインストールする

5月 27th, 2014

自分でエンドポイントやSPARQLを試してみようと思った方に向け、Virtuosoのインストール方法を紹介します。今回はWindow編です。
Linuxについてはやや実践向けの内容がSPARQLthonのページ(こことかここ)に記載されていますのでご参考ください。

セマンティックWebのSPARQLが、リレーショナルDBでいうところのSQLだとすれば、
RDF形式のデータをストアするデータベースである”トリプルストア”はRDBMSに相当します。
RDBMSにOracleやらPostgreSQLやらがあるように、トリプルストアも色々なベンダーが開発しており、
VirtuosoはOpenLinkSoftware社が提供しているトリプルストアの製品名になります。
Virtuosoには商用版とオープンソース版があり、今回はオープンソース版で紹介します。

ダウンロード

まずは、ダウンロードサイトにアクセスして、最新バージョン(現在は7.1が最新)のzipファイルをダウンロードします。

ダウンロードしたzipファイル(virtuoso-opensource-x64-YYYYMMDD.zip)を解凍すると、
「virtuoso-opensource」というディレクトリがあるので、これをインストールしたいディレクトリに移動します。

変更権限のある場所であればどこでもいいですが、今回はC:\Program Files\に移動したものとします。

環境変数の設定

操作しやすいように環境変数を設定しておきます。

新規変数として「VIRTUOSO_HOME」を追加して、コピーしたディレクトリを指定します。
例:VIRTUOSO_HOME=C:\Program Files\virtuoso-opensource\

20140409_env2 (2)

PATHに次のディレクトリを追記します。
★注意: 既存の値は消さず、末尾に追記してください。パスの区切りは;で記載しますので最初に;を付けていますが、既にPathの末尾に;がある場合には一文字目は不要です。
;%VIRTUOSO_HOME%/bin;%VIRTUOSO_HOME%/lib

20140409_env2

サービスの登録

Windowsの場合には起動の前にVirtuosoのインスタンスを作成してサービスとして登録しておく必要があります。この手順はインストール時に一度実行するだけで大丈夫です。

コマンドプロンプトを管理者権限で起動し(右クリックで「管理者として実行」を選択)、以下のコマンドでインスタンスを新規作成してサービスに登録します。
“Virtuoso Instance1″の部分は任意の文字列で構いませんが、起動時の識別子として使用する名前になります。

“The Virtuoso service has been registered” みたいなメッセージがでれば登録され、サービスの一覧([コントロールパネル] – [管理ツール] – [サービス])に表示されるようになります。自動起動をしたい場合にはここから設定できます。
Service

起動と停止方法

以下のコマンドで起動します。引数には先ほど作成したインスタンス名を指定してください。

起動確認のために、対話型ツールのisql を起動してみましょう。SQL> が表示されればOK!

また、GUIツールであるVirtuoso conductorが8890ポートで起動しているはずなので、ブラウザを開いて、次のアドレスにアクセスして表示されることを確認してください。

http://localhost:8890/

VOS

正常に起動したことを確認できれば、一旦停止してみましょう。
停止には専用コマンドを使用する方法と、isqlでshutdownコマンドを使う方法があります。

または

 

Virtuosoをアンインストールしたい、バージョンアップの為に現行のサービスを消したいという場合には、登録されているサービスを削除します。二度とVirtuosoを使わない場合には、上記で設定した環境変数の削除、インストールディレクトリ削除をしてください。
インスタンス名を忘れてしまったなぁという場合には、サービスの一覧([コントロールパネル] – [管理ツール] – [サービス])から確認できます。OpenLink Virtuoso Server [ここにインスタンス名が表示される]

 

次の記事でデータをロードしてSPARQLを叩く方法を紹介します。

※2014.6.18追記:
・サービス登録の際にDBディレクトリに移動する記載がもれていたため追記
・PATHの追加についての注意書きを記載
・サービスの削除方法(アンインストール)を追記

ブログはじめました

4月 3rd, 2014

書く書くと宣言しながら一向に着手しませんでしたが、ブログをはじめました。

フリーランス(常駐型)のITエンジニアをやっておりまして、最近何かと関わっているセマンティックWeb関係の技術(RDFだったりSPARQLだったり)を中心に、ちょこちょこした技術情報を載せていく予定です。

ワタクシも勉強しながらなので、理解が不足していたり認識が違っていたりする点があるやも知れませんが、どうかご容赦ください。まだまだマイナーで日本語情報が不足している技術ですので、皆さんのとっかかりを助けられるブログになれば良いなと思っています。

うーん、3日坊主にならないように頑張りますー。