我试图让拥有超过 3 本书的作者从 DBPedia 使用以下内容:
SELECT ?author (COUNT(*) as ?count) WHERE {?works dbo:author ?author. }
Group by(?author)
ORDER BY DESC (?count)
HAVING (?count > 3)
Run Code Online (Sandbox Code Playgroud)
但我收到语法错误,当我删除 HAVING 子句时,其余部分工作正常,知道可能是什么问题吗?
错误告诉您“?count用于聚合之外的结果集”,所以基本上您应该使用“聚合解决方案”,您可以这样做:
SELECT ?author (COUNT(*) as ?count) WHERE {?works dbo:author ?author. }
Group by ?author
HAVING (COUNT(*) > 3)
ORDER BY DESC (?count)
Run Code Online (Sandbox Code Playgroud)
您可以在这里看到正式语法。