如何在 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 平台管理器。