Obsidian 插件:Discourse graphs 用白板构建笔记之间的语义网络

[!example] 插件名片

  • 插件名称:Discourse graphs
  • 插件作者:Discourse graphs
  • 插件版本:1.2.0
  • 插件概述:Discourse graphs插件能将库内笔记通过白板展现之间的语义关系,还能与Zotsidian插件联动(详见本文),实现文献白板工作流
  • 插件项目地址:点我跳转
  • 国内下载地址:下载安装

术语解说

[!NOTE] 什么是 Discourse graph ?
Discourse graph是一种将知识体系(body of knowledge)可视化的信息模型,它强调的是话语策略(discourse move)——问题(question)、主张(claim)或证据(evidence)及其关系——支持(support)或反对(opposition),而不是论文或其它信息来源。
下图是一副对某文献Discourse graph的可视化展示,该文献探讨的是在线论坛中的禁言和反社会言行。


传统的“论文的 iTunes”模型将文档置于一个极端重要的位置,逼着读者投入繁琐的提取中心思想的工作,然后才能做自己想做的。而Discourse graph将观念的搭建模块及其关系置于中心位置,它们正是总结观点的关键。
这一信息模型对于提高个人和集体在学术研究层面的总结能力具有巨大潜力,比方说,为文献综述(literature review)。
Discourse graph并非什么新鲜产物,想要进一步了解它,可以阅读[这篇专注于学术写作的短文](http://joelchan.me/assets/pdf/Discourse_Graphs_for_Augmented_Knowledge_Synthesis_What_and_Why.pdf)也可以阅读这篇更[实践导向的文章](https://oasislab.pubpub.org/pub/54t0y9mk/release/3)。

[!NOTE] 插件原生节点及其关系
节点类型是Discourse graph的最小构成单位,每个节点类型代表了笔记中不同类型的内容或概念

节点类型 缩写
Question 问题 QUE
Claim 主张 CLM
Evidence 证据 EVD
Source 来源
  • EVD Informs QUE
  • EVD Supports CLM
  • EVD Opposes CLM

基本用法

添加节点

[!NOTE] 将文字转化为节点

  • 使用快捷键(推荐)
    • 选中需要作为节点内容的文字,按下ctrl \(可在插件设置内修改快捷键)
    • 在下拉菜单中为该节点赋予节点类型
  • 右键菜单
    • 选中需要作为节点内容的文字,右键点击
    • 在下拉菜单中点击Turn into discourse node为该节点赋予节点类型

[!NOTE] 将笔记转化为节点

  • 文件列表中的文件名或标签页上点击右键
  • 在右键菜单中点击Convert into为该节点赋予节点类型
  • 新节点将被储存在插件设置中指定的文件夹中
  • 如果在插件设置中为某节点类型设置了模板,则在创建新节点的时候将会自动为其套用模板

添加关系

  1. 打开你想要为其创建上下文关系的笔记(必须已经被添加为节点)
  2. 在命令面板中执行Discourse Graph: Toggle Discourse Context,打开节点关系侧边栏
  3. 点击Add a new relation,在下拉菜单中选择一种节点关系
  4. 在搜索栏中输入所要连接的笔记并确认

如果你选择的关系类型不可用于所选节点类型之间,则会报错

节点关系侧边栏

在节点关系侧边栏中列出了所有与当前笔记有关系的节点以及它们彼此间的关系,点击其它节点的文件名即可快速访问

在最上方当前笔记的节点类型右边有一个以核心插件数据库为图标的按钮,点击它即可创建一个汇总库内所有当前节点类型文件的.base文件

白板

这里的白板并非核心插件白板,而是由Discourse graph提供的基于tldraw的可交互工作台,在这里用户可以通过拖拽功能将话语结构可视化,并可添加文字、涂鸦、图片或嵌入外部文件

在命令面板中执行Discourse graph:Create new Discourse Graph Canvas命令以创建新白板,它将被创建在插件设置中指定的文件夹内,并以Canvas-2025-01-15-1430.md这样的时间戳形式命名

打开白板文件,如果它处于 Markdown 源码状态,**千万不要编辑它的源代码!**要转到白板视图,有以下方法:

  • 在命令面板中执行Discourse graph:Switch to Discourse Graph Canvas View命令
  • 或在点击右上角的白板视图按钮

[!NOTE] 如何在白板中添加节点?

  • 点击底部工具栏的第一个按钮,在右侧工具栏中选择一种节点类型
  • 在白板上点击任意位置,或直接长按所需类型并拖拽至白板上
  • 在弹出的对话框中搜索已有或新建节点内容

[!NOTE] 如何在白板中添加节点关系

  • 新建节点关系
    • 点击底部工具栏的第一个按钮,在右侧工具栏中选择想要添加的节点关系,长按并将其拖拽至开始节点,再拖拽至结束节点
    • 选择节点框外的点,拖至另外一个节点,并选择想要添加的节点关系
  • 添加已有的节点关系
    • 单击想要添加关系的节点,文本框上方会浮现出Relations字样
    • 点击Relations,会出现悬浮窗展示本节点已有的节点关系
    • 点击+/-以添加或删除节点关系

鼠标悬浮于节点之上,会出现侧边栏图标,点击它即可打开该节点所对应的笔记文件,按住shift再用鼠标左键点击也可以打开它

点击左上角的菜单按钮唤出下拉菜单,可将白板导出为SVGPNG文件

节点候补标签(Node tags)

通过节点候补标签,可以在阅读或写作笔记的过程中为还不确定是否创建为节点的文字段落打上节点候补标签,在之后可快捷将其转换为节点

在插件设置→Node typesNode tag中,为每个节点类型指定一个节点候补标签,它的命名必须不含空格,只能用大小写英文字母、数字和连字符,区分大小写

在设置完成之后,在笔记中任何想要添加标签的位置按快捷键,便可唤出下拉菜单,选择想要添加的标签

鼠标悬浮于节点候补标签之上会出现Create [Node type]字样,点击即可唤出节点创建弹窗,可在此输入节点内容,还可以指定与当前笔记的节点关系

设置说明

  • General
    • Show IDs in frontmatter:如启用,则节点类型 ID 和关系类型 ID 将被添加到节点对应的笔记文件的笔记属性中
    • Discourse nodes folder path:在空白栏中输入的文件夹路径将被用作新建节点的默认存放位置
    • Canvas folder path:在空白栏中输入的文件夹路径将被用作新建白板的默认存放位置
    • Canvas attachments folder path:在空白栏中输入的文件夹路径将被用作白板附件的默认存放位置
    • Node tag hotkey:在空白栏中输入的按键将被视为唤出节点候补标签下拉菜单的快捷键
  • Node types
    • Add Node Type:点击以添加新的节点类型
      • Name:空白栏中填入的文本将被视为该节点类型的名称
      • Format:空白栏中填入的文本将被视为该节点类型的写作语法
      • Description:空白栏中填入的文本将被视为该节点类型的简介
      • Template:在下拉菜单中选择一个模板,将其作为该节点类型的模板
      • Color:为该节点类型选择一个颜色,可以是RGB、HSL 或 HEX 代码
      • Node tag:空白栏中填入的文本将被视为该节点类型的标签
      • Key image:如启用,则节点对应的笔记文件的第一张图片将显示在白板中
      • Folder path:空白栏中填入的文件夹路径将被视作该节点类型下新建节点的默认存放地点,留空则使用插件全局默认文件夹
      • Base view:点击Create base view即可创建一个汇总库内所有当前节点类型文件的.base文件
  • Relation types
    • Add Relation type:创建新的节点关系类型
  • Discourse relations
    • Add Relation:创建不同节点类型之间可用的关系