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になります:(。このプロパティを1回以上持っている人がいるため、カウントが増えています。しかし、このプロパティを持っているアンバサダーの数を、持っている回数に関係なく取得するにはどうすればよいですか。これを実行できますか単一のクエリで?

ありがとう。

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 に答える