SPARQL - Max()不起作用

时间:2015-05-17 18:58:20

标签: sparql semantic-web protege

我正在尝试在PROTEGE 2000中执行此SPARQL查询,但MAX函数无效。就像Max()不接受?cpt的类型。

SELECT  ?searcher (COUNT(?publication) AS ?cpt)
WHERE {ont:GradeP ont:isFor ?searcher.
    ?publication ont:isPublishedBy ?searcher.}
GROUP BY ?searcher 
HAVING (MAX(?cpt))

这是例外:

SparqlReasonerException: org.openrdf.query.QueryEvaluationException: Unsupported value expr type: class org.openrdf.query.algebra.Max
  

请求在没有HAVING的情况下正常运行,所以我猜没有问题   用我的本体论。   所以可以请任何人告诉我问题在哪里。谢谢!

1 个答案:

答案 0 :(得分:2)

我不确定你为什么在这里使用group by,但也许你有理由。一种方法是使用order by。我在dbpedia上提供了一个例子。

select distinct ?x count(?y) as ?count
where{
    ?x a dbpedia-owl:Person.
    ?x dbpprop:author  ?y
}
order by desc(?count)
limit 1

结果是here