SPARQL具有给出语法错误的子句

SPARQL具有给出语法错误的子句,sparql,dbpedia,Sparql,Dbpedia,我正试图让那些拥有3本以上DBPedia书籍的作者使用以下方法: SELECT ?author (COUNT(*) as ?count) WHERE {?works dbo:author ?author. } Group by(?author) ORDER BY DESC (?count) HAVING (?count > 3) 但是我收到一个语法错误,当我删除HAVING子句时,其余的都可以正常工作,你知道会出现什么问题吗?你有: Group by(?author)ORDER by

我正试图让那些拥有3本以上DBPedia书籍的作者使用以下方法:

SELECT ?author (COUNT(*) as ?count) WHERE {?works dbo:author ?author. }

Group by(?author)
ORDER BY DESC (?count)
HAVING (?count > 3)
但是我收到一个语法错误,当我删除HAVING子句时,其余的都可以正常工作,你知道会出现什么问题吗?

你有:
Group by(?author)ORDER by DESC(?count)have(?count>3)
但是
HAVING
应该在
ORDER BY

之前错误告诉您“?count在聚合之外的结果集中使用”,因此基本上您应该使用“聚合解决方案”,您可以这样做:

SELECT ?author (COUNT(*) as ?count) WHERE {?works dbo:author ?author. }    
Group by ?author
HAVING (COUNT(*) > 3)
ORDER BY DESC (?count)

您可以看到正式语法。

您应该发布错误。可能的重复更改为选择?author(COUNT(*)as?COUNT),其中{works dbo:author?author.}按作者分组(?COUNT>3)按描述排序(?COUNT)没有运气,如下所示:Virtuoso 37000错误SP031:SPARQL编译器:变量?计数用于聚合之外的结果集中,在GROUP BY子句SPARQL query:#输出格式:应用程序/SPARQL结果+json定义输入:默认图形uri前缀owl:前缀xsd:前缀rdfs:前缀rdf:前缀foaf:前缀dc:前缀:前缀dbpedia2:前缀dbpedia:前缀skos:选择?author(COUNT(*)as?COUNT),其中{works dbo:author?author.}按(?author)分组,按描述(?COUNT>3)排序(?COUNT)