从 2024 年的视角来看,以 Roam Research 为首的双向链接似乎已经降温

目前不管是内网,还是外网,Roam Research 的热度可以说是非常低了。目前最热门的笔记软件还得属 notion 类软件,其次是 obsidian。

notion 带来了模块化 + 块编辑器,obsidian 带来了插件市场,前两者似乎还是比较火的。而 Roam Research 带来的双链理念似乎伴随着其自身的没落也逐渐降温

个人认为主要还是因为双链华而不实,确实没有实际价值。首先,我们说双链的本质就是 backlink(反链),可以说双链的本质就是反链面板。然而,反链面板真的有那么重要吗?我看未必!

反链面板最大的问题是:

  1. 没有筛选、排序功能:大多数号称有反链面版的笔记软件,其实反链都没有筛选、排序功能,所以反链可读性非常差,也很混乱。思源笔记的反链似乎支持高达 8 种排序方法,其实都是无关痛痒的排序规则,我认为反链面板的筛选、排序规则应该只有一个——相关程度。和当前页面相关程度高的排前面,相关程度低的排后面
  2. 反链面板并不能完全体现页面的关系:如果 B 页面对 A 页面非常重要,但是如果没有建立链接,那么它不会出现在 A 反链面板上,就很容易忽略他们这层紧密的关系
  3. 有时候我建立链接只是为了方便跳转,并不希望它出现在反链面板上

所以,我觉得我们更应该关注“谁对当前页面最重要”,而不是“谁引用了当前页面”

