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;
}
他们说现在com.hp.hpl.jena.sparql.Engine.Binding.BindingMap在这个版本中不是一个简单的类,而是一个接口。
如果是这样,那么如何在当前版本中运行sparql查询。请根据我分享的代码给出一个例子。提前道谢。
类路径上有多种版本。
您链接到的信息是正确的-BindingMap变成了一个接口,所以如果您看到java.lang.InstantiationError就意味着调用代码来自ARQ的早期版本。
检查类路径上没有一个以上的Jena代码副本,并且在JVM的认可目录中没有副本。
我使用jena创建了一个用于电子邮件存储的rdf模型。我的thr rdf代码是: 这是我查询rdf模型的代码。在这里,我从命令行获取输入,但是字符串的查询也可以工作... 这显示了查询的工作情况:
我有3个本体文件,第一个导入第二个,第二个导入第三个: 第一个本体导入第二个本体: 第二个本体导入第三个本体: 第三个本体(创建于Protégé)断言一个个体: 当我在Protégé中打开第一个本体并执行SPARQL查询时 它在第三个本体论中找到个体是没有问题的。当我从Jena中的代码运行相同的SPARQL查询时,我没有得到那个个体。查询是针对使用默认设置创建的OntModel运行的。 我知道Je
问题内容: 相同的查询在DBpedia Endpoint(http://ko.dbpedia.org/sparql)中有效,但在我的Java代码中却无效。我只是想使用“ COUNT”功能提取频率。 错误如下。 我正在使用virt_jena2.jar和virtjdbc4.jar。我一直在寻找类似的问题和答案(Jena ARQ扩展和SPARQL 1.1支持此聚合查询- 但我找不到如何更改它-我认为我正
问题内容: 我正在尝试使用耶拿创建一个SPARQL查询来查询DBpedia。 当我将查询与独立工具(Twinkle)一起使用时,该查询正在运行,但是当我将其插入此Java代码时,它将返回一个空集。 有什么想法我做错了吗? 问题答案: 问题是你的条款。删除它,一切都很好。有了该子句,我怀疑端点将查询限制在具有该名称的图上,但是不存在这样的图,因此没有结果。 令人困惑的是,查询似乎可以在http://
我是sparql的新手,我正在尝试在其中一个属性中搜索一个单词。简单的查询工作良好,但我不知道如何执行全文搜索。我在jena网站上看到了这个例子:
我有一个jena查询,比如,我想在结尾处添加一个限制为,使用jena ARQ向SPARQL查询添加可选子句的方法不起作用,因为没有类的ElementLimit类型,而且我也不想进行字符串操作,因为可能存在现有的limit子句,在这种情况下,我想更改现有子句的界限。