如何编写Wikidata查询获取带维基百科页面且站点链接达标的所有条目?
Wikidata 查询:筛选高站点链接的所有条目
要实现针对所有符合条件的条目查询,只需移除原查询中限定条目类别的?item wdt:P31 wd:Q223557语句即可。这条语句的作用是限制结果仅属于Q223557对应的特定类别,去掉它就能覆盖所有Wikidata条目。
修改后的完整查询如下:
SELECT ?item ?itemLabel ?itemDescription ?sitelinks WHERE { ?item wikibase:sitelinks ?sitelinks . # 若需排除特定条目,可取消注释并添加对应QID # MINUS {?item wd:Q5 } # MINUS {?item wd:Q8253} # MINUS {?item wd:Q9174} FILTER (?sitelinks > 20) SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". } } ORDER BY DESC(?sitelinks)
关键说明:
wikibase:sitelinks是Wikidata内置的通用属性,用于获取条目的所有站点链接总数,所有带有站点链接的条目都会返回该值,无需额外定义。- 如果需要严格确保条目存在维基百科页面(而非其他维基项目的站点链接),可以添加以下过滤语句:
不过当站点链接数量足够高时,条目几乎必然包含维基百科页面,这一步可根据需求选择是否添加。?item schema:about ?wikiPage . ?wikiPage a schema:Article . - 原查询中的
MINUS语句用于排除特定条目,保留即可按需启用。
内容的提问来源于stack exchange,提问作者Frederik Grobe
相关产品推荐
相关产品推荐

