簡體   English   中英

使用Virtuoso設置RDF本體

[英]Setup RDF ontology with Virtuoso

我用谷歌搜索了幾個小時,搜索有關如何使用virtuoso服務器(開源版本)配置RDF存儲的教程或指南。

我有使用Protégé軟件創建的RDF文件。 如何將此文件添加到virtuoso服務器並配置端點 ,以便能夠通過Jena或其他此類API插入/更新或查詢數據。

最簡單的方法可能是HTTP PUT using Content-Type: application/rdf+xml解釋本文檔頁面 HTTP PUT using Content-Type: application/rdf+xml (16.8.3)點。 此機制基本上運行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的情況下,您必須通過命令行使用Jena ARQ ...

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服務器正在監聽的位置。

從Virtuoso Conductor(http:cname:8890 / conductor),您可以轉到“RDF - > RDF Store Upload”選項卡,您可以從中選擇文件系統或URL位置上的RDF數據集文件。

Virtuoso Jena Provider可用於使用Jena Franework查詢Virtuoso Quad商店。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM