有没有办法以编程方式将ttl文件上传到Fuseki?

时间:2019-04-26 10:41:50

标签: java jena fuseki

嗨,我创建了一个Java程序,在其中获取一个ttl文件并更新了turtle语句。由于我有一个连接到fuseki的Web界面来查询ttl文件,因此我想用新数据重新上传ttl文件。有什么方法可以代替Fuseki接口以编程方式执行此操作?

我正在尝试从Java并使用s-put命令访问命令提示符,但是却出现No such file or directory错误:

public void updateFuseki() throws IOException{
     Runtime rt = Runtime.getRuntime();
     Process pr = rt.exec("s-put http://localhost:3030/Test/ default Definitions.graph.ttl");
}

我目前在Fusionki中只有一个名为Test的数据集,而Definitions.graph.ttl与Jena处于同一软件包中。

1 个答案:

答案 0 :(得分:1)

Fuseki用于远程上传数据的API是SPARQL Graph Store HTTP Protocol,它是SPARQL标准的一部分。 s-put命令是使用此API的简单客户端应用程序(使用Ruby编写)。

由于您的应用程序是用Java编写的,因此最好将Java客户端用于此API。

您已用jena标记了您的问题,所以我假设您的Java应用程序已在使用Jena?耶拿包括a client library for the Graph Store Protocol。一个简单的用法就是这样:

String serviceURL = "http://localhost:3030/Test/";
try (RDFConnection conn = RDFConnectionFactory.connect(serviceURL)) {
    conn.put("Definitions.graph.ttl");
}