如何在 Eclipse 中使用 Java 与 Fuseki 交互
How to interact with Fuseki using Java in Eclipse
我正在按照本教程 here 将新资源插入 Fuseki
的数据集中,但出现此错误:
the method format(String, Object[]) in the type String is not applicable for the arguments (String, String)
这是代码:
import java.util.UUID;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.query.ResultSetFormatter;
import com.hp.hpl.jena.update.UpdateExecutionFactory;
import com.hp.hpl.jena.update.UpdateFactory;
import com.hp.hpl.jena.update.UpdateProcessor;
/**
* Example connection to Fuseki. For this to work, you need to start a local
* Fuseki server like this: ./fuseki-server --update --mem /ds
*/
public class FusekiTest {
/** A template for creating a nice SPARUL query */
private static final String UPDATE_TEMPLATE =
"PREFIX dc: <http://purl.org/dc/elements/1.1/>"
+ "INSERT DATA"
+ "{ <http://example/%s> dc:title \"A new book\" ;"
+ " dc:creator \"A.N.Other\" ." + "} ";
public static void main(String[] args) {
//Add a new book to the collection
String id = UUID.randomUUID().toString();
System.out.println(String.format("Adding %s", id));
UpdateProcessor upp = UpdateExecutionFactory.createRemote(
UpdateFactory.create(String.format(UPDATE_TEMPLATE, id)),
"http://localhost:3030/ds/update");
upp.execute();
}
}
我该如何修复该错误?
当 java 项目版本为 1.4 时,此问题很常见。
项目Java版本被IDE在模板中默认设置为1.4或1.6是一个常见问题。您应该确保在您的项目中设置了正确的 Java 版本。
如何更改您的 Java 版本
日食:
右击项目 -> 属性 -> Java 构建路径 -> select JRE 系统库 点击编辑 select JDK 或者 JRE 然后点击 Java 编译器和 select 编译器合规级别为 1.8
IntelliJ
菜单 -> 文件 -> 项目结构 -> 项目 SDK
Netbeans
这假定您安装了 JDK 1.6 并且 NetBeans 知道这一点。
- 右键单击项目和 select 属性。
- 在库下,select Java 平台 JDK 1.8.
- Select Source/Binary 源类别中的格式 JDK8。
JDK 1.8 必须已经提供给 NetBeans。为此,您需要菜单 -> 工具 -> Java 平台管理器。
我正在按照本教程 here 将新资源插入 Fuseki
的数据集中,但出现此错误:
the method format(String, Object[]) in the type String is not applicable for the arguments (String, String)
这是代码:
import java.util.UUID;
import com.hp.hpl.jena.query.QueryExecution;
import com.hp.hpl.jena.query.QueryExecutionFactory;
import com.hp.hpl.jena.query.ResultSet;
import com.hp.hpl.jena.query.ResultSetFormatter;
import com.hp.hpl.jena.update.UpdateExecutionFactory;
import com.hp.hpl.jena.update.UpdateFactory;
import com.hp.hpl.jena.update.UpdateProcessor;
/**
* Example connection to Fuseki. For this to work, you need to start a local
* Fuseki server like this: ./fuseki-server --update --mem /ds
*/
public class FusekiTest {
/** A template for creating a nice SPARUL query */
private static final String UPDATE_TEMPLATE =
"PREFIX dc: <http://purl.org/dc/elements/1.1/>"
+ "INSERT DATA"
+ "{ <http://example/%s> dc:title \"A new book\" ;"
+ " dc:creator \"A.N.Other\" ." + "} ";
public static void main(String[] args) {
//Add a new book to the collection
String id = UUID.randomUUID().toString();
System.out.println(String.format("Adding %s", id));
UpdateProcessor upp = UpdateExecutionFactory.createRemote(
UpdateFactory.create(String.format(UPDATE_TEMPLATE, id)),
"http://localhost:3030/ds/update");
upp.execute();
}
}
我该如何修复该错误?
当 java 项目版本为 1.4 时,此问题很常见。
项目Java版本被IDE在模板中默认设置为1.4或1.6是一个常见问题。您应该确保在您的项目中设置了正确的 Java 版本。
如何更改您的 Java 版本
日食:
右击项目 -> 属性 -> Java 构建路径 -> select JRE 系统库 点击编辑 select JDK 或者 JRE 然后点击 Java 编译器和 select 编译器合规级别为 1.8
IntelliJ
菜单 -> 文件 -> 项目结构 -> 项目 SDK
Netbeans
这假定您安装了 JDK 1.6 并且 NetBeans 知道这一点。
- 右键单击项目和 select 属性。
- 在库下,select Java 平台 JDK 1.8.
- Select Source/Binary 源类别中的格式 JDK8。
JDK 1.8 必须已经提供给 NetBeans。为此,您需要菜单 -> 工具 -> Java 平台管理器。