如何将修改(创建,OWL文件的更新)保存到fuseki服务器中

时间:2018-06-25 23:14:31

标签: java sparql rdf jena fuseki

我使用protege创建了一个本体模型。 , 我用Java填充本体(关联用户,资源..) 然后将所有修改保存到文件中。

现在,我需要集成RDF服务器以保存更改 经过一些研究,我发现Fuseki是我可以使用的最好的服务器之一。 经过更多研究之后,我还发现我需要使用RDFCOnnexion与fuseki服务器进行通信,但是在集成服务器和操作所有Java类时遇到了一些困难。

要请求我的本体,我使用了RDFconnexion: 例如:     公共静态void main(String [] args){

"_type"

但是我在尝试创建代理(用户)或资源时遇到了问题。 在下面,您将只找到我的Java代码的一部分:

    RDFConnection conn1 = 
   RDFConnectionFactory.connect("http://localhost:3030/test/") ;
    try( QueryExecution qExec = conn1.query("PREFIX ex: <http://example.org/> 
    SELECT * { ?s ?p ?o }") ) {
        ResultSet rs = qExec.execSelect();
        ResultSetFormatter.out(rs, qExec.getQuery());
    }
     }

我需要知道是否有人可以帮助我,并举一个例子,说明我如何使用和集成Fuseki(修改并请求我的本体)。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

请注意,您可能首先想使用fetch()方法-http://jena.apache.org/documentation/javadoc/rdfconnection/org/apache/jena/rdfconnection/RDFDatasetAccessConnection.html#fetch-java.lang.String-来检索图形,这比现在进行查询的效率要高。

Model model = connection.fetch("http://your-graph-name");

如果您仅使用默认图形,则可以执行connection.fetch()来检索它。

拥有本地副本后,可以根据需要使用Jena API对其进行修改。

然后,您可以使用put()方法使用本地更改来更新图形-http://jena.apache.org/documentation/javadoc/rdfconnection/org/apache/jena/rdfconnection/RDFConnection.html#put-java.lang.String-org.apache.jena.rdf.model.Model--

connection.put("http://your-graph-name", model);

这将用model的当前内容覆盖现有图形。同样,如果您仅使用默认图形,则可以执行connection.put(model)