0

我正在尝试编写一个 SPARQL 查询,该查询将返回一个主题以及它对特定谓词具有的对象数。这是我所拥有的,但它不起作用。

SELECT ?quote (COUNT(?quotedBy) AS ?no) WHERE {
  ?quote <http://scta.info/property/quotationType> <http://scta.info/resource/quoteType/Biblical> . 
  ?quote <http://scta.info/property/quotedBy> ?quotedBy .
} 
4

1 回答 1

4

您的查询不合法。如果您在sparql.org 的查询验证器上进行检查,您将得到响应:

语法错误:

SELECT 中的非组键变量:?quote

您需要一个或多个变量分组。在这种情况下,您想计算每个?quote值的?quotedBy值的数量,因此您需要按 ?quote 分组

select ?quote (count(?quotedBy) AS ?no) where {
  ?quote <http://scta.info/property/quotationType> <http://scta.info/resource/quoteType/Biblical> . 
  ?quote <http://scta.info/property/quotedBy> ?quotedBy .
} 
group by ?quote 
于 2015-02-19T19:31:28.347 回答