给定一个谓词,计算每个主题的对象数量?
Given a predicate, count number of objects for each subject?
我正在尝试编写一个 SPARQL 查询,它将 return 一个主题及其针对特定谓词的对象数量。这是我拥有的,但它不起作用。
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 .
}
您的查询不合法。如果您在 sparql.org's query validator 检查,您将得到响应:
Syntax error:
Non-group key variable in SELECT: ?quote
您需要按 一个或多个变量进行分组。在这种情况下,您想计算 ?quotedBy 值的数量 per 值 ?quote,所以
你需要 group by ?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
我正在尝试编写一个 SPARQL 查询,它将 return 一个主题及其针对特定谓词的对象数量。这是我拥有的,但它不起作用。
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 .
}
您的查询不合法。如果您在 sparql.org's query validator 检查,您将得到响应:
Syntax error:
Non-group key variable in SELECT: ?quote
您需要按 一个或多个变量进行分组。在这种情况下,您想计算 ?quotedBy 值的数量 per 值 ?quote,所以 你需要 group by ?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