如何通过Wikidata SPARQL获取属性Q1902的实际值或标签?
修改SPARQL查询获取属性实际值/标签
原查询使用空白节点_:anyValueP1902无法获取属性的实际内容,需要调整变量和语句来获取实体值或其可读标签,以下是两种常见修改方式:
获取属性对应的实体项
将空白节点替换为变量(比如?location),直接获取P1902指向的行政实体:
SELECT DISTINCT ?item ?location WHERE { ?item p:P1902 ?statement0. ?statement0 ps:P1902 ?location. } LIMIT 100
获取实体的可读标签
如果需要显示实体的名称而非链接,可以借助Wikidata的标签服务获取多语言标签:
SELECT DISTINCT ?item ?location ?locationLabel WHERE { ?item p:P1902 ?statement0. ?statement0 ps:P1902 ?location. # 指定优先显示的语言,可按需调整(如只保留"zh") SERVICE wikibase:label { bd:serviceParam wikibase:language "zh,en". } } LIMIT 100
这段查询会自动返回?location对应的中文标签,若中文标签不存在则 fallback 到英文标签。
内容的提问来源于stack exchange,提问作者alpacafondue
相关产品推荐
相关产品推荐

