Mediawiki 从Wikidata获取Wikipedia infoxbox数据

Mediawiki 从Wikidata获取Wikipedia infoxbox数据,mediawiki,wikipedia,wikidata,Mediawiki,Wikipedia,Wikidata,我正在尝试从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(

我正在尝试从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页面中的一些数据,如“行业:在线食品订购,食品配送”。有没有办法通过Wikidata找到这些数据?此外,返回的数据使用代码代替属性名称,例如,对于Wikipedia信息框中的“已建立”属性,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”
指的是已建立的属性,但我不确定如何将这些代码映射到实际的文本名称。任何帮助都将不胜感激。

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


如果您只想使用信息框中的数据,也许是更好的选择?

我不确定,但认为API解决方案将是痛苦的(您可能需要再次向API请求将编码属性转换为人类语言)。对于这些任务,使用构建查询要容易得多。例如,访问并打开右侧的“编辑SPARQL”。。。它只需获取食品行业的所有公司,并打印它们的位置和经营项目(如果有的话)。你可以得到JSON和其他格式的结果。。。你需要什么样的公司?这仅仅是一些公司的列表,还是你想要所有具有特定特征的公司(例如GB中的食品行业)?数据不一定相同。有关更多详细信息/其他选项,请参阅。我不知道有什么解决方案可以从信息框中提取所有字段。Wikipedia中的一些信息框是从Wikidata填充的,但是有些是手动维护的,并且具有不同的结构(这是@Tgr所说的)。要了解可用内容,您可以查看。正如你所见,没有关于英国或“科技”的信息。一般来说,您可以筛选项并获取某些属性的值。但不幸的是,不可能(或非常困难)获得所有公司的所有值。@Max888 DBPedia数据是从Wikipedia信息框(以及其他一些来源)中提取的。Wikidata通常不是这样,尽管有时人们会将信息从Wikipedia信息框复制到Wikidata,而一些Wikipedia信息框会从Wikidata中提取信息。因此,如果您特别想要信息框中的数据,应该使用DBPedia。Wikidata有一些不同的信息——可能更好,也可能更糟,这取决于您的用例。