[英]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.