【已解决】关系图谱节点间添加描述文字

为什么打算自己开发?

Ob 自带的图谱,缺少我认为一个图谱必备的功能,也就是节点之间的描述性文字(例图 1 红框部分)。

  • 左侧:Ob 自带图谱;右侧:我开发的图谱(例图 1 的数据是随意生成的)


[[例图 1]]

遇到的问题

事实上,其实已经有可以用的版本了,也添加了双击连线,添加连线标签的功能了,但是暴力生成 8000 条笔记笔记后,发现性能是个很大的问题,Ob 自带图谱可以相当流畅地运行,但是我自己开发的就会变得卡顿,即便隐藏了标签,还是卡顿,考虑到笔记是个日积月累的过程,8000 个节点都不能承受是无法接受的。

期间试过几个方案:

  • vis.js,开箱即用,效果好,但是性能差。
  • force-graph(D3的封装库),也是例图 1 中使用的方案
  • D3.js + PIXI.js,现在在研究的方案

(暂时测试了 4000 个节点,不卡顿,甚至可以流畅拖动)

4000-test

[[例图 2]]

我个人的水平就是:

  • 之前没有任何开发经验,有点编程的概念,临时学了点 TypeScript 基础。
  • 代码大部分是 AI 写的,但是只要找到关键点,结合文档,清晰描述,仔细核对,就可以实现想要的功能。

所以,自身水平有限,这方面的认知不足,短时间内无法自己找到“关键点”,希望有这方面的大神能不吝赐教,给出“关键点”。也烦请先不要泼我冷水,感激不尽!!!

在此,先感谢花时间看了这篇求助的你。

1 个赞

真实笔记的效果大概是这样的(内容乱写的,仅展示效果)

1 个赞

同款插件 GitHub - natefrisch01/Graph-Link-Types: Link types for Obsidian graph view.

2 个赞

感恩啊!!!!!!看了一下源码,Ob 图谱渲染器的信息竟然是可以获取的,我还在重复造轮子!!!!!

仔细看了看,其实算是一种hack,并不是 obsidian 公开的图谱相关的api,而是通过对图谱所在的 leaf 的相关信息,推测内部实现。