Appearance
状态体系
把 11 个法域、11 套互相不通的状态词表,压成四个正交维度。 原始状态原文永远保留,但跨局筛选只认这四个轴。
为什么不直接用原始状态
同一件事在各国叫法完全不同:
| 实际情况 | 美国 USPTO | 欧盟 EUIPO | 中国台湾 TIPO | 法国 INPI |
|---|---|---|---|---|
| 已注册且有效 | LIVE | Registered | 註冊 | En vigueur |
| 申请审查中 | Pending | Under examination | 審查中 | En cours d'examen |
| 已驳回 | Dead + Abandoned | Refused | 核駁 | Rejeté |
如果直接暴露原文,做一次"查全球所有有效注册商标"就要写 11 个分支,而且同一个词在不同局的含义还可能不一样。四轴模型解决的就是这件事。
轴一:status_primary —— 只有三个值
| 值 | 含义 | 库内条数 | 占比 |
|---|---|---|---|
active | 权利有效存续 | 7,540,315 | 45.9% |
dead | 已终止(任何原因) | 7,412,526 | 45.2% |
pending | 未决(申请中/审查中/异议中) | 1,458,790 | 8.9% |
这是硬约束:不存在第四个值。 expired / cancelled / refused 这些都属于 dead 下的细分,放在 stage 里。
判断"是否有效"永远写:
txt
status.primary IN (active, pending)不要写 NOT IN (dead)——将来如果引入第四值,这个写法会静默出错。
轴二:status_stage —— 23 个阶段
按父级归组,is_terminal=true 表示终态(不会再变)。
未决阶段(parent: pending)
| 值 | 中文 | 说明 |
|---|---|---|
filed | 已提交 | 刚递交,未进入审查 |
formal_examination | 形式审查 | 查材料齐备性 |
examining | 实审中 | 查显著性/在先冲突 |
published | 已公告 | 进入公示 |
awaiting_opposition | 异议期 | 公示期内可被异议 |
opposition_pending | 异议审理中 | 已被异议,等裁定 |
renewal_pending | 续展中 | 提交续展但未核准 |
appealed | 上诉中 | 对驳回提起复审/上诉 |
有效阶段(parent: active)
| 值 | 中文 |
|---|---|
registered | 已注册(库内 714 万条,最大宗) |
renewed | 已续展(36 万条) |
终态(is_terminal = true)
| 值 | 中文 | 库内条数 |
|---|---|---|
expired | 期限届满 | 297 万 |
cancelled | 已撤销 | 144 万 |
ceased | 已终止 | 71 万 |
lapsed | 未续展失效 | 54 万 |
refused | 已驳回 | 41 万 |
withdrawn | 已撤回 | 35 万 |
removed | 已移除 | 22 万 |
abandoned | 已放弃 | 13 万 |
surrender | 已退保 | 2.6 万 |
invalidated | 已无效 | — |
revoked | 撤销注册 | — |
deemed_never_made | 视为从未注册 | — |
其他
unknown(未知)、divided(分割)、split(部分转让分割)—— 结构性状态,不代表权利存续。
轴三:status_reason —— 12 个原因
走到当前状态的原因,与 stage 正交。expired + non_renewal 和 expired + office_decision 是两件完全不同的事。
| 值 | 中文 |
|---|---|
expired | 期限届满 |
non_renewal | 未续展 |
applicant_request | 申请人主动放弃 |
office_decision | 局方决定 |
court_decision | 法院判决 |
cancellation | 撤销程序 |
invalidated | 无效宣告 |
merger | 主体合并 |
other | 其他 |
renewal_possible | 可续展恢复 |
restoration_possible | 可恢复 |
continued_processing | 可继续处理 |
后三个是机会型标记——状态虽 dead,但还有救济窗口,代理机构最关心这一类。
轴四:status_challenges —— 6 种挑战
数组,可以同时有多个(既被异议又被撤销申请)。
| 值 | 中文 |
|---|---|
opposition | 异议 |
appeal | 驳回复审/上诉 |
cancellation | 三年不使用撤销 |
invalidation | 无效宣告 |
revocation | 撤销 |
rectification | 更正 |
原始文本:status_raw
每个局的状态原文,一字不改地保留。当四轴口径有疑义时,这是唯一的裁决依据,也是给客户看"官方就是这么写的"时的证据。
事件:311 个事件码
tm_event 表 5300 万行,全部映射到 ref_event_type 的 311 个事件码,未映射记录数为 0。
事件码分两类:
| 类型 | affects_status | 例子 |
|---|---|---|
| 状态变更事件 | true | registered refused expired surrendered |
| 过程性事件 | false | office_action_issued response_filed renewal_due_notice |
status_primary / status_stage 由状态变更事件按时间倒序推导,过程性事件只进时间线、不改状态。
txt
完整字典:GET /v1/event-types (311 条,0 点)
单条时间线:GET /v1/trademarks/{public_id}/events三条容易踩的规则
1. 马德里(WO)不存在"整体状态"
WO 存的是国际注册(IR),一个 IR 指定多个缔约国。同一条 IR 上:
- 某些缔约国驳回
- 某些缔约国给予保护
- 某些缔约国后来无效
- 同时整体在续展
所以一个 IR 同时有 granted 和 surrendered 事件是常态,不是 bug。目前库内 43,640 条(约占 WO 的 15%)处于这种并存状态。判断某国是否有效,必须落到 tm_ir_designation 看该国腿(designation)自己的状态,不能看 IR 主记录。
2. 续展提醒不是状态变更
中国台湾的 expiry_due 事件(270 万条)中,有 125.8 万条事件日期在未来、且商标仍 active。它是到期提醒,不是失效。这类事件的 affects_status=false,不要拿它推导状态。
3. 中国台湾旧制分类
1994 年前申请的案件用的是旧制分类,入库时按 旧制号 + 1000 存进 nice_classes。看到 1001–1099 表示旧制,不是尼斯类。状态推导不受影响,但按尼斯类筛选时必须排除。
各局差异实例
| 局 | 原始词表规模 | 主要特点 |
|---|---|---|
| 中国台湾 TIPO | 45 类事件码 | 状态码是单字母(6 A 2),事件按公报逐期解析 |
| 中国香港 IPD | 3 代公报版式 | surrender 同时表示"全部放弃"和"部分放弃",需看商品清单判断 |
| 瑞典 PRV | 45 个业务码 | 数据停更于 2025-05-21,之后无新增 |
| 欧盟 EUIPO | 标准 ST.66 | 状态词表最规范,作为映射基准 |
| 世界知识产权组织 WIPO | 62 个交易码 | 一标多国,见上文规则 1 |
已知限制
正在收敛的三项
- 中国台湾
status_reason未映射:约 140 万条仍是 TIPO 原始单字母码。status_primary/status_stage不受影响,只影响"为什么失效"的细分。 - 字典与库内取值有 9 处未对齐:库内实际出现的
ceasedlapsedacceptedapplieddeadremoved_from_registerapplication_publishedunder_examinationsurrender暂未全部进ref_status_dict;另有surrendered(字典)与surrender(数据)拼写不一致。下个版本统一。 - 美国、加拿大、瑞士尚未接入,其状态映射规则已写好但无数据。