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

将图形表示为backbone.js模型/集合,backbone.js,graph,Backbone.js,Graph,我正在寻找一个如何将图及其节点和边表示为backbone.js模型的示例。我希望有人能给我举个例子,如何优雅地做到这一点 谢谢 martin(假设您希望使用节点(如名称等)存储元数据) 一种简单的方法可能是将图形表示为节点模型的集合 这些模型中的每一个都有一个属性,该属性包含一个由它们连接的节点id表示的边数组,因此collection.toJSON()将返回如下内容: [ { id: 1, name: 'first node', edges: [2, 4]

我正在寻找一个如何将图及其节点和边表示为backbone.js模型的示例。我希望有人能给我举个例子,如何优雅地做到这一点

谢谢

martin

(假设您希望使用节点(如名称等)存储元数据)

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

这些模型中的每一个都有一个属性,该属性包含一个由它们连接的节点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]
   }
]
您可以实现方法来计算节点之间的距离或在集合类中派生集群

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

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

(假设您希望使用节点(如名称等)存储元数据)

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

这些模型中的每一个都有一个属性,该属性包含一个由它们连接的节点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]
   }
]
您可以实现方法来计算节点之间的距离或在集合类中派生集群

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


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

非常感谢你的回复-我现在有点走那条路,还不确定结果会如何…非常感谢你的回复-我现在有点走那条路,还不确定结果会如何。。。