我有一个查询来获取所有首都。 (首都城市)
SELECT DISTINCT ?Stadt ?label ?Staat ?StaatLabel ?geographische_Koordinaten ?StadtLabel WHERE {
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
?Stadt wdt:P31 wd:Q5119.
?Stadt rdfs:label ?label.
OPTIONAL { ?Stadt wdt:P17 ?Staat. }
OPTIONAL { ?Stadt wdt:P625 ?geographische_Koordinaten. }
}
LIMIT 100
结果是:
wd:Q61 Washington D.C. wd:Q30 Vereinigte Staaten Point(-77.036666666 38.895) Washington, D.C.
wd:Q61 Washington D. C. wd:Q30 Vereinigte Staaten Point(-77.036666666 38.895) Washington, D.C.
wd:Q61 واشنگٹن ڈی سی wd:Q30 Vereinigte Staaten Point(-77.036666666 38.895) Washington, D.C.
wd:Q61 Washington D.C. wd:Q30 Vereinigte Staaten Point(-77.036666666 38.895) Washington, D.C.
wd:Q61 واشنګټن ډي سي wd:Q30 Vereinigte Staaten Point(-77.036666666 38.895) Washington, D.C.
wd:Q61 Вашингтон wd:Q30 Vereinigte Staaten Point(-77.036666666 38.895) Washington, D.C.
wd:Q61 ওয়াশিংটন, ডি.সি. wd:Q30 Vereinigte Staaten Point(-77.036666666 38.895) Washington, D.C.
我用多种语言获得了同一个城市的许多结果。
如何过滤查询,以便每个城市只有一个带有英文标签的结果?
*更新*
感谢帮助斯坦尼斯拉夫。你回答了这个问题。我的新查询是:
SELECT DISTINCT ?Stadt ?label ?StadtLabel ?Staat ?StaatLabel ?geographische_Koordinaten WHERE {
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
?Stadt wdt:P31 wd:Q5119.
?Stadt wdt:P17 ?Staat.
OPTIONAL { ?Stadt wdt:P625 ?geographische_Koordinaten. }
}
LIMIT 100
我可以问下一个问题吗?为什么我不仅得到这个查询的大写字母?为什么"?Stadt wdt:P31 wd:Q5119。"被忽略了?
答案 0 :(得分:0)
关注@Stanislav Kralin的通讯和示例here,此查询会返回国家/地区及其首都:
SELECT ?country ?countryLabel ?capital ?capitalLabel ?coords WHERE {
?country wdt:P31 wd:Q3624078.
?country wdt:P36 ?capital.
FILTER NOT EXISTS {?country wdt:P31 wd:Q3024240} # not a former country
OPTIONAL { ?capital wdt:P625 ?coords. }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
ORDER BY ?countryLabel
LIMIT 1000
但some countries,Bolivia和Costa Rica等South Africa因某些原因而拥有多个资本!
要将每个国家/地区限制为一个(随机)资本,请尝试:
SELECT ?country ?countryLabel ?aCapital ?aCapitalLabel ?coords
WHERE
{ { { SELECT ?country (SAMPLE(?capital) AS ?aCapital)
WHERE
{ ?country wdt:P31 wd:Q3624078
FILTER NOT EXISTS { ?country wdt:P31 wd:Q3024240 }
?country wdt:P36 ?capital
}
GROUP BY ?country
}
OPTIONAL
{ ?aCapital wdt:P625 ?coords }
SERVICE wikibase:label
{ bd:serviceParam
wikibase:language "en"
}
}
}
ORDER BY ?countryLabel
LIMIT 1000