BH12.12/SPARQLthon4/VirtuosoTips

提供:TogoWiki

移動: 案内, 検索

よく使うVirtuosoのコマンド等を記載していきます

目次

トリプルのロード

基本的にはvirtuosoのdbにファイルを置いてからisqlのコマンドを打つ ex:/var/lib/virtuoso/db/ の配下

  • RDF/XMLファイルを指定してロード
DB.DBA.RDF_LOAD_RDFXML_MT (file_to_string ('/var/lib/virtuoso/db/rdf_data/myfile.rdf'), '', 'http://myhost/mygraph');
  • TTL,N3ファイルを指定してロード
DB.DBA.TTLP_MT (file_to_string_output ('/var/lib/virtuoso/db/rdf_data/myfile.ttl'), '', 'http://myhost/mygraph');


  • ディレクトリを指定して一括ロード

引数はディレクトリパス、パターンマッチ、グラフ名

ld_dir ('/var/lib/virtuoso/db/rdf_data/', '*.ttl', 'http://myhost/mygraph');
rdf_loader_run();

サブディレクトリを含めたい場合にはld_dir_allを使う

ld_dir_all ('/var/lib/virtuoso/db/rdf_data/', '*.ttl', 'http://myhost/mygraph');
rdf_loader_run();


  • - 圧縮形式でも可能
ld_dir ('/var/lib/virtuoso-opensource-6.1/db/rdf_gz/', '*.gz', 'http://myhost/mygraph');
  • -一括ロードの進捗確認方法
select * from DB.DBA.LOAD_LIST;//データ構造確認用
select count(*) from DB.DBA.LOAD_LIST where ll_state = 0;//残ファイル数
  • -一括ロードのエラー確認方法

ファイルにsyntaxエラーがあっても、isql上では表示されない。 次のコマンドをうって、各ファイルでエラーがなかったか、確認する。

select * from DB.DBA.LOAD_LIST ORDER BY ll_started DESC;

フルテキストインデックス

DB.DBA.RDF_OBJ_FT_RULE_ADD('http://myhost/mygrap', null, 'All')
DB.DBA.VT_INC_INDEX_DB_DBA_RDF_OBJ ();

グラフの削除

CLEAR GRAPH コマンドで削除する。DELETE GRAPHでも削除できるが、独自に付けたINDEX削除も必要。
大きなサイズのグラフを削除する場合にはCLEAR GRAPHの前にlog_enableコマンドを打たないと、サーバのメモリを食いつぶすので注意が必要。VirtTipsAndTricksGuideDeleteLargeGraphs

DB.DBA.RDF_OBJ_FT_RULE_DEL('http://myhost/mygrap', null, 'All');// DELETE GRAPHで削除する場合にはINDEXも削除する。例はフルテキストインデックス。
log_enable(3,1);
SPARQL CLEAR GRAPH <http://myhost/mygraph>;

グラフ名の変更

成功した試しがないので、削除&インポートした方がよいかも