Mediawiki 从Wikidata获取Wikipedia infoxbox数据
我正在尝试从Wikidata的API中获取一些公司的Wikipedia infoxbox数据。例如,Deliveroo: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(
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有一些不同的信息——可能更好,也可能更糟,这取决于您的用例。