SPARQL - 计算类似三元组的数量

时间:2016-06-05 13:08:20

标签: count group-by sparql

什么SPARQL查询可以相同三元组的数量?

SELECT ?s ?p ?o .

s p o
-----
a b c
x y z
a b c
r s t
x y z
a b c

通缉输出:

s p o num
----------
a b c 3
x y z 2
r s t 1

希望得到像

这样的东西
SELECT ?s ?p ?o (COUNT(*) AS ?num)
GROUP BY ?s ?p ?o

但无法让它发挥作用......

1 个答案:

答案 0 :(得分:1)

有些评论解决了为什么你在单个图表中实际上没有重复三元组​​的原因,但是如果可以的话,你可以使用类似于你提议的查询:

select ?s ?p ?o (count (*) as ?n) {
  ?s ?p ?o
}
group by ?s ?p ?o

单个图是三元组的集合(即没有重复),因此永远不会包含"重复的三元组"。在具有多个图形的数​​据集中,这样的模式基本上会计算包含三元组的图形数量:

graph ?g { ?s ?p ?o }