【发布时间】:2015-10-28 18:54:06
【问题描述】:
我是 SPARQL 的新手。查询关联数据是一个有趣的概念。我已经按照教程来理解它。现在,我使用欧洲委员会的数据作为实验模型。 (http://linkedpolitics.ops.few.vu.nl/home)
现在,我想搜索每个国家/地区的席位数量。下面的这个查询给出了我想要的。
PREFIX lpv: <http://purl.org/linkedpolitics/vocabulary/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
# count seats per country
SELECT ?country (COUNT(DISTINCT ?members) AS ?c)
WHERE {
?members lpv:countryOfRepresentation ?cOR .
?cOR rdfs:label ?country .
} GROUP BY ?cOR
好吧,我认为它应该可以工作,但我得到的是下一个
?country ?c
1 "70"^^xsd:integer
2 "126"^^xsd:integer
3 "49"^^xsd:integer
4 "20"^^xsd:integer
国家列显示为空白。现在,当我将查询调整为
SELECT ?cOR (COUNT(DISTINCT ?members) AS ?c)
我明白了
?cOR ?c
1 lp:EUCountry_AT "70"^^xsd:integer
2 lp:EUCountry_BE "126"^^xsd:integer
3 lp:EUCountry_BG "49"^^xsd:integer
4 lp:EUCountry_CY "20"^^xsd:integer
这些结果是 URI(就像第一个导致 http://linkedpolitics.ops.few.vu.nl/browse/list_resource?r=http%3A//purl.org/linkedpolitics/EUCountry_AT )
当你点击它时,你可以清楚地看到 rdfs:label 指向“Austria”。但这不会出现在第一个查询结果中。
我的问题是,为什么?cOR rdfs:label ?country 会给出空白结果?
这是由“sameAs”的事情引起的吗?我该如何解决?
【问题讨论】:
标签: sparql