Files

2.4 KiB

标记

定义

标记是附加在系统对象上的一段轻量元信息,用来表达对象的来源、性质或用户自己的分类。所有标记统一存放,而不是在碎片等表结构里为每一种标记各加一个字段。

一条标记至少包含:

  • 对象:对象类型与对象标识(例如某条知识碎片、某个学习任务)。
  • 标记名与标记值:例如「来源 = 学习引导」「标签 = 英语」。
  • 种类:系统标记或用户标签。
  • 建立信息:建立者(系统或用户)与建立时间。

设计意图

  • 新增一种标记时不需要改动各功能表结构,避免碎片、报告等表被标记字段逐渐撑开。
  • 跨功能检索统一:按标记找对象只查一处。
  • 让「来源」「标签」这类弱信息有唯一的存放位置,语义清晰,不再散落在各功能里。

边界

标记不是状态,也不是归属:

  • 会话状态、报告能否修订、导图是否待更新这类会影响流程判断的信息,留在各自主体上,不进标记表。用标记表达状态会让流程判断变得不可枚举。
  • 标记只被读取和展示,不参与聚合口径,也不改变内容归属。
  • 内容归属是唯一的结构归属,标记不能用来表达第二归属。

现有与预期的标记

  • 标签(用户标签):用户自由建立的分类,多个、可为空、可变,只影响检索。
  • 来源标记:例如「来自学习引导」。系统标记,由系统在产出时写入,用户不可编辑。

相关概念

  • 知识碎片:最常见的标记对象。
  • 内容归属:与标签互补——归属是唯一结构归属,标签是弱关联。
  • 学习引导:产出的碎片带来源标记。
  • 学习任务:标签也可以挂在任务上用于检索。

待决问题

  1. 标记可以挂在哪些对象上(知识碎片 / 学习报告 / 学习任务 / 学习会话)?
  2. 标记名的受控方式:系统标记用固定词表、用户标签自由输入;是否允许用户在系统标记上叠加自己的值。
  3. 标记值是否只在需要时使用(布尔开关 / 枚举 / 自由文本)。
  4. 是否需要按标记检索的入口(例如“找出所有来自学习引导的碎片”),以及需要哪些索引。
  5. 标记名如何治理(能否重命名或废弃),以及哪些标记对用户展示。