为 Emacs 推出自己的图形数据库

问题描述

我正在考虑一个 Emacs 应用程序,它将为组织模式提供基本的图形数据库功能。我想自己编写代码,滚动您自己的图形数据应用程序。任何人都可以指导我进行此类任务的数据结构和算法吗?我对图论知之甚少,只是基础知识。为了我的努力,我想将两个组织模式标题作为顶点存储在单个组织模式文件中,但也可以选择将整个组织模式文件存储为单个顶点。每个文件,每个标题顶点将在组织模式属性“抽屉”中具有唯一的 UUID 编号,可以将其理解为每个标题的结构体。边可能是 RFD 式的——本质上是用作边的“谓词”顶点。大胆猜测,我会说图形存储为邻接列表而不是邻接矩阵?某种形式的查询也应该是可能的。

感谢任何建议。

解决方法

所以,当我在 org-mode 中做类似的事情时,我经常回退到它的原生 graphviz 支持。


# Toggle inline images: c-c c-x c-v
#+BEGIN_SRC dot :results output :file outfilename.png

   digraph "graphname" {

          A [label="foo"];
          B [label="bar",shape="box"];
          C [label="baz",shape="box"];

          A -> B;
          A -> C;
          C -> B;
          
   }

#+END_SRC

#+RESULTS:
[[file:outfilename.png]]

如果您需要大量数据,将 CSV 文件转换为一组 graphviz 点并不难。

,

我想说 this 对我来说是一个很好的起点。很好的讨论。一张海报提到了 Steven S. Skiena 撰写的非常出色的算法设计手册

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...