【问题标题】:Given a predicate, count number of objects for each subject?给定一个谓词,计算每个主题的对象数?
【发布时间】:2015-02-19 18:39:09
【问题描述】:
我正在尝试编写一个 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 .
}
【问题讨论】:
标签:
rdf
sparql
semantic-web
linked-data
【解决方案1】:
您的查询不合法。如果您查看sparql.org's query validator,您将收到回复:
语法错误:
SELECT 中的非组键变量:?quote
您需要按一个或多个变量分组。在这种情况下,您想计算 ?quote 的 ?quotedBy 值 per 值的数量,所以
您需要按 ?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