关系图谱
概述
关系图谱显示了你笔记之间的 内部链接。
功能名片
- 功能名称:关系图谱
- 功能状态:默认功能
- 功能依赖:官方功能,无其他依赖
笔记被链接得越多,图谱上对应的节点就越大。
- 鼠标悬停在某个节点上时能够高亮该节点及其相关的链接。这能让你快速看清与该笔记相关的东西。
- 你可以通过拖动节点来调整图谱。这能让你更好地看清笔记间的连接。
- 你可以通过鼠标滚轮或
+
、-
键来放大缩小图谱。 - 你可以通过鼠标拖动图谱背景的方式,或是使用方向键来移动图谱。
- 使用方向键时,按住
Shift
能让操作更快。
图谱生成原理
这图谱最被人诟病的就是华而不实,但事实真的如此吗?从图谱生成原理我找到了一些我认为不错的用法,在下一节介绍。
图谱的生成其实非常简单:把文档,附件和标签抽象成一个点,并标注上名称;把所有文档内的双链抽象成一段有向连线;
其中可调节的选项有:
- 用于生成的文档:按文件路径,文件名,标签,含关键字的行,块,筛选文档进行显示
- 给点着色:按文件路径,文件名,标签,含关键字的行,块,筛选文档进行着色
- 调节图谱生成属性:节点大小,力度,距离,连线长度,文本显示的阈值
根据图谱的生成原理,其表征的无非是:特定文件的文件名之间的关系。
图谱的应用
以下应用都以 PKMer-Docs 来举例,其全局关系图谱如下所示:
目前大概只有 300 篇文章,但通过图谱发现,能优化的地方非常多。下面仅展示我比较常用的使用方式:
- 清除无效链接
- 全局发现
- 发现内容并整合笔记
- kg 笔记法
除此之外,利用一些关系图谱插件如 juggl,graph-analysis,等实现更多功能和用法,我并没有深入探索。
视频教程
- 【从零开始学 OB】—— 双链与关系图谱
这里有一个小黑点,这是我们批量将图片上传到图床时产生的,图片上传没成功,但是图片被删除了。如果没有图谱,需要在所有文件中挨个儿翻,或者碰到了再修改,但拖得久了很容易导致的问题是忘记了这张图片是什么。
同样的,在图中有些被删除的笔记,却依然有链接。这直接影响是,在发布后用户点击会跳转到 404 页面,非常影响用户体验。对于仅自己使用的情况,笔记会产生大量无效的链接,也非常影响体验。
如果没有图谱,我能想到的办法就只有一篇篇笔记翻,检查每个链接的有效性,显然这是不可接受的。
全局发现
上述内容基于局部图谱,有些时候全局图谱能带给我们更多的灵感,通过颜色标识出来,我们现在 group 一下 CSS 关键字:
单从这个角度出发,我们可以写一篇 CSS 文章,直接用 obsidian-hover-editor 从图谱中复制内容到笔记中,正如我此时开着数个相关笔记的窗口在写这篇文章
发现内容并整合笔记
如图,我们通过路径筛选,找到社区插件文件夹下的所有笔记,可以很清晰的发现还有两个插件并没有链接到我们 Obsidian社区插件
这个文档中。这是非常重要的!因为如果有孤儿文件,那么它仅能被搜索搜到 (文件树现在有 150 多个文件,很难找),没有链接,我们将大大降低看到它的几率。通过图谱,我们至少能保证它被链接到了一个文件,以此完善 Obsidian社区插件
这个内容。
现在我们限定搜索关键字为图谱:
我看到这篇图谱有下列疑问:
- 图谱关 obsidian-admonition 啥事?
2022-11-26-ObsidianRoundup
以及2023-01-211-ObsidianRoundup
应该有关于图谱的更新和使用方法的内容,我可以在我这篇笔记写一点关于 Obsidian 图谱的更新日志和使用方法分享。- 里面提到了知识图谱,Obsidian 的图谱和知识图谱显然不一样,可以写点内容作为区分。我记得 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 {
}
讨论
若阁下有独到的见解或新颖的想法,诚邀您在文章下方留言,与大家共同探讨。
反馈交流
其他渠道
版权声明
版权声明:所有 PKMer 文章如果需要转载,请附上原文出处链接。