首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将有向无环图(DAG)存储为JSON?

如何将有向无环图(DAG)存储为JSON?
EN

Stack Overflow用户
提问于 2012-03-28 05:26:41
回答 2查看 17.3K关注 0票数 33

我想将DAG表示为JSON文本,并想知道是否有人尝试过这种方式,以及他们在验证JSON是否真的是DAG时处理的任何问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-28 07:15:48

标记每个节点,并制作一个边列表。也就是说,对于每个节点,存储它具有边的节点,例如:

代码语言:javascript
复制
{
  "a": [ "b", "c", "d" ],
  "b": [ "d" ],
  "c": [ "d" ],
  "d": [ ]
}

您可以通过这种方式存储许多类型的图,而不仅仅是DAG,因此您需要对其进行后处理,以确保它没有循环。如果您多次看到某个节点不是DAG,只需选择一个节点DFS即可。然后删除您刚才看到的所有节点,并对剩余的节点重复上述操作。一直执行此操作,直到找到一个循环或删除了所有节点,在后一种情况下,图形为DAG。

请注意,这不会存储父节点,因为这是冗余信息。如果需要这些数据,您可以在加载图形后生成这些数据。

票数 41
EN

Stack Overflow用户

发布于 2013-07-26 03:01:56

JSON没有表示DAG的原生工具,除非您制定自己的约定来表示链接数据。JSON-LD (一个W3C提议)就是一个试图做到这一点的JSON扩展。该提案可以在这里找到:http://json-ld.org/spec/latest/json-ld/

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9897956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档