Wikidata SPARQL技术问询:如何同时获取xLabel与nodeLabel?
问题解决:同时获取xLabel与nodeLabel
你的SPARQL查询无法获取席位持有者名称(?xLabel),原因是wikibase:label服务块仅配置了获取wd:Q70495953的标签,未声明要获取?x的标签并绑定到?xLabel。
修正后的查询代码:
SELECT ?x ?xLabel ?dn ?dd ?de ?df ?nodetext WHERE { ?x p:P39 ?node. ?node ps:P39 wd:Q70495953. # 筛选法兰西学院成员 OPTIONAL {?node pq:P580 ?de.} OPTIONAL {?node pq:P582 ?df.} OPTIONAL {?x wdt:P569 ?dn.} OPTIONAL {?x wdt:P570 ?dd.} SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". ?x rdfs:label ?xLabel . wd:Q70495953 rdfs:label ?nodetext .} }
改动说明
在SERVICE wikibase:label块中新增?x rdfs:label ?xLabel .语句,让维基数据标签服务同时返回?x(席位持有者条目)的标签,并映射到?xLabel字段,这样就能同时获取两类标签了。
内容的提问来源于stack exchange,提问作者user1788720
相关产品推荐
相关产品推荐

