我确定我想要做的事很容易,但我似乎无法得到正确的查询。我在数据集中记录具有诸如城市名称的值的记录,例如'纽约'和相应的国家代码,例如'美国'。我也可以访问完整的国家名称和国家ISO代码。dbpedia SPARQL查询获得给定城市的特定值
我想获得人口和抽象价值的这些城市离DBpedia中,通过使用where子句,如:
Get population where name = "New York" and isoCountryCode = "US"
我搜索了这个求助无果。
到目前为止,我已经好心的@rohk与此查询,它不完全为所有地点的工作帮助:纽约
SELECT DISTINCT ?city ?abstract ?pop
WHERE {
?city rdf:type schema:City ;
rdfs:label ?label ;
dbpedia-owl:abstract ?abstract ;
dbpedia-owl:country ?country ;
dbpedia-owl:populationTotal ?pop .
?country dbpprop:countryCode "USA"@en .
FILTER (lang(?abstract) = 'en' and regex(?label, "New York City"))
}
上述工作,但是当我将其更改为:
SELECT DISTINCT ?city ?abstract ?pop
WHERE {
?city rdf:type schema:City ;
rdfs:label ?label ;
dbpedia-owl:abstract ?abstract ;
dbpedia-owl:country ?country ;
dbpedia-owl:populationTotal ?pop .
?country dbpprop:countryCode "THA"@en .
FILTER (lang(?abstract) = 'en' and regex(?label, "Bangkok"))
}
它不返回泰国曼谷的结果。
我只是不能得到正确的SPARQL查询,我敢肯定我是愚蠢的与我的查询。如果任何一位大师能够提供帮助,我会很感激。谢谢!
嗨,谢谢!如下所述,这似乎返回的是国家的细节而不是城市的细节,是否有任何方法可以指定地点类型必须是城市或城镇,而不是州或国家?再次感谢。 – Paul 2012-03-28 10:33:10
对,我编辑了我的答案 – 2012-03-28 10:38:10
删除了我的意见并更新了实际问题和进度报告,谢谢! – Paul 2012-03-28 13:11:45