Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在jena中运行sparql查询时出现java.lang.InstanceionError_Java_Jakarta Ee_Rdf_Sparql_Jena - Fatal编程技术网

在jena中运行sparql查询时出现java.lang.InstanceionError

在jena中运行sparql查询时出现java.lang.InstanceionError,java,jakarta-ee,rdf,sparql,jena,Java,Jakarta Ee,Rdf,Sparql,Jena,亲爱的朋友,我正在使用Jena框架和virtuoso的RDF数据库模型 在我的项目中。我的jena版本是jena-core2.7.2和jena-arq-2.9.2 这是我的代码,它给了我错误 public JsonArray getCountryAutoSuggestData() { JsonArray countryArray = new JsonArray(); Model model = DataModel.getModel(); String mystr = "

亲爱的朋友,我正在使用Jena框架和virtuoso的RDF数据库模型 在我的项目中。我的jena版本是jena-core2.7.2和jena-arq-2.9.2

这是我的代码,它给了我错误

public JsonArray getCountryAutoSuggestData()
{
    JsonArray countryArray = new JsonArray();
    Model model = DataModel.getModel();
    String mystr = " PREFIX plcontologyurl:<http://www.plcontology.com/#> "
            + " PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#> "
            + "select ?cn"
            + " where "
            + " { "
            + " ?d plcontologyurl:Country_Name ?cn . "
            + "}";
    Query query = QueryFactory.create(mystr);
    QueryExecution qe = QueryExecutionFactory.create(query, model);
    QuerySolutionMap qMap = new QuerySolutionMap();
    qe.setInitialBinding(qMap);
    ResultSet rs = qe.execSelect();
    while(rs.hasNext())
    {
        qMap = (QuerySolutionMap)rs.next();
        countryArray.add(new JsonPrimitive(qMap.getLiteral("cn").getString()));
    }
    return countryArray;
}
错误为java.lang.InstanceError:com.hp.hpl.jena.sparql.engine.binding.BindingMap 排队 惠勒·哈斯奈特

我试着寻找这个问题,我发现了一个

他们说现在com.hp.hpl.jena.sparql.engine.binding.BindingMap不是一个简单的 在这个版本中现在是类,但现在是接口

如果是这样,那么如何在当前版本中运行sparql查询。 请根据我分享的代码给出一个例子。
提前感谢。

类路径上有多种版本

您链接到的信息是正确的-BindingMap成为了一个接口,因此如果您看到java.lang.InstanceError,则表示调用代码来自早期版本的ARQ


检查类路径上没有超过一个Jena代码副本,并且JVM的认可目录中没有副本。

类路径上有多种版本

您链接到的信息是正确的-BindingMap成为了一个接口,因此如果您看到java.lang.InstanceError,则表示调用代码来自早期版本的ARQ

检查类路径上没有超过一个Jena代码副本,并且JVM的认可目录中没有副本