mediawiki - 从 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 属性,但我不确定如何将这些代码映射到实际的文本名称。任何帮助将不胜感激。
解决方案
维基数据不保证包含维基百科信息框所做的所有数据。许多维基百科社区决定在他们的信息框中使用维基数据,但不是全部(值得注意的是,英文维基百科以不使用维基数据而闻名)。即使是确实使用来自 Wikidata 的数据的 Wikipedia,他们也不需要使用所有数据,并且他们仍然可以决定手动填写一些数据。
如果您只想使用信息框中的数据,也许https://dbpedia.org是更好的选择?
推荐阅读
- dom - 如何在 p5.JS 中将函数集成到 populateOptions 中
- java - JsonSyntaxException: java.lang.IllegalStateException: 预期 BEGIN_OBJECT 但在第 1 行第 3 列路径 $[0] 处为 STRING
- r - Table1() R 中的描述性统计
- javascript - 使用 chrome.webrequest.onBeforeSendHeaders 更改扩展中的引用者
- python - 尝试使用 CV2 从 WebCam 捕获视频时出错
- ms-access - MS ACCESS - 如何在更改事件中获取未绑定组合框的当前列值
- python - 将 Tensorflow 1 代码升级到 TensorFlow 2 代码期间的警告
- html - 图片上1px的白边不会消失
- c - 将 char 数组传递给 const char * 时 strptime 引发分段错误
- html - 我的选择没有收到滚动 webkit(样式组件)