You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从我的Web应用向Wikidata提交数据编辑请求?

Wikidata 用户编辑提交功能实现指南

前置准备

  • 申请Wikimedia官方的OAuth1.0a凭证,所有编辑操作必须关联用户的Wikidata账号,应用需要获得用户授权后才可代提交修改,不支持匿名编辑
  • 提前做字段合法性校验:补充的内容必须符合Wikidata对应属性的取值规范,比如身高对应属性P2048、体重对应P2067、所属球队对应P54,所属球队取值必须是Wikidata已存在的实体QID,不可直接填入字符串名称

核心编辑接口调用方法

Wikibase API的实体编辑统一使用wbeditentity动作,支持新增、修改、删除实体的属性声明,以下是POST请求的核心参数示例,以给ID为Q12345的篮球运动员补充1.98米身高为例:

POST请求地址:Wikidata官方API入口
请求参数:
action: wbeditentity
id: Q12345 // 待编辑的运动员实体QID
data: {"claims":[{"mainsnak":{"snaktype":"value","property":"P2048","datavalue":{"value":{"amount":"+1.98","unit":"http://www.wikidata.org/entity/Q218593"}},"type":"statement","rank":"normal"}]}
token: ******** // 提前获取的CSRF编辑令牌
format: json
assert: user // 校验当前用户登录状态有效性

参数说明

  • data为JSON格式的修改内容,不同属性对应不同的数据值结构:数值类属性需要携带对应单位的实体ID,实体类属性(比如所属球队)直接填入目标实体的QID即可
  • 编辑令牌需要提前调用action=query&meta=tokens&type=csrf接口获取,令牌有效期较短,每次提交编辑前都需要重新拉取

必须注意的规则

  • 所有提交的修改必须附带可靠来源引用,Wikidata不接受无来源的内容修改,你需要在用户补充信息的同时收集来源链接(比如球队官网页面、权威体育媒体报道),提交时将引用信息写入data字段的references节点,否则编辑会被社区志愿者回滚
  • 不要批量提交未校验的内容,Wikidata内置反垃圾机制,短时间内大量无效提交会导致你的应用OAuth权限被封禁
  • 功能开发阶段可以先用Wikidata测试沙箱环境调试,所有流程跑通后再上线正式环境的提交功能

学习路径

  1. 先掌握Wikibase基础数据模型,搞清楚实体、属性、声明、引用、秩这些核心概念,再动手调试接口
  2. 先在测试环境手动调用接口完成几次修改操作,熟悉参数结构和错误返回规则,再将逻辑封装到你的应用中
  3. 可以参考现有开源Wikidata编辑工具的实现逻辑,学习字段校验、来源拼接的通用规则

内容的提问来源于stack exchange,提问作者Riomare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:48:00