将图形表示为backbone.js模型/集合

时间:2013-09-24 15:09:02

标签: backbone.js graph

我正在寻找一个如何将Graph及其节点和边缘表示为backbone.js模型的示例。我希望有人可以指出一个如何优雅地做到这一点的例子。

由于

马丁

1 个答案:

答案 0 :(得分:1)

(假设你想存储节点的元数据 - 比如姓名等)

一种简单的方法可能是将图表表示为节点模型的集合。

这些模型中的每一个都有一个包含由它们连接到的节点的id表示的边数组的属性 - 这样collection.toJSON()将返回如下内容:

[
   {
     id: 1,
     name: 'first node',
     edges: [2, 4]
   },
   {
     id: 2,
     name: 'second node',
     edges: [1, 3, 4]
   },
   {
     id: 3,
     name: 'third node',
     edges: [2]
   },
   {
     id: 1,
     name: 'first node',
     edges: [1, 2]
   }
]

您可以实现方法来计算节点之间的距离或派生类中的集群。

现在正如我所提到的,这是一个简单的实现,根据您希望在图表上执行的操作,这可能非常低效。

如果您想进行一些阅读并找到以类似哈希(模型)或类似列表(集合)结构存储图形信息的最有效方法,请选择谷歌“邻接矩阵”或“邻接列表”,从那里开始!