2011-04-03 38 views
3

我搜索了關於如何使用virtuoso服務器(開放源代碼版本)配置RDF存儲的教程或指南。使用Virtuoso設置RDF本體

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

+0

這甚至有可能嗎? – aumanets 2011-04-04 07:44:34

+0

在大多數三聯商店中,斷言本體與斷言任何其他普通RDF數據完全相同。看到我的答案下面有參考文獻和指針來做到這一點。我希望它有幫助。 – 2011-04-04 08:20:45

回答

3

最簡單的方法可能是解釋這個documentation pageHTTP 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可以從here安裝curl

以後要查詢數據...你也可以用curl來完成。

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

請注意,您必須使用SPARQL來訪問數據。

在耶拿的情況下,你必須使用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服務器正在偵聽的位置。

+0

你好@msalvadores。感謝您的回覆。你是什​​麼意思的實體http://myorganisation.com/ontologies/ontology1?我需要在互聯網上擁有一些域名才能發佈我的本土論文?我可以在本地主機上執行嗎? – aumanets 2011-04-04 20:58:46

+0

該實體是一個URI而不是一個URL,這意味着它不需要被解析。所以你可以放任何你想要的URI,你不需要擁有域名。 – 2011-04-05 07:48:13

+0

我在捲曲中出現錯誤「您無權訪問此位置。」我需要在virtuoso中配置此實體** http://myorganisation.com/ontologies/ontology1**? – aumanets 2011-04-05 09:00:54

2

從Virtuoso指揮官(http:cname:8890 /指揮)你可以到「RDF - > RDF商店上傳」選項卡,您可以從文件系統或URL位置上傳RDF數據集文件。

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

相關問題