关系图谱

关系图谱

概述

关系图谱显示了你笔记之间的 内部链接

功能名片

  • 功能名称:关系图谱
  • 功能状态:默认功能
  • 功能依赖:官方功能,无其他依赖

笔记被链接得越多,图谱上对应的节点就越大。

关系图谱--概述

  • 鼠标悬停在某个节点上时能够高亮该节点及其相关的链接。这能让你快速看清与该笔记相关的东西。
  • 你可以通过拖动节点来调整图谱。这能让你更好地看清笔记间的连接。
  • 你可以通过鼠标滚轮或  + 、-  键来放大缩小图谱。
  • 你可以通过鼠标拖动图谱背景的方式,或是使用方向键来移动图谱。
  • 使用方向键时,按住  Shift  能让操作更快。

图谱生成原理

这图谱最被人诟病的就是华而不实,但事实真的如此吗?从图谱生成原理我找到了一些我认为不错的用法,在下一节介绍。

图谱的生成其实非常简单:把文档,附件和标签抽象成一个点,并标注上名称;把所有文档内的双链抽象成一段有向连线;

其中可调节的选项有:

  1. 用于生成的文档:按文件路径,文件名,标签,含关键字的行,块,筛选文档进行显示
  2. 给点着色:按文件路径,文件名,标签,含关键字的行,块,筛选文档进行着色
  3. 调节图谱生成属性:节点大小,力度,距离,连线长度,文本显示的阈值

根据图谱的生成原理,其表征的无非是:特定文件的文件名之间的关系

图谱的应用

以下应用都以 PKMer-Docs 来举例,其全局关系图谱如下所示:

关系图谱--图谱的应用

目前大概只有 300 篇文章,但通过图谱发现,能优化的地方非常多。下面仅展示我比较常用的使用方式:

  1. 清除无效链接
  2. 全局发现
  3. 发现内容并整合笔记
  4. kg 笔记法

除此之外,利用一些关系图谱插件如 jugglgraph-analysis,等实现更多功能和用法,我并没有深入探索。

视频教程

  • 【从零开始学 OB】—— 双链与关系图谱
### 清除无效链接

关系图谱--视频教程

这里有一个小黑点,这是我们批量将图片上传到图床时产生的,图片上传没成功,但是图片被删除了。如果没有图谱,需要在所有文件中挨个儿翻,或者碰到了再修改,但拖得久了很容易导致的问题是忘记了这张图片是什么。

同样的,在图中有些被删除的笔记,却依然有链接。这直接影响是,在发布后用户点击会跳转到 404 页面,非常影响用户体验。对于仅自己使用的情况,笔记会产生大量无效的链接,也非常影响体验。

如果没有图谱,我能想到的办法就只有一篇篇笔记翻,检查每个链接的有效性,显然这是不可接受的。

全局发现

上述内容基于局部图谱,有些时候全局图谱能带给我们更多的灵感,通过颜色标识出来,我们现在 group 一下 CSS 关键字:

关系图谱--全局发现

单从这个角度出发,我们可以写一篇 CSS 文章,直接用 obsidian-hover-editor 从图谱中复制内容到笔记中,正如我此时开着数个相关笔记的窗口在写这篇文章

关系图谱--全局发现

发现内容并整合笔记

关系图谱--发现内容并整合笔记

如图,我们通过路径筛选,找到社区插件文件夹下的所有笔记,可以很清晰的发现还有两个插件并没有链接到我们 Obsidian社区插件 这个文档中。这是非常重要的!因为如果有孤儿文件,那么它仅能被搜索搜到 (文件树现在有 150 多个文件,很难找),没有链接,我们将大大降低看到它的几率。通过图谱,我们至少能保证它被链接到了一个文件,以此完善 Obsidian社区插件 这个内容。

现在我们限定搜索关键字为图谱:

关系图谱--发现内容并整合笔记

我看到这篇图谱有下列疑问:

  1. 图谱关 obsidian-admonition 啥事?
  2. 2022-11-26-ObsidianRoundup 以及 2023-01-211-ObsidianRoundup 应该有关于图谱的更新和使用方法的内容,我可以在我这篇笔记写一点关于 Obsidian 图谱的更新日志和使用方法分享。
  3. 里面提到了知识图谱,Obsidian 的图谱和知识图谱显然不一样,可以写点内容作为区分。我记得 KG 笔记法就是通过修改文件名的方式建立三元组,以此实现类知识图谱的应用

当然,还有很多可供挖掘的地方,我就不详细说了。

kg 笔记法

基于知识图谱的KG笔记法 详细介绍和展示了如何通过标题实现类似知识图谱的功能,相当于在链接中加上关键字。

关系图谱--kg 笔记法

自定义外观

由于关系图谱是使用  <canvas>  和 WebGL 渲染的,因此 按正常的自定义CSS语法是无法改变图谱中节点和连线的外观。为了让你能自定义图谱外观,我们提供了一种将 CSS 转换为 WebGL 命令的方法。

调整图谱外观请使用以下 CSS 类

.graph-view.color-fill
.graph-view.color-fill-tag (theme-dependent)
.graph-view.color-fill-attachment (theme-dependent)
.graph-view.color-arrow
.graph-view.color-circle
.graph-view.color-line
.graph-view.color-text
.graph-view.color-fill-highlight
.graph-view.color-line-highlight
.graph-view.color-fill-unresolved

需要注意,有些类是独立于基础颜色模式的。这意味着你需要在其前面添加  .theme-dark  或  .theme-light,使其能够在不同颜色模式下使用。

支持的 CSS 语法

.graph-view.color-class {
    /* 支持所有 css 颜色指令,如 #HEX, rgb and rgba */
    color: #fff;
    color: #ffffff;
    color: rgb(0, 0, 0);
    color: rgba(0, 0, 0, 1);
    /* 透明度(类似于RGBA)将使颜色透明 */
    opacity: 0.5;
}

修改

这些是 Obsidian 支持的默认语法。你可以使用相同的或 更特殊的语法 替换它们。特别是  .color-fill-tag  和  .color-fill-attachment。作为最后的选择,请在你代码的末尾加上  !important

.graph-view.color-fill,
.theme-dark .graph-view.color-fill-tag,
.theme-light .graph-view.color-fill-tag,
.theme-dark .graph-view.color-fill-attachment,
.theme-light .graph-view.color-fill-attachment,
.graph-view.color-arrow,
.graph-view.color-circle,
.graph-view.color-line,
.graph-view.color-text,
.graph-view.color-fill-highlight,
.graph-view.color-line-highlight,
.graph-view.color-fill-unresolved {
}

讨论

若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。



反馈交流

其他渠道

版权声明