我觉得我们应该抛弃【双链】这个理念,使用【相关页面】这个概念,将反链面板改成“相关页面”面板,按照相关程度的高低列出和当前页面相关的页面。这样,即使没有建立链接的页面也有可能出现在上面

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22391 引用 • 89649 回帖
2 操作
science 在 2024-08-01 06:39:22 更新了该帖
science 在 2024-07-31 21:41:57 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 按照相关程度的高低

    问题在于这个如何实现。我感觉只能靠 AI

    1 回复
  • fradeet

    思源大方向已经是双链了,要抛弃建立的一大特色几乎不可能了。期待双链继续优化打磨。

  • science
    作者

    很简单,假如现在有一个叫【思源笔记】的页面,它的相关页面是怎么实现呢?

    使用搜索引擎在笔记软件里全局搜索“思源笔记”几个字时的搜索结果,这个搜索结果是按照相关程度排序,然后把这个搜索结果放进面板里就好了

    搜索引擎的技术原理都很成熟了,而接下来软件只需要优化搜索规则和逻辑即可,只要软件的全局搜索引擎做得越好,那么相关页面也就越好

    1 回复
  • 听起来是虚拟引用的反链。

    搜索引擎的技术原理都很成熟了

    但思源没有搜索引擎,链滴的搜索引擎都不好用,不能指望

    1 回复
  • mydreamsxh

    现在的反链面版是不是没有排除功能,基于 conor 笔记方法的反链使用是需要对已经引用的反链进行筛选排除。conor 用的是加标签然后筛选排除掉有那个标签的反链,思源似乎并没有办法这样做。

    同样的我在为同一个 topic 收集资料的时候也经常出现反向链接里有关联性很高但是完全没有引用价值的反链存在。比如存在不同 moc 中的同一个文档,比如说我在 A 项目页面建立了 moc,用块引用指向 B 页面,我在为 B 页面收集资料的时候看到的 A 页面反链就是不需要且无意义的。这个时候我要是能在 B 的反链中一劳永逸的排除 A 页面的引用就好了。

    2 回复
  • science
    作者

    反正我的【相关页面】理念是以关键词为主,关键词在不同位置的权重会不一样:主标题 >H1>H2>H3>H4>H5> 正文靠前 > 正文靠后

    比如说对“思源笔记”这个页面进行爬取相关页面时,主标题含“思源笔记”几个字的页面会排序靠前,其次是 H1 包含关键词的,依次往下排......

    1 回复
  • 我感觉做个插件能实现

    1 回复
  • science
    作者

    我完全理解你的意思了。所以我认为反链面板这条路是死胡同。如果是【相关页面】面板,就不存在这个问题了:你在 A 页面随便建立链接指向 B,但是 B 的相关页面就不一定收录 A,甚至在我的理念里,【相关页面】他就不关注是否建立引用,只关注和 B 相关的程度

  • science
    作者

    好像确实插件能实现,不过软件本身的全局搜索的优化得跟得上

  • 加一,所以我之前就提过 issue,建议添加相关笔记功能了,建议的是能手动添加相关笔记,就是在属性里加一个相关笔记,可以添加多个笔记链接进去,有一个面板能显示本笔记所有相关的笔记,但是被否了

    如果用 dailynote 笔记法的话,反链面板更适合积累想法,当笔记的历史记录,用反链面板找相关的笔记,很容易有太多噪声

    除非完全弃用 dailynote,双链真的就是用来建立关联,而不是传递零碎信息的,这样反链面板才干净些

    说到底,反链面板本身的设计就是去找这个块在哪里被引用了,并不是为找相关块而设计的,被引用不代表是我想要的相关和归属关系

    5 操作
    Achuan-2 在 2024-07-31 23:03:09 更新了该回帖
    Achuan-2 在 2024-07-31 23:02:15 更新了该回帖
    Achuan-2 在 2024-07-31 23:01:12 更新了该回帖
    Achuan-2 在 2024-07-31 22:54:56 更新了该回帖 Achuan-2 在 2024-07-31 22:53:25 更新了该回帖
  • 提起双链我就想起来我之前对于 SiYuan 双链粒度到块(甚至包括【【也是粒度到块),我对于双链的粒度到块是有点不太感冒的,因为笔记标题就能很好的体现笔记内容了,双链图上粒度到块,内容块的内容都显示不全,实在是感觉有点鸡肋。

    个人看法,不过 SiYuan 的双链图里(还有【【)简单设置下,就能设置为仅标题块,可以认为自定义为粒度到标题,所以也没觉得不好。

    如果不给设置,只允许全显示,包括粒度到块,那信息量实在太大。

  • Imuvux 1

    反链还是有潜在用途的,个人用到的有:

    • 传递型引用,正链用于在日记记录时指定内容归属,反链用于在主题中汇总其他位置下的所属内容;
    • 链接 MOC,正链用于以链接形式组织分类,反链用于跳转回上层分类;
    • 关联型引用,正链用于以锚文本调用内容本体,反链用于汇总与内容本体有关的其他主题;
    • 内容重述,正链用于指向内容原始形式的本体,反链用于查看本体内容的其他表述形态。

    问题在于,双链是一个底层性的语法而非业务性的功能,其用途并非不言自明的。正链反链只能揭示块与块的引用关系,但这种引用关系具体在表达什么逻辑关联需要靠上下文等来解读。但是思源原生的正链缺少合适的分类方法,反链缺少合适的筛选方法,导致想把双链用成多种功能时不好进行区分。可行的区分方法:

    1. 在引用形式上区分,比如一个块里只有引用表示它是传递型双链,比如星号作为锚文本表示它是用于块重述的双链。这种方法的问题是反链面板不好筛选,需要使用 SQL 配合插件手动筛选,否则反链混在一起只能肉眼观察。
    2. 结合使用标签、单向块链接、动静态锚文本、嵌入块等多种语法,但各有各的问题:
    • 单向块链接不能被转移引用,不利于文档重构;
    • 标签能嵌套,但不能转换为引用,且标签本质上没有正链本体;
    • 静态锚文本不好编辑;
    • 嵌入块只适合显示已有内容,不适合进行修改,且一旦失效难以追溯。

    个人希望的一种双链改进方案:为引用添加自定义类型属性,建立引用时可以自定义引用的类型,在反链中可以选择仅列出指定类型的引用。

    这是从功能区分的角度进行改进。至于在某种特定功能的双链里靠算法而非人工阅读来判定相关性,可能还是 AI 能做得更好。

    1 回复
  • Bard 1 赞同

    “相关”是个很复杂的概念,比较难以实现,不论是“功能定义”上,还是算法实现上

    搜索引擎技术并不是简单的技术,也很难找到简单的组件实现,集市倒是有个用 ES 的当作搜索的插件,但我觉得 ES 最多在搜索上丰富一下功能

    要实现“相关”还是比较困难,因为思源是本地存储的笔记,所以本地使用 ES 也是一件几乎难以实现的事情

    但当下的确有一条思路,那就是本地运行小参数量的 LLM,实现可能性倒是有了,但距离切实可操作性又是一道道鸿沟,比如合适的模型,较低的硬件需求,方便的部署方案

    说到这里,想起可以用插件和在线 API 的形式实现,但要把自己的数据都给云端啊,虽然背离了本地隐私属性,但插件的使用总是因人而异

    说到这里,flomo 最近的会员新功能似乎就是这个啊

    (费曼说:这不是我的思考结果,这就是我的思考过程)

    1 回复
  • science
    作者
    • 传递型引用,正链用于在日记记录时指定内容归属,反链用于在主题中汇总其他位置下的所属内容;
    • 接 MOC 链,正链用于以链接形式组织分类,反链用于跳转回上层分类;
    • 关联型引用,正链用于以锚文本调用内容本体,反链用于汇总与内容本体有关的其他主题;
    • 内容重述,正链用于指向内容原始形式的本体,反链用于查看本体内容的其他表述形态。

    我怎么感觉你用的太复杂了?

    • 传递型引用:完全可以用同步块来实现更好的效果
    • 接 MOC 链:并不是所有页面都需要跳转回上层分类,因为很多时候我们只需要聚焦于本页面,上层分类是什么样的本页面并不关心,如果上级分类很重要,那他自然会出现在“相关页面”的面板上(而且不是还有手动创建的单链保底吗)
    • 关联型引用:这个“相关页面”能完成得更好。“反链用于汇总与内容本体有关的其他主题”,如果两个页面彼此相关程度很高,但是彼此没有相互引用,反链面板就不能展示两者的关系,但是相关页面就会展示出来
    • 内容重述:“反链用于查看本体内容的其他表述形态”,说实话,这个功能设想就太鸡肋了,你还不如支持标题的同义词合并呢,参考维基百科
  • science
    作者

    不管是本地还是在线,只要能实现,我觉得都有意义,我并不觉得本地就高人一等。

    flomo 去看了一下,好像新功能确实是有这个“相关页面”,就是不知道效果如何

  • 你们用得要求这么高吗,对我来说思源再加个白板就完美了。

  • avaisa

    主要是,,,,现在 ai 问答太火了

    1 回复
  • science
    作者

    但是笔记这东西 AI 也不能完全取代吧?ai 的在回答常规问题时确实还可以,深入点就不行了

  • 我都没有用过双链,就简单的记记笔记

  • 实际上可以达成这样的一种要求,也就是让 AI 在后台进行聚类的操作,给文档贴上好多的标签。

    要是运用的是大厂的 AI ,在思源里面,还得先分辨出哪些文档是私密的。

    最终,琢磨如何能更好地向用户呈现相关页面。

