SPARQL:排除计数中的双重资源

SPARQL:排除计数中的双重资源,sparql,rdf,dbpedia,turtle-rdf,Sparql,Rdf,Dbpedia,Turtle Rdf,我正在尝试编写一个SPARQL查询,它只计算每所大学的荷兰政治家人数。然而,对于每个dbo:母校,一些政客都有一个额外的资源(比如他们的专业dbr:社会学)。这也反映在计数中。例如我在莱顿大学得了49分,那里应该只有42分。你知道我该怎么解决这个问题吗?我尝试过过滤器不存在和负,但两者对计数都没有作用。多谢各位 我的问题是: SELECT distinct ?education (COUNT(?education) AS ?edu_count) WHERE { ?name <http:

我正在尝试编写一个SPARQL查询,它只计算每所大学的荷兰政治家人数。然而,对于每个dbo:母校,一些政客都有一个额外的资源(比如他们的专业dbr:社会学)。这也反映在计数中。例如我在莱顿大学得了49分,那里应该只有42分。你知道我该怎么解决这个问题吗?我尝试过过滤器不存在和负,但两者对计数都没有作用。多谢各位

我的问题是:

SELECT distinct  ?education (COUNT(?education) AS ?edu_count) 
WHERE { ?name <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://dbpedia.org/ontology/Person>.
        ?name <http://dbpedia.org/ontology/birthPlace> <http://dbpedia.org/resource/Netherlands>.
        ?name <http://dbpedia.org/ontology/party> ?party.
        ?name <http://dbpedia.org/ontology/almaMater> ?education.
        ?education <http://dbpedia.org/ontology/type> <http://dbpedia.org/resource/Public_university>.

        
} GROUP BY ?education 
ORDER BY DESC(?edu_count)
选择不同的教育(计数(?教育)作为教育计数)
哪里{?名字。
名称
名字?派对。
名字?教育。
?教育。
}分组教育
按描述排序(?教育计数)

根据注释修改了查询,为清晰起见,添加了额外的空白,及--

SELECT?教育
(计数(不同的名称)为cnt)
哪里{?名字。
名称
名字?派对。
名字?教育。
?教育。
} 
分组教育
按描述排序(?cnt)
ASC(?教育)

根据注释修改了查询,为清晰起见,添加了额外的空白,及--

SELECT?教育
(计数(不同的名称)为cnt)
哪里{?名字。
名称
名字?派对。
名字?教育。
?教育。
} 
分组教育
按描述排序(?cnt)
ASC(?教育)

请尝试
过滤器存在{name dbo:party?party},而不是
?name dbo:party?party
。为什么?@stanislavKralin非常感谢,不知道我们可以使用这样的过滤器。关于sql,这是一个错误,我将删除它。正确的方法是对?name变量进行计数,并对每个组使用一个不同的值。使用GROUPBY时调用distinct也没有意义。它应该是
SELECT?education(COUNT(DISTINCT?name)AS?cnt)
谢谢@unformedUsers而不是
?name dbo:party?party
,尝试
过滤器存在{name dbo:party?party}
。为什么?@stanislavKralin非常感谢,不知道我们可以使用这样的过滤器。关于sql,这是一个错误,我将删除它。正确的方法是对?name变量进行计数,并对每个组使用一个不同的值。使用GROUPBY时调用distinct也没有意义。它应该是
SELECT?education(计数(不同的名称)为?cnt)
Thank@UninformedUser
SELECT                               ?education
       ( COUNT ( DISTINCT ?name ) AS ?cnt )
WHERE { ?name      <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://dbpedia.org/ontology/Person> .
        ?name      <http://dbpedia.org/ontology/birthPlace>          <http://dbpedia.org/resource/Netherlands> .
        ?name      <http://dbpedia.org/ontology/party>               ?party .
        ?name      <http://dbpedia.org/ontology/almaMater>           ?education .
        ?education <http://dbpedia.org/ontology/type>                <http://dbpedia.org/resource/Public_university> .
      } 
GROUP BY ?education 
ORDER BY DESC ( ?cnt ) 
         ASC ( ?education )