【问题标题】:Using the WikiData API to retrieve the entities listed in a disambiguation page使用 WikiData API 检索消歧页面中列出的实体
【发布时间】:2017-03-21 12:37:10
【问题描述】:

我有一个对应于维基百科消歧页面的 WikiData id,例如 Q1811449。我想获取此页面上列出的实体的 ID。

是否可以使用 WikiData API 来做到这一点?我在 Q1811449 中找不到任何可用于此目的的属性。

如果不可能,有没有人知道另一种方法?我正在考虑检索相应的维基百科消歧页面,提取其中包含的内部链接,然后在 WikiData 上查找它们。但也许有更简单的方法?

【问题讨论】:

    标签: wikipedia wikipedia-api wikidata wikidata-api


    【解决方案1】:

    基于this SO answer,这是我目前的解决方案。

    我使用存储在 WikiData 上的实体标签查询 WikiMedia API(不是 WikiData)以获取考虑的消歧页面(在问题中使用的示例中,它是“Lecointe”)。使用适当的参数,可以获取页面中列出的实体的 id: https://fr.wikipedia.org/w/api.php?action=query&generator=links&format=xml&redirects=1&titles=Lecointe&prop=pageprops&gpllimit=50&ppprop=wikibase_item

    在哪里:

    • titles=Lecointe是消歧页的标签;
    • format=xml 明显指定了输出格式;
    • redirects=1 自动解决重定向问题;
    • generator=linksprop=pagepropsgpllimit=50ppprop=wikibase_item 允许获取 id;

    不过,如果有人知道仅使用 Wikidata 的解决方案,我会很高兴。

    【讨论】:

    • 没有;项目描述实体,消歧页面描述单词。消歧页面完全有 wikidata 项目是系统的内部怪癖(因为 Wikidata 也用于在不同语言的 Wikipedia 之间创建导航链接,并且能够在多语言的同一个词的消歧页面之间导航可能会有所帮助) ,它们并没有真正有意义。
    • 如何从消歧页面获取已消除歧义的页面列表在 wiki 之间有所不同。一些 wiki 只注意从消歧页面链接到消歧页面(而不是杂词),有些将此类链接以粗体显示,有些甚至不这样做。
    • 谢谢,很高兴知道。我已经在维基百科的英文和法文版本的几页上测试了我的方法,它似乎有效。但它可能不适用于其他语言,甚至其他 FR/EN 页面。是这个意思吗?
    • 是的。参见例如da.wikipedia.org/wiki/Skygge_(flertydig)nl.wikipedia.org/wiki/Arm 具有“辅助”链接。您可以查看给定 wiki 的样式指南,例如en.wikipedia.org/wiki/Wikipedia:Disambiguation#Page_style 但如果您打算处理来自许多 wiki 的数据,那将是一项巨大的工作。
    • 要注意的另一件事是,通常不存在具有含义的文章,并且消歧页面链接到具有更广泛主题的文章。所以比如DDB链接到List of filename extensions (A–E),因为文件格式DDB没有自己的文章。
    猜你喜欢
    • 1970-01-01
    • 2015-08-17
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多