请输入回帖内容 ...

推荐标签 标签

  • CodeMirror
    1 引用 • 2 回帖 • 131 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 764 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    286 引用 • 248 回帖 • 62 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 553 关注
  • 链滴

    链滴是一个记录生活的地方。

    记录生活,连接点滴

    153 引用 • 3783 回帖 • 1 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    6 引用 • 15 回帖 • 116 关注
  • GitHub

    GitHub 于 2008 年上线,目前,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。正因为这些功能所提供的便利,又经过长期的积累,GitHub 的用户活跃度很高,在开源世界里享有深远的声望,并形成了社交化编程文化(Social Coding)。

    209 引用 • 2031 回帖
  • 音乐

    你听到信仰的声音了么?

    60 引用 • 511 回帖
  • Android

    Android 是一种以 Linux 为基础的开放源码操作系统,主要使用于便携设备。2005 年由 Google 收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到到平板电脑及其他领域上。

    334 引用 • 323 回帖 • 2 关注
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 6 关注
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    230 引用 • 1454 回帖
  • danl
    133 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    27 引用 • 225 回帖 • 168 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 3 关注
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    77 引用 • 430 回帖
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1434 引用 • 10054 回帖 • 489 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖 • 4 关注
  • 持续集成

    持续集成(Continuous Integration)是一种软件开发实践,即团队开发成员经常集成他们的工作,通过每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。

    15 引用 • 7 回帖 • 1 关注
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    52 引用 • 190 回帖 • 1 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    53 引用 • 40 回帖
  • ngrok

    ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。

    7 引用 • 63 回帖 • 624 关注
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖 • 2 关注
  • 运维

    互联网运维工作,以服务为中心,以稳定、安全、高效为三个基本点,确保公司的互联网业务能够 7×24 小时为用户提供高质量的服务。

    149 引用 • 257 回帖
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 134 关注
  • 导航

    各种网址链接、内容导航。

    40 引用 • 173 回帖 • 1 关注
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    568 引用 • 3532 回帖