3

私はここ数時間グーグルで、virtuosoサーバー(オープンソースバージョン)を使用してRDFストアを構成する方法についてのチュートリアルまたはガイドを探してきました。

Protégéソフトウェアで作成されたRDFファイルがあります。このファイルをvirtuosoサーバーに追加し、Jenaまたはその種の他のAPIを介してデータを挿入/更新またはクエリできるようにエンドポイントを構成するにはどうすればよいですか。

4

2 に答える 2

3

これを行う最も簡単な方法は、このドキュメントページ のポイント(16.8.3)で説明することですHTTP PUT using Content-Type: application/rdf+xml。このメカニズムは基本的にHTTP PUT、ファイルをトリプルストアに送信することを実行します。

curl -T your_file.rdf entity_uri_to_store_file -u user:pass

entity_uri_to_store_fileそのファイルを保存したいテーブルであるかのように考えてください。

したがって、ファイルがontology1.owlであり、それをエンティティに保存したい場合http://myorganisation.com/ontologies/ontology1、コマンドは次のようになります...

curl -T ontology1.owl http://myorganisation.com/ontologies/ontology1 -u user:pass

注:Windowsボックスを実行している場合は、ここcurlからインストールできます。

後でデータをクエリするには...を使用してクエリを実行することもできますcurl

curl -F "query=YOUR SPARQL QUERY" http://your.virtuososerver.org/sparql

データにアクセスするには、SPARQLを使用する必要があることに注意してください。

Jenaの場合、コマンドラインでJenaARQを使用する必要があります...

java -cp ... arq.query --service 'hhttp://your.virtuososerver.org/sparql' 'SELECT * WHERE {?s ?p ?o}'

またはAPIを使用してプログラムで..。

import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.sparql.engine.http.QueryExceptionHTTP;

public class QueryTest {

public static void main(String[] args) {
    String service = "http://your.virtuososerver.org/sparql";
    String query = "SELECT * WHERE {?s ?p ?o}";
    QueryExecution qe = QueryExecutionFactory.sparqlService(service, query);
    try {
       ResultSet results = qe.execSelect() ;
       for ( ; results.hasNext() ; ) {
           QuerySolution soln = results.nextSolution() ;
           RDFNode x = soln.get("s") ;
           RDFNode r = soln.get("p") ; 
           RDFNode l = soln.get("o") ;   
       }
    } catch (Exception e) {
        System.out.println("Query error:"+e);
    } finally {
        qe.close();
    }
 }

変数serviceを、virtuosoサーバーがリッスンしている場所にポイントすることを忘れないでください。

于 2011-04-04T08:19:32.377 に答える
2

Virtuoso Conductor(http:cname:8890 / Conductor)から、「RDF-> RDFストアのアップロード」タブに移動して、ファイルシステムまたはURLの場所からRDFデータセットファイルをアップロードできます。

Virtuoso Jenaプロバイダーは、JenaFraneworkを使用してVirtuosoQuadStoreにクエリを実行するために使用できます。

于 2011-04-04T20:26:31.073 に答える