10

好的,所以我有这个查询

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 :(。所以它计数更多,因为有人拥有此属性一次或多次。但是无论他们拥有多少次,我如何获得拥有此属性的大使的数量。你能做到这一点在一个查询中?

谢谢。

4

1 回答 1

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 的结果,这可能是正确的,也可能不是正确的:)。

于 2011-05-11T15:24:00.307 回答