如何在Eclipse中使用Java与Fuseki进行交互

时间:2017-04-12 17:59:33

标签: java eclipse sparql fuseki

我正在按照本教程here将新资源插入Fuseki的数据集中,但我收到此错误:

  

String类型中的方法格式(String,Object [])不适用于参数(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();
    }

}

enter image description here

如何修复该错误?

1 个答案:

答案 0 :(得分:1)

当java项目版本为1.4时,此问题很常见。

IDE的模板默认情况下项目Java版本设置为1.4或1.6是一个常见问题。您应该确保在项目中设置了正确的Java版本。

如何更改Java版本

<强>蚀:

右键点击项目 - &gt;属性 - &gt; Java构建路径 - &gt;选择JRE System Library,单击Edit并选择JDK或JRE,然后单击Java Compiler并选择Compiler compliance level to 1.8

<强>的IntelliJ

菜单 - &gt;档案 - &gt;项目结构 - &gt;项目SDK

<强> Netbeans的

这假设您安装了JDK 1.6,NetBeans知道这一点。

  • 右键单击项目,然后选择“属性”。
  • 在Library下,选择Java Platform JDK 1.8。
  • 在源类别中选择源/二进制格式JDK8。

JDK 1.8必须已经提供给NetBeans。要做到这一点,你需要菜单 - &gt;工具 - &GT; Java Platform Manager。