Pages - Menu

2013-09-14

VirtuosoにYAGOをロードする

Windows環境にOpenLink Virtuosoをインストールし、YAGOオントロジーをロードする。

Virtuosoのセットアップ

  1. OpenLinkのDonwloadページから"Pre-built binaries for Windows"をダウンロードし展開し、適当なディレクトリに設置する。
  2. virtuoso-opensource\database\virtuoso.iniを編集する(環境に応じて設定すること)
    //Stripingを有効にする(DBのロードが速くなる模様)
    Striping = 0

    //DirsAllowedの末尾にyagoディレクトリを追加
    DirsAllowed = ., ../vad, ../yago

    //81行目以降のメモリ設定をマシンスペックに応じて設定する(例:16GB)
    ;; Uncomment next two lines if there is 16 GB system memory free
    NumberOfBuffers = 1360000
    MaxDirtyBuffers = 1000000
  3. システム環境変数に以下を加える:
    変数名:VIRTUOSO_HOME  値:virtuosoのインストールディレクトリ
  4. システム環境変数PATHの末尾に次を追加する:
    ;%VIRTUOSO_HOME%\bin;%VIRTUOSO_HOME%\lib
  5. コマンドプロンプトを開き、以下のコマンドを実行する
    cd %VIRTUOSO_HOME%\database
  6. 続いて、以下のコマンドを実行する
    virtuoso-t -?
    正しくインストールされていれば、適当なメッセージが表示される。
  7. serviceを作成する ※"Instance Name"は任意の名前が可
    (消去する際は"screate"の代わりに"delete"を用いる)
    virtuoso-t +service screate +instance "Instance Name" +configfile virtuoso.ini
  8. 以下のコマンドを実行して、サービスが登録されていれば問題なし
    virtuoso-t +service list
  9. サービスを開始する
    (終了する場合は "start" の代わりに "stop" を用いる)
    virtuoso-t -I "Instance Name" +service start
正常にセットアップが完了していれば、http://localhost:8890/conductorから管理画面に入ることができる。
初期ユーザー名とパスワードはともに'dba'。

YAGOのダウンロード

  1. YAGOのダウンロードページから"Download YAGO2s ontology in .ttl format! (2.2 Gb compressed, 18.5 Gb uncompressed) "を選択しダウンロードする。
  2. ファイルを展開し、VIRTUOSO_HOME\yago に設置する

RDFのVirtuosoへのロード

  1. コマンドプロンプトを開き、isqlと実行する
  2. isqlの対話モードになったら、以下のコマンドを実行する
    ※http://abcde.orgは任意のGragh IRIに設定する
    SQL> ld_dir ('../yago', '*.ttl', 'http://abcde.org');
  3. Load Listを確認する
    SQL> select * from DB.DBA.load_list;
    YAGOの.ttlファイルが表示され、ll_stateが0となっていればOK(1:ロード中、2:ロード完了)
  4. ロードを開始する
    ※このコードの実行には非常に時間がかかる(1~2日)
    SQL> rdf_loader_run();
    ※Loaderは複数実行できるようなので、以下の様なbatファイルをつくり実行しても可。この方が早く完了するかもしれない。
    bulk_load.bat
    start isql 1111 dba dba exec="rdf_loader_run();"
    start isql 1111 dba dba exec="rdf_loader_run();"
    start isql 1111 dba dba exec="rdf_loader_run();"
    start isql 1111 dba dba exec="rdf_loader_run();"
    start isql 1111 dba dba exec="rdf_loader_run();"
    start isql 1111 dba dba exec="rdf_loader_run();"
    start isql 1111 dba dba exec="rdf_loader_run();"
  5. 上のロードが全て完了したら、Load Listでステータスを確認する
    SQL> select * from DB.DBA.load_list;
  6. ll_stateが2となっていればロード完了。

SPARQLクエリを投げる

上記の設定がすべて完了すれば、SPARQLインタフェースなどでYAGOにアクセスすることができる。
http://localhost:8890/sparql/からSPARQLインタフェースを開ける。

サンプルクエリ
SELECT * WHERE {<http://yago-knowledge.org/resource/Albert_Einstein> ?p ?o}
参考
OpenLink Virtuoso - Using Virtuoso Open-Source Edition on Windows YAGO

0 件のコメント:

コメントを投稿