【笔记组织方法】类目、标签以及文件夹

类目、标签以及文件夹的思考总结

本文源自之前对“类目、标签、文件夹”这三种结构组织方式的思考沉淀。
重新梳理分享,也算做一个阶段性的总结。

三种组织结构的介绍

  • 类目(Category)
    在 Obsidian 中,类目通常通过单独的类目笔记实现。每个类目是一个独立的笔记,其他笔记在元数据(YAML frontmatter)中通过双链(如 category: [[游戏]])指向对应的类目笔记,从而建立从属关系。

这个用法出自 Kepano 的示例库分享,详情见: Obsidian的CEO是怎么做笔记的?

  • 标签(Tag)
    标签是一种非层级的、扁平化的元数据标记。一个内容可以有多个标签,标签之间没有父子关系,适合表达内容的属性、状态或横向关联。例如: #方法论#工具#待整理

  • 文件夹(Folder)
    文件夹是物理存储结构,决定了文件在硬盘上的实际位置。文件夹可以嵌套,形成树状结构,但主要用于管理文件的存储和查找,不直接表达内容的语义。

用例说明

以同一篇笔记《空洞骑士》为例,分别说明三种组织结构的实现方式:

  • 类目用法
    在《空洞骑士.md》的元数据中,通过双链指向类目笔记,实现归属关系:

    ---
    category: [[游戏]]
    ---
    

    此时“游戏”本身是一个独立的 category 笔记,可以聚合所有属于该类目的内容。配合 Dataview 插件或是即将推出的 Bases 核心插件,可以快速呈现出所有归属于该笔记的子笔记。

  • 标签用法
    在笔记中添加标签,表达属性或横向关系:直接在正文里输入 #游戏/通关佳作

    这样可以通过标签快速检索所有“通关的游戏”。
    标签的优势是非常灵活,你可以随意插入标签在正文的任意地方。
    但相对而言也会更加“混乱”和“零散”,因为你所有的标签都会混在一起,并且表示的含义也是多种多样。

  • 文件夹用法
    通过物理路径归档笔记,例如将《空洞骑士.md》放在如下文件夹结构中:

    游戏/
      空洞骑士.md
    

    这种方式通过文件夹表达归属,但不具备多重归属和灵活查询的能力。

基础对比

