作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
嗨,我创建了一个 java 程序,在其中获取 ttl 文件并更新海龟语句。由于我有一个连接到 fusion 来查询 ttl 文件的 Web 界面,我想使用新数据重新上传 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 fusion 的数据集,Definitions.graph.ttl 与 Jena 位于同一包中
最佳答案
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");
}
关于java - 有没有办法以编程方式将 ttl 文件上传到 Fuseki?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55865903/
我是一名优秀的程序员,十分优秀!