边缘数据格式

Edge Data Format

我正在尝试找到最有效的方法来 return 网络图的数据,该网络图将在前端使用 cytoscape js 构建。我知道添加边和节点的标准方法是:

// can use reference to eles later
var eles = cy.add([
  { group: 'nodes', data: { id: 'n0' }, position: { x: 100, y: 100 } },
  { group: 'nodes', data: { id: 'n1' }, position: { x: 200, y: 200 } },
  { group: 'nodes', data: { id: 'n2' }, position: { x: 300, y: 300 } },
  { group: 'edges', data: { id: 'e0', source: 'n0', target: 'n1' } },
  { group: 'edges', data: { id: 'e0', source: 'n0', target: 'n2' } }
]);

摘自他们的文档

我想知道是否有办法有效地执行以下操作:

// can use reference to eles later
var eles = cy.add([
  { group: 'nodes', data: { id: 'n0' }, position: { x: 100, y: 100 } },
  { group: 'nodes', data: { id: 'n1' }, position: { x: 200, y: 200 } },
  { group: 'nodes', data: { id: 'n2' }, position: { x: 300, y: 300 } },
  { group: 'edges', data: { id: 'e0', source: 'n0', target: ['n1', 'n2'] } }
]);

这样我可以 return 来自服务器的邻接列表而不是 edge/node 列表。

有趣的格式,但不幸的是,如果没有新的扩展名,这将无法工作。

问题是,图中的每个元素都必须有一个 id!因此,当您向图中添加一条边并分配多个目标时,每条边应该有 2 个 id。

如果您正在尝试优化您的 cy 实例,您可以阅读文档的 this 部分。