首页 > 解决方案 > 从 Wikidata 获取 Wikipedia infoxbox 数据

问题描述

我正在尝试为许多公司从 Wikidata 的 API 获取 Wikipedia infoxbox 数据。例如,Deliveroo:

https://www.wikidata.org/w/api.php?action=wbgetentities&format=jsonfm&sites=enwiki&titles=Deliveroo&props=info%7Clabels%7Cdescriptions%7Cclaims&languages=en

API 返回的 JSON(在这种情况下实际上是嵌入在 HTML 中的 JSON - 对纯 JSON 使用 format=jsonfm)缺少来自 Wikipedia 页面的一些数据,例如“行业:在线食品订购、食品配送”。有没有办法用维基数据找到这些数据?此外,返回的数据使用代码代替属性名称,例如,对于 Wikipedia 信息框中的“Founded”属性,Wikidata 具有:

mainsnak": {
                            "snaktype": "value",
                            "property": "P571",
                            "hash": "7f617d23c9e1f8b6ce23c06baf4d3bdad9b4fbb9",
                            "datavalue": {
                                "value": {
                                    "time": "+2013-00-00T00:00:00Z",
                                    "timezone": 0,
                                    "before": 0,
                                    "after": 0,
                                    "precision": 9,
                                    "calendarmodel": "http://www.wikidata.org/entity/Q1985727"
                                },
                                "type": "time"
                            },
                            "datatype": "time"
                        },

我猜这"property": "P571",指的是founded 属性,但我不确定如何将这些代码映射到实际的文本名称。任何帮助将不胜感激。

标签: mediawikiwikipediawikidata

解决方案


维基数据不保证包含维基百科信息框所做的所有数据。许多维基百科社区决定在他们的信息框中使用维基数据,但不是全部(值得注意的是,英文维基百科以不使用维基数据而闻名)。即使是确实使用来自 Wikidata 的数据的 Wikipedia,他们也不需要使用所有数据,并且他们仍然可以决定手动填写一些数据。

如果您只想使用信息框中的数据,也许https://dbpedia.org是更好的选择?


推荐阅读