sparql - 如何从 Wikidata 中获取属性的标签?
问题描述
我可以rdfs:label
用来获取对象的文本值,例如:
SELECT DISTINCT * WHERE {
wd:Q19675 rdfs:label ?label .
FILTER (langMatches( lang(?label), "ES" ) )
}
会给我这个值Museo del Louvre
,因为它是对象的标签Q19675
。
但是如果我想获得一个属性的标签怎么办?(不工作)示例:
SELECT * WHERE {
wdt:P131 rdfs:label ?label .
}
我应该怎么做才能获取属性的文本值(标签)P131
?此属性的标签应为located in the administrative territorial entity
。
解决方案
我自己找到了解决方案:
SELECT ?wdLabel WHERE {
VALUES (?wdt) {(wdt:P131)}
?wd wikibase:directClaim ?wdt .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
我们SERVICE wikibase:label...
只需要为了指定我们的属性标签的语言。
推荐阅读
- php - Elastic Beanstalk 未运行正确的 PHP 版本
- c# - 如何关闭或处置自托管服务?
- python - np.dot 的维度要求是什么?
- apache-kafka - 可以将 Kafka-Cluster 切成两半吗?
- html - 如何使用下拉值和电子邮件发送底部修复 HTML
- javascript - 如何在 JavaScript 中隐藏一个类
- c++ - GLSL 统一 mat4 始终为 0
- java - 额外津贴不计入工资总额
- java - 在 patricia trie 中查找所有作为字符串前缀的键
- indexing - 为什么我一直看到第 13 行(“文件”)的未定义索引错误?