2011-04-03 36 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商店。

相关问题