计入SPARQL

时间:2011-05-11 15:02:07

标签: semantics rdf sparql dbpedia

好的,我有这个查询

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 

SELECT DISTINCT (COUNT(?instance) AS ?count) WHERE {
?instance a <http://dbpedia.org/ontology/Ambassador> . 
}

结果是286.很酷。现在我想得到拥有http://dbpedia.org/property/name财产的大使数量。但

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 

SELECT DISTINCT (COUNT(?instance) AS ?count) WHERE {
?instance a <http://dbpedia.org/ontology/Ambassador> . 
?instance <http://dbpedia.org/property/name> ?name
}

结果为533 :(。所以它的数量更多是因为有些人拥有这个属性一次或多次。但是如何获得拥有此属性的大使的数量,无论他们拥有多少次。你在一个查询中执行此操作吗?

感谢。

1 个答案:

答案 0 :(得分:14)

您可能想尝试一下:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 

SELECT (COUNT(DISTINCT ?instance) AS ?count) WHERE {
?instance a <http://dbpedia.org/ontology/Ambassador>; 
          <http://dbpedia.org/property/name> ?name
}

它给了我283的结果,这可能是也可能不对:)。