如何在Wikidata SPARQL中显示带有坐标和多语言标签的位置?
我试图检索给定城市中给定类或子类(博物馆、摩天大楼等)的兴趣点列表,并为每个兴趣点显示:如何在Wikidata SPARQL中显示带有坐标和多语言标签的位置?,sparql,wikidata,Sparql,Wikidata,我试图检索给定城市中给定类或子类(博物馆、摩天大楼等)的兴趣点列表,并为每个兴趣点显示: 一行中所有已知语言的翻译标签列表(例如“自由女神像[en]\uuuuuu freiheitssstatue[de]\uuuuuuu Statua della libertá[it]”) 经纬度 其他属性(例如,摩天大楼的高度,如果有) 到目前为止,我所做的是: SELECT DISTINCT ?item (GROUP_CONCAT(DISTINCT ?lbl; separator='___') AS ?
- 一行中所有已知语言的翻译标签列表(例如“自由女神像[en]\uuuuuu freiheitssstatue[de]\uuuuuuu Statua della libertá[it]”)
- 经纬度
- 其他属性(例如,摩天大楼的高度,如果有)
SELECT DISTINCT ?item (GROUP_CONCAT(DISTINCT ?lbl; separator='___') AS ?label) WHERE {
?item wdt:P131* wd:Q61 .
?item wdt:P31/wdt:P279* wd:Q33506 .
?item rdfs:label ?l .
BIND(CONCAT(STR(?l), ' (', LANG(?l), ')') AS ?lbl)
}
GROUP BY ?item
如何添加其他信息?所说的“其他属性”是指POI的其他信息吗?你真的需要一排的东西吗?就像你对标签所做的那样。是的,如果可能的话,我想把它们显示在一行中,就像我对标签所做的一样。我所说的其他属性是指我将选择显示的一些属性。我只是不知道如何查询它们以便在单独的列中显示。嗯,这只是添加另一个三重模式,例如,对于属性
wdt:P11
,您只需添加?项wdt:P11?valP11。
。但是,如果属性有多个值,则需要再次添加GROUP\u CONCAT
,否则,同一项会有多行,每行显示属性的另一个值。