我使用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(修改并请求我的本体)。
感谢您的帮助
答案 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)
。