关于思源笔记的数据库应用价值的思考

看到了这篇文章--思源笔记数据库使用新思路:谈自上而下管理与自下而上积累--后,思考良多,也深感文章作者对于数据库及知识管理的组织能力之强。从评论中,也有网友表示对如此繁杂的管理方式不解,没有看到数据库的应用价值,我在这里提供一个个人的思路:

任何一个内容都是一个主题,即一个数据库。每个主题下的各主键都是子主题
每个主题都可以有不同的属性
如果是一个结构完整的笔记或知识,则按照树状结构去走
如果是一个碎片化的收集,则可以标注上优先级、时间、或者设置一些想设置的标签属性
如果是一个需要关注的项目或者自己的写作,则可以标注优先级、短长期项目等
所有的主题库可以根据需要无限关联

当无需数据库时,可以主题内的文章作为一个单位
一篇写作的文章内的标题大纲,就相当于主题
一篇写作文章内的内容块,就相当于子主题或参考资料,只不过它们不再需要标签或优先级等属性
如果是需要作为某个主题下的引用,它们本身就相当于主题可以被嵌入到某个主题的主键下
所有的内容块又可以无限关联

如此,当我们理解了两者的相似性后,再来理解一下传统思源笔记的结构就会发现,它本身就是一个大数据库。
传统的思源笔记只是通过文档树--文章内的大纲--大纲内的文字三级内容进行一个内容的分割。
这种分割下,第三级以后的内容依然容易变成混沌的,且你是不知道哪些内容可能需要做上标记的。
这样的话,即便有了双链,让你可以将某篇文章的内容块和另一篇文章的内容块联系在一起,那么内容多了以后,去看双链也会发现是一团乱麻。
而通过数据库,则可以进行无限切分并组织,从无限推到无限,而且无限互联的过程以数据库的形式直观展现。
传统思维导图是树状结构的绘图展现,手绘思维导图可以以网状结构的绘图表现,但是这种绘图终有极限
无限多个箭头画出来,真正能帮到思维吗?如果一个圆圈需要 200 个箭头,还画的清吗?思维导图画不清,思源笔记的双链里你也找不清。

image.png

数据库不止超越了思源的传统局限,也把笔记的整理推广到绘图极限的极限。我认为不需要去区分主题库、概念库、文章库。所有的库都是主题库,只是不同的库需要不同的标记,按需安排而已。一切的数据库都可以和某个主题数据库在横行上关联在一起。一切的数据库中的内容也都可以被引用到某个主题数据库的主键中作为一个纵列上的子主题。如此,就简化了数据库的整理使用过程,并将数据库的组织、数据库的关联与思源笔记的文档树、大纲、大纲下的内容块、内容块的双链的逻辑实现了同一性,你想怎么用就怎么用。

一般来讲,内容量不大的文字可以写成一篇文章进行收集,如果你发现你构建的数据库里的主键都是大段大段文字,那么说明这一内容主题完全不值得变成一个数据库,可以使用传统的文章大纲、内容块的双链进行安排;如果内容量超大而且涉及到跨学科领域的灵感互联互通,不同的主题要以一个标题为形式实现相互关联以至于需要上图中的那种手绘导图式的清晰呈现,则可以构建数据库并进行数据库的双向关联。如此,连思维导图都不需要了,如果需要,还可以根据数据库进行轻松地手绘。

  • 思源笔记

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

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

    19562 引用 • 74440 回帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 其实主要就是思源的数据库主键可以是块链接,所以自由度很高

  • MOU

    听起来倒是很符合我的需求

  • GordonTung

    如果是出于信息组织的目的,那么把每一篇笔记、每一个内容块都当成独立数据,把数据库当成数据透视表,可以有效简化理解和操作。

  • 是的,但是单一的表格视图在功能上还是欠缺的,要想在「项目管理」层面达成可用,还得要甘特图、看板两种视图才行

  • 分组和子项目最重要。

推荐标签 标签

  • sts
    2 引用 • 2 回帖 • 159 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 3 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 354 关注
  • 工具

    子曰:“工欲善其事,必先利其器。”

    278 引用 • 709 回帖
  • Webswing

    Webswing 是一个能将任何 Swing 应用通过纯 HTML5 运行在浏览器中的 Web 服务器,详细介绍请看 将 Java Swing 应用变成 Web 应用

    1 引用 • 15 回帖 • 629 关注
  • 电影

    这是一个不能说的秘密。

    120 引用 • 597 回帖
  • Lute

    Lute 是一款结构化的 Markdown 引擎,支持 Go 和 JavaScript。

    25 引用 • 191 回帖 • 23 关注
  • 反馈

    Communication channel for makers and users.

    124 引用 • 907 回帖 • 201 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 516 关注
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    10 引用 • 87 回帖
  • 负能量

    上帝为你关上了一扇门,然后就去睡觉了....努力不一定能成功,但不努力一定很轻松 (° ー °〃)

    87 引用 • 1204 回帖 • 453 关注
  • Vim

    Vim 是类 UNIX 系统文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff)、语法高亮、全面的帮助系统、本地脚本(Vimscript)和便于选择的可视化模式。

    28 引用 • 66 回帖
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    401 引用 • 3501 回帖
  • CloudFoundry

    Cloud Foundry 是 VMware 推出的业界第一个开源 PaaS 云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。

    5 引用 • 18 回帖 • 156 关注
  • 持续集成

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

    14 引用 • 7 回帖 • 2 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    76 引用 • 37 回帖
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 2 关注
  • JavaScript

    JavaScript 一种动态类型、弱类型、基于原型的直译式脚本语言,内置支持类型。它的解释器被称为 JavaScript 引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 HTML 网页上使用,用来给 HTML 网页增加动态功能。

    712 引用 • 1174 回帖 • 135 关注
  • 链书

    链书(Chainbook)是 B3log 开源社区提供的区块链纸质书交易平台,通过 B3T 实现共享激励与价值链。可将你的闲置书籍上架到链书,我们共同构建这个全新的交易平台,让闲置书籍继续发挥它的价值。

    链书社

    链书目前已经下线,也许以后还有计划重制上线。

    14 引用 • 257 回帖 • 2 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    261 引用 • 662 回帖 • 1 关注
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 85 关注
  • Latke

    Latke 是一款以 JSON 为主的 Java Web 框架。

    70 引用 • 532 回帖 • 725 关注
  • 链滴

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

    记录生活,连接点滴

    138 引用 • 3708 回帖
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    492 引用 • 1385 回帖 • 347 关注
  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1083 引用 • 3461 回帖 • 268 关注
  • 微信

    腾讯公司 2011 年 1 月 21 日推出的一款手机通讯软件。用户可以通过摇一摇、搜索号码、扫描二维码等添加好友和关注公众平台,同时可以将自己看到的精彩内容分享到微信朋友圈。

    130 引用 • 793 回帖