如何获取Wikidata中‘拥有者’(P127)属性下的‘占比’(P1107)值?
获取Wikidata中「拥有者」属性的「占比」限定符值
问题描述
我需要在query.wikidata.org上获取查询帮助,想找到获取「拥有者」(P127)属性下的「占比」(P1107)值的方法。比如奥迪(Q23317)被大众集团拥有,对应的占比值应为0.9955±0.0001。我尝试了以下代码,但未返回任何结果:
SELECT ?item ?itemLabel ?owned_by ?owned_byLabel ?proportion WHERE { wd:Q23317 wdt:P127 ?owned_by. ?statement wikibase:claim ?p. ?statement wikibase:statementProperty ?ps. ?statement wikibase:qualifier ?pq. ?pq ps:P6782 wd:Q21503247. ?statement ps:P127 ?owned_by. ?statement ps:P1107 ?proportion. SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } }
解决方案
你的查询错误在于没有正确关联条目、属性声明和限定符的关系,同时多余引入了无关的P6782(数值含义)条件。正确的SPARQL写法需要直接定位目标条目的「拥有者」属性声明,再提取该声明下的「占比」及可选的「数值不确定度」限定符:
SELECT ?item ?itemLabel ?owned_by ?owned_byLabel ?proportion ?uncertainty WHERE { # 定位目标条目(奥迪Q23317)的「拥有者」属性声明 wd:Q23317 p:P127 ?statement. # 从声明中提取拥有者实体 ?statement ps:P127 ?owned_by. # 提取声明下的「占比」限定符值 ?statement pq:P1107 ?proportion. # 可选提取「数值不确定度」,对应±值部分 OPTIONAL { ?statement pq:P1106 ?uncertainty. } # 获取实体的英文标签 SERVICE wikibase:label { bd:serviceParam wikibase:language "en". } # 绑定目标条目到?item变量,用于展示标签 BIND(wd:Q23317 AS ?item) }
代码解释
p:P127:表示属性P127的声明(而非直接属性值),用于关联到包含限定符的完整陈述ps:P127:从声明中提取实际的拥有者实体值pq:P1107:提取该声明下的「占比」限定符pq:P1106:可选提取「数值不确定度」,对应用户提到的±0.0001BIND(wd:Q23317 AS ?item):将目标条目绑定到?item变量,确保标签服务能正确返回其名称
运行这个查询后,就能得到奥迪的拥有者(大众集团)、占比0.9955以及不确定度0.0001的结果。
内容的提问来源于stack exchange,提问作者Z_98765
相关产品推荐
相关产品推荐

