使用Jena api的Sparql计数查询
我想获得sparql查询结果的总数。我正在java中为此使用jena API。 计数查询在virtuoso中工作,但在使用jena api的java中不工作 Sparql查询:使用Jena api的Sparql计数查询,sparql,semantic-web,jena,virtuoso,Sparql,Semantic Web,Jena,Virtuoso,我想获得sparql查询结果的总数。我正在java中为此使用jena API。 计数查询在virtuoso中工作,但在使用jena api的java中不工作 Sparql查询: select ( count ( ?name ) AS ?total ) from < mygraph > where { ?name rdf:type foaf:Name} 从 其中{?name rdf:type foaf:name} 它在jena API中不起作用。我读过 所以我认为它不是在rdf中
select ( count ( ?name ) AS ?total ) from < mygraph >
where { ?name rdf:type foaf:Name}
从
其中{?name rdf:type foaf:name}
它在jena API中不起作用。我读过
所以我认为它不是在rdf中工作,而是在Virtuoso sparql编辑器中工作。
所以,如果你有一个解决方案,请告诉我。也告诉我,如果有替代的解决方案
多谢各位
这是我的java代码
String countQueryString="select ( count ( ?name ) AS ?total ) from < mygraph >
where { ?name rdf:type foaf:Name}";
Query selectQuery = QueryFactory.create(countQueryString);
QueryExecution qe = QueryExecutionFactory.sparqlService(Constant.SPARQL_ENDPOINT, selectQuery);
Resultset results=qe.execSelect();
if(results.hasNext())
{
totalCount=countResult.next().get("total").toString();
}
String countQueryString=“从
其中{?name rdf:type foaf:name}”;
Query selectQuery=QueryFactory.create(countQueryString);
QueryExecution qe=QueryExecutionFactory.sparqlService(Constant.SPARQL_ENDPOINT,selectQuery);
Resultset results=qe.execSelect();
if(results.hasNext())
{
totalCount=countResult.next().get(“total”).toString();
}
以下是例外情况:
HttpException:HttpException:400错误请求:HttpException:400错误请求…..查看ARQ文档以获得聚合支持(我遇到了类似的问题) 它似乎不支持
(count(?variable) as ?binding)
在过去,我还尝试删除聚合投影周围的括号,即:
select count ( ?name ) AS ?total from < mygraph > where { ?name rdf:type foaf:Name}
从中选择count(?name)AS?total,其中{name rdf:type foaf:name}
但这是因为演奏家实际上对他们有意见。你说的“它不起作用”是什么意思?发生了什么事?有错误信息吗?如何在Jena API中运行查询?显示一些使用Jena API的代码会很有用。以下是我用于此查询的java代码。删除括号对我不起作用