分类 category 标签 tags 文件夹 folder
是否唯一 支持多个 支持多个 唯一
层级结构 通过笔记属性构建层级结构 支持 #a/b 的层级结构 单一层级结构
存储形式 元数据(指向双链的特定属性) 元数据( tags
或 正文内直接插入
基于文件的物理路径
查询方式 ["categories":xx] tag: #xx path:xx
说明笔记 双链引用 “分类笔记” 无(可自行建立绑定关系) FolderNote 文件夹笔记
语义表达 较强 较弱
举例 categories: [[人员]], [[画师]] tags: #people #authors 3-Resource/档案库
理论数量 适中,只给必要的类目创建 可以很多,甚至比笔记数量还多
创建成本低,是最“自由”的一项
尽量少,避免文件结构过于复杂
精准度 较为宽泛的大类 理论上来说是最精准和细致的
匹配度也最高
最宽泛,只是基础的大类
(甚至可能没有类型含义,
比如以日期作为目录)
  • 类目通过元数据双链实现归属关系,适合表达“属于什么”,且支持多重归属和灵活查询。
  • 标签强调内容的属性和横向关联,适合表达“有什么特征”。
  • 文件夹强调物理存储和管理,适合表达“放在哪里”。(相对而言最“弱关系”的一种组织结构)

分类结构的“类目笔记”天然就支持附加说明,或是按照特定的条件来呈现自己的子级笔记。
但是反过来,标签也可以通过手动创建一个和标签同名的“标签说明笔记”来做到类似的事儿,只是会麻烦一些。

使用「分类」的组织结构还有一个额外好处是:在知识图谱(Graph)中,你可以清晰地看到同一个类目下的不同笔记都指向同一个中心节点。


使用 ExtendedGraph 呈现的图谱

当然,在图谱上显示出标签也可以达到类似效果,不过标签在我看来还是偏向混乱(数量多且表意宽泛),我更喜欢分类笔记这种可控的组织形式。
另外也有特定的插件可以让文件夹也出现在图谱上。

这里也可以看得出来,大部分时候,「标签」和「类目」可以平替,两者都能互相实现对方的一些特性,无非是操作繁琐与否的问题。
(除了文件夹的结构由于其“单一对应”的限制,很多时候无法实现另外两者的特性)

特性差异

这里单独列举出两个比较关键性的差异。

I. 解耦

标签和分类对比来说,耦合性更强。

这里主要针对的是“一旦发生改动,会有多大的牵连”。

标签如果发生变动,所有标签的位置都需要更新
例如重庆原本在四川省内:
#location/中国/四川/重庆

而当重庆变成直辖市之后,需要改成:
#location/中国/重庆

这个时候,重命名标签会导致所有用到这个标签的地方都发生变动。

而对于分类笔记,仅仅是 重庆 笔记的 属性从 [[四川]] 变成了 [[直辖市]],所有原先的 市: [[重庆]] 的地点笔记都不会发生变动。

II. 准确性

前文提到的,标签 过于宽泛

比如说,同样是 [[电影]] 这个分类笔记,

  • 对于一部电影笔记,它用 category: [[电影]] 表示这是一部电影
  • 而对于某部电影的研究,就可以是 topic: [[电影]],表示它的主题是电影
  • 甚至,在记录你某个喜欢看电影的朋友时,用 hobby: [[电影]],表示 ta 的兴趣是看电影

这就是 分类 的一个优势特性:它可以指定关系的类型。

但对于标签来说,它只能有一个 tags: #电影
仅能传达出「相关性」,而不能更确切地指出「怎样相关」。

这点在搜索标签的时候也能体现出来:

由于我在平时的每日笔记里也会打上 #游戏 的 tag,导致搜索的时候会出现很多“不相关”的结果。
除非把标签也专门写成 类型/游戏,这样才能更好地区分出“类型为游戏的笔记”。

而如果你说:「标签也可以用嵌套层接来表示关系呀?」

比如 类型/游戏 表示游戏类笔记,主题/游戏 表示主题是游戏的研究……
那么就会产生“混乱”的问题,同样一个 游戏 会分散在多个不同的子级标签内,而你用 #游戏 检索时甚至没法找到它们。

总结

类目、标签和文件夹各有侧重,实际使用中可以结合:

  • 用类目(category 笔记+元数据双链)梳理知识体系,保证结构清晰且灵活;
  • 用标签补充属性和横向关联,提升检索效率;
  • 用文件夹管理物理文件,便于归档和迁移。

还是用《空洞骑士》来举例,目前我的用法是:

创建一个单独的“游戏数据库”文件夹,所有的游戏笔记会放在里面。
空洞骑士会指向 [[游戏.md]] 笔记,这样一来,我所有的游戏都可以通过反向查询呈现出来:

并且还能带有通关时间、游玩信息等状态。

最后,对于游戏的更进一步分类(比如“通关佳作”或者“弃坑”之类的标注),使用标签最合适。


这里用了 TagFolder 插件来查看标签

其实全文最开始的起因就是在学习到 Category 类目笔记的这种结构之后,忍不住想探究它和标签的关系和差异,以及何时适合用哪种。
所以在经过各种研究和群友的探讨之后,得出了目前阶段性的结论。

目前用了一段时间下来,感觉这确实是最适合双链笔记的一种组织形式,而且也可以说是专属于双链笔记的组织形式。还是非常推荐感兴趣的用户——尤其是对笔记组织结构有一定要求的人——尝试看看的。

以上。

2 个赞

之前在另一篇帖子中和网友探讨后得到了一些关于 category 双链 的总结,这里也一起分享——

基本上来说都是 Categories 这样的 [[双链]] 的优势:

  • 解耦:上下级等关系只存在于对应的双链笔记内部,修改之后只影响单个笔记,不会造成大批量的修改
  • 自由度:在 A/B/C 这样的结构中,C可以同时属于 AB,而不必是特定的嵌套结构
    • 并且,也不会出现像是 城市/北京地点/北京 乃至 省/北京 这样同一个对象存在于多重结构中的问题
  • 对关系的描述:比起标签或者文件夹的“有关系”,存在于属性区的双链可以表达“怎么样的关系”,提供了更精确的关系类型描述
    • 比如,可以是 上级: A直系领导: B,同时能体现出和 AB 的关系以及何种关系
  • 绑定笔记:双链指向的笔记本身就是一个自指的说明文档,而不需要额外去手动建立这种绑定关系
    • 同时,双链笔记可以根据自己的特性,用不同的视图呈现自己的子级/相关笔记(使用 Dataview 或者 Bases)
  • 然后标签自己的优势就是「零散」和「负担小」,而且可以随意插入文章中的任意位置
1 个赞

关于何时用 Tags,何时用 Categories

:new_button: 英文论坛中的提问
我在 Kepano 的库里看到了一个 [[人员]] 分类的笔记,同时添加了 #音乐家 的标签,为啥不都用分类呢?

事实上我之前有过同样的疑问,所以我直接去问 Kepano 了:

I use links more than tags, the tags are partially vestigial. (比起 tags 我更多地使用双链,一些 tags 属于历史遗留)
A question regarding Category and Tags

所以你要是现在问的话,他大概会说“直接都用双链吧”。


但是从我自身经验来看,我会选择基于粒度来区分两者。
分类的粒度更粗(宽泛),数量更少,标签反之。

换句话说,你可以更随意地使用标签,因为它创建的成本显而易见要更低。

举个例子,我会给所有的“游戏”类别笔记都添加上 categories: [[Game]] ——但仅此而已,对于更细分的游戏类型之类的,我会交给标签:
#games/RPG, #games/AVG, and #games/我的最爱 或者 #games/佳作.

而如果我对游戏类型足够在意,那么就值得专门创建 [[RPG Games]] 这样的分类笔记;但是我目前还不需要这种程度的结构,所以使用标签已经足够。
(而且在 [[Game]] 页面进行统计时,同样可以将标签作为筛选条件)


所以我个人能给出的结论是,充分利用好这两者的特性和差异:

  • Category结构化,更明确,更可控,所以我会有限度地给“真正需要一个单独分类”的内容去创建类目
    • 换句话说,如果我是影视爱好者,我可能会创建非常详细的各种电影类型分类……但如果我只是普通的观众,偶尔看电影,那么对我来说一个 [[Movies]] 就够用了
  • Tags 更零散,成本更低,更混乱——混乱有时候也是好事——我就会更不加思索地用它
    • 而且讲道理,你不可能给所有“需要标签”的地方都创建成分类,比如我有个 #回头看看 的标签,这就不太适合创建成分类

总而言之,这两个结构其实是流动的。
当我哪天对一个领域足够深入,积攒了足量的笔记以致于我觉得需要更加细分的分类的时候,我会选择把 Tags 结构转成更有秩序的 Categories。

就像 Kepano 所说的:

保持一致性的风格可以将未来的无数次决策简化成一次,并且使我更加专注。
举个例子,我总是会使用复数形式的单词,这样一来在我下次给新标签起名的时候就不需要考虑用单数还是复数。选择让你自己觉得舒适的规则,写下来。制作你自己的“风格指南”。
并且别忘了,你总是可以在之后重新调整它们的。
How I use Obsidian — Steph Ango

1 个赞