求助:编写Wikidata SPARQL查询获取儿童小说作家
获取儿童小说作家的Wikidata SPARQL查询方案
这里给你修正并完善后的SPARQL查询,能精准筛选出儿童小说作家:
SELECT ?item ?itemLabel { ?item wdt:P31 wd:Q5. # 限定查询对象为人类 # 两种匹配逻辑:直接是儿童文学作家,或是创作儿童文学的小说家 { ?item wdt:P106 wd:Q2526255 } # 职业为儿童文学作家 UNION { ?item wdt:P106 wd:Q36180. # 职业为小说家 ?work wdt:P50 ?item. # 该作者有对应的作品 ?work wdt:P136 wd:Q2831984. # 作品体裁为儿童文学 } SERVICE wikibase:label { bd:serviceParam wikibase:language 'en'. } } LIMIT 10
关键部分说明:
wdt:P106 wd:Q36180:补全了你原本缺失的“小说家”职业ID(Q36180是Wikidata里“小说家”的条目ID)wdt:P106 wd:Q2526255:直接匹配职业为“儿童文学作家”的条目,这是最精准的筛选方式- 第二个分支通过
UNION补充了“本身是小说家,但创作过儿童文学作品”的人群,避免遗漏这类作者 - 如果需要中文标签,只需把
'en'修改为'zh',或者用'en,zh'同时获取中英双语标签
内容的提问来源于stack exchange,提问作者Minda
相关产品推荐
相关产品推荐

