VirtuosoにRDFデータをロード,SPARQLで検索

Virtuosoのインストール,RDFデータの準備ができたので,VirtuosoのGUI(Conductor)を利用したRDFデータのロード,SPARQLによる検索をしてみます。

VirtuosoにRDFデータをロードする

まずはConductor(http://localhost:8890/conductor/)にアクセスします。

[,w480]


データをロードするためにはログインする必要がありますが,デフォルトで「dba」というアカウントが用意されているので,とりあえずこれを使います(パスもこれです)*1


画面上のメニューバーから「RDF」(右端から2番目)をクリックし,続いてその下に現れるメニューバーの「RDF Store Upload」(右端)をクリックします。

[,w480]


ファイルやURLを指定して「Upload」をクリックすればデータがロードされます*2。データの収納先を分けたい場合には「Named Graph IRI」で適当なURIを指定しましょう。たとえば「http://localhost:8890/DAV/test」とか。


どんなRDFフォーマットをサポートしているか把握していないのですが,自分はとりあえずTurtle(.ttl)形式のファイルは無事にアップロードできました。たぶんRDF/XMLやN3くらいはいけると思います。

SPARQLで検索

RDFのデータはSPARQL(SPARQL Protocol and RDF Query Language)と呼ばれるクエリ言語で検索します。詳細は(知らないので)書きませんが,気になる人はオライリーから『Learning SPARQL』という本が出ているので,これを読んでください。


Virtuoso ConductorでSPARQLを使うには,画面上のメニューバー「RDF」>「SPARQL」(左端)をクリックします。

[,w480]


ここでは簡単な例として,アップロードしたRDFをすべて見てみましょう。「Query」に次のように記入して「Execute」をクリックします。

SELECT * WHERE { ?s ?p ?o }


ちなみに,データ数だけ知りたいときは次のようにします。

SELECT COUNT(*) WHERE { ?s ?p ?o }


なお,データをロードする際に指定した「Named Graph IRI」を「Default Graph IRI」に記入すれば,検索対象をそのデータに絞ることが出来ます。また,http://localhost:8890/sparqlからもSPARQLは実行できます。外にSPARQLエンドポイントを公開する際にはこちらを使うことになります。

さいごに

ロードしたRDFデータの確認は上に書いたようにSPARQLを使ってできます。が,「RDF」>「RDF View」というメニューがあるので,ここで確認できると期待したのですが,使い方がわかりません。わかる方がいたらご指南お願いします!

関連エントリー

*1:このアカウントについては,Documentation > Quick Starts & Tours > 3.1. Where to Startに書いてあります

*2:なお,このやり方はDocumentation > 16. RDF Data Access and Data Management > 16.8. RDF Insert Methods in Virtuoso > 16.8.7. Using WebDAVの「Example 2: Using Conductor UI」という項目に書いてあります。これ以外のやり方についてもその周辺に書いてあるので,必要な人は読むとよいのではないでしょうか。