【问题标题】:Storing a graph in a database将图形存储在数据库中
【发布时间】:2014-11-11 09:27:48
【问题描述】:

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

计划是使用嵌入式数据库来保存创建的用户文件,在这里我怀疑如何是实现该目标的最佳方法。

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

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

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

我将感谢您对此案的任何帮助,如果不是很清楚,我深表歉意,请随时提出任何问题。

【问题讨论】:

    标签: java xml eclipse graph hsqldb


    【解决方案1】:

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

    NODES_TABLE
    
    node1
    node2
    node3
    node4
    ...
    
    EDGES_TABLE
    
    node1,node2
    node2,node3
    node3,node4
    node4,node1
    ...
    

    【讨论】:

    • 那么问题是图中节点的定制,它们可以有一个定制的图标和属性,所以它添加了一些额外的信息来存储在数据库中
    猜你喜欢
    • 2016-06-15
    • 1970-01-01
    • 2012-01-15
    • 1970-01-01
    • 1970-01-01
    • 2012-10-17
    相关资源
    最近更新 更多