java - 将图表存储在数据库中

标签 java xml eclipse graph hsqldb

我正在做学生工作中的一个项目,其中我使用 yfiles 作为构建自定义图形和图标的库,所有这些都在 java 中使用 eclipse 作为 IDE。

计划是使用嵌入式数据库来保存创建的用户文件,这是我对如何实现这一目标的最佳方法存有疑问的地方。

他们有一个关于如何从数据库中存储的数据创建图形的示例,该库支持多种数据库引擎,包括 mysql、hsqldb、db1、oracle、derby 甚至 CSV-JDBC。现在在他们的文件中没有任何示例或任何内容表明可以将信息从图形存储到数据库,我想问以前使用过该库的人是否知道如何从图形(包括图标和形状)中获取信息存储在任何这些数据库引擎中。

该库创建的文件名为 graphml ,它基本上是一个 xml 文件。

我的想法是将 xml 作为 blob 存储在数据库中,并在需要时检索它,但由于他们有从数据库中的信息创建图形的演示,我想在这里询问任何了解这个库的人将元素保存在数据库中的相反过程,而不使用 blob 字段将整个 xml 文件存储到其中。

我将不胜感激对此案的任何帮助,如果不清楚,我深表歉意,如有任何疑问,请随时询问。

最佳答案

您可以将图形作为节点和边存储在关系数据库中。一个表包含节点列表,另一个表包含边列表。如果图表已加权,则每条边也有一个权重列。在下面的示例中,定义了一个具有 4 个节点和 4 条边的简单图。如果该图是有向的,则每条边都从第一列中的节点指向第二列中的节点。

NODES_TABLE

node1
node2
node3
node4
...

EDGES_TABLE

node1,node2
node2,node3
node3,node4
node4,node1
...

关于java - 将图表存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25888953/

相关文章:

java - 如何使用 onTouch 事件更新绘制到 Canvas 上的 Android 位图的位置?

c# - C# 中的编程式 XML 差异/合并

c# - SQLXML BulkLoader 没有抛出任何错误但没有插入数据

java - 在 Java/Eclipse 中,为什么在我的代码中设置断点会改变该语句的效果?

eclipse - m2eclipse 未找到 Maven 依赖项,未找到工件

java - 创建新的 Maven 项目时找不到所需的原型(prototype)

java - 是什么导致 Java 程序因包含 SIGSEGV 的热点转储而终止?

java - 如何通过构造初始化HashSet值?

java - 如何删除 xml 文档中的独立属性声明?

c++ - Eclipse cdt : Includes header file correct, 编译,但突出显示源代码: "Unresolved inclusion"