小编Ami*_*lgi的帖子

在图形和子图上表示和执行IO

我有一个问题,我需要在循环图上执行CRUD操作.现在我知道那里有一堆图形数据库,但我有一组特定的用例,这些用例在这些数据库中不受支持(或者至少我不知道它们).

以下是我的构造:

  • 节点:可以有多个源和目标
  • 定向边缘:连接两个节点
  • 节点组:形成一个组的多个节点(与边连接)(简单地说,它是一个较小的图形)
  • 有向图:包含多个节点,节点组和边.该图可以是循环的.

以下是我可以拥有的功能:

  • 我可以通过定义传入和传出边缘定义来创建节点.
  • 我可以通过添加节点并将它们与边连接来创建一个简单的图形.
  • 我可以执行标准的图形遍历.
  • 我现在可以将图的节点分组并将其称为节点组,我可以在另一个更大的图中使用此节点组的多个实例(就像节点一样).这可以创建复杂的层次结构.
  • 我可以创建多个图形,这些图形又使用上述任何结构.
  • 我可以对节点和节点组定义进行更改,这意味着可以对图形进行结构更改.如果我对节点或节点组定义进行更改,则还应更新所有图中此节点的所有实例.

现在我明白所有这一切都可以通过关系数据库来完成,这将确保关系完好无损并且查询很简单.但是当存在复杂的图形并且要更新这些图形的多个时,性能将受到影响.

所以,我想知道是否存在一种混合/更好的方法来存储,检索和更新这些图表,与关系数据库相比,这种方法会快得多.

任何想法都会非常有用.提前致谢!

java graph relationship graph-traversal data-structures

7
推荐指数
1
解决办法
110
查看次数