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

问题描述 投票:0回答:1

嗨,我已经创建了一个java程序,我在其中获取ttl文件并更新了turtle语句。由于我有一个连接到fuseki的web界面来查询ttl文件,我想用新数据重新上传ttl文件。有没有办法以编程方式而不是Fuseki接口执行此操作?

我正在尝试从java访问命令提示符并使用s-put命令,但我得到一个没有这样的文件或目录错误:

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

我目前只有一个名为Test in fuseki的数据集,而Definitions.graph.ttl与Jena在同一个包中

java jena fuseki
1个回答
1
投票

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

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

你用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");
}
© www.soinside.com 2019 - 2024. All rights reserved.