问题描述
我正在尝试将某个 CONSTRUCT 查询的结果与几个聚合统计信息结合起来。当然,聚合会丢失单个行。是否有一种巧妙的 sparql 习语或安排,可以将聚合和非聚合结果结合起来,而又不至于大惊小怪和重复?
举一个简单的例子,假设我想检索所有 skos 标签,并计算每个概念有多少个标签。这是一个对标签进行计数的聚合查询:
SELECT ?s (COUNT(?o) AS ?label_count)
WHERE {
?s a skos:Concept .
?s ?p ?o
FILTER (?p IN (skos:prefLabel,skos:altLabel,skos:HiddenLabel))
}
GROUP BY ?s
所以现在我想构造所有匹配的标签三元组,加上一个三元组来保持计数,如下所示:
CONSTRUCT {
?s ?p ?o .
?s ext:numLabels ?label_count .
}
WHERE {
????
}
把这样的东西放在一起的正确方法是什么?我不能使用 SELECT 语句中的 WHERE 查询,因为它只为每个概念生成一个解决方案;谓词和标签被汇总到计数中。那么我怎样才能得到我的三元组并计算它们呢?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)