Anytype 中文文档 下载 App

用 Object Property 建立对象间关系:自动双向链接

为什么需要对象关系

单独的对象没什么价值——价值来自连接。Task 对象链接到 Project 对象,表示"这个任务属于这个项目";Meeting 对象链接到 Person 对象,表示"这个人参加了这个会议"。

Anytype 用 Object 类型的 Property 来实现这些关系——这是对象数据库范式的核心。

创建 Object Property

步骤

  1. 进入 Type Settings(Channel Settings → Content Model → 目标 Type)
  2. 在 Properties 区域点击 + New
  3. 输入 Property 名称(比如 "所属项目"、"负责人")
  4. Property 类型选择 Object
  5. 选择可以引用哪些 Type:
  1. 点击 Create

举例

这样任务对象只能链接到项目和人员,不会误链接到书本或食谱。

双向链接(Backlink)

当你在 Task 里设置了"所属项目 = 网站改版",会自动发生两件事:

  1. Task 对象的 Header 里显示 "所属项目: 网站改版"(链接)
  2. Project 对象(网站改版)的 Property 面板里自动出现一条反向记录:"这个 Project 被 3 个 Task 引用"

这就是 backlink(反向链接)——不是手动创建的,是 Property 系统自动维护的。

怎么查看 backlink

打开任意对象,在 Property 面板(ⓘ图标)最下方有 Relations 区域:

修改双向链接

所有关系由 Property 系统自动维护,不需要手动清理。

一对多 vs 多对多

一对多

一个 Project 可以有很多 Task,但一个 Task 只属于一个 Project:

多对多

一个 Person 可以参与很多 Project,一个 Project 也可以有很多 Person:

或者用一个中间 Type(比如 Team Member Role)来精确表达"张三在 A 项目是 PM,在 B 项目是开发"。

在视图里用关系

Object Property 在视图系统里特别好用:

Grid 视图里显示为一列

Grid(表格)视图的每一列可以是任何 Property——包括 Object 类型。在表格里:

按关系筛选

Filters 里可以按 Object Property 筛选:

"显示所有所属项目为'网站改版'的 Task"

按关系分组

Group By 可以按 Object Property 分组:

"按负责人分组所有 Task" → 每个负责人下面列出他所有的任务

关系 vs 手动链接

方式自动双向可筛选可排序适用场景
Object Property✅✅✅结构化关系(任务→项目→人)
手动对象链接❌ 单向❌❌松散关联、正文里的临时引用

规则:结构化的"X 属于 Y"、"X 指向 Y"——永远用 Object Property。临时的、正文里的链接——用手动链接。

延伸阅读