【发布时间】:2012-06-03 22:37:39
【问题描述】:
我想获得 sparql 查询结果的总数。我在java中为此使用jena API。 计数查询在 virtuoso 中有效,但在 java 中使用 jena api 无效。
Sparql 查询:
select ( count ( ?name ) AS ?total ) from < mygraph >
where { ?name rdf:type foaf:Name}
它在耶拿 API 中不起作用。我已阅读http://www.w3.org/2001/sw/DataAccess/issues#countAggregate 所以我认为它不在 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();
}
以下是例外: HttpException: HttpException: 400 Bad Request: HttpException: 400 Bad Request.....
【问题讨论】:
-
“它不工作”是什么意思?发生了什么?任何错误信息等?您如何尝试在 Jena API 中运行查询?
-
显示一些使用 Jena API 的代码会很有用。
-
这是我用于此查询的 java 代码。
标签: sparql semantic-web jena virtuoso