最佳/更标准的图形表示文件格式是什么?(GraphSON、Gexf、GraphML?)

23

什么是标准图形表示文件格式或者说最常用的文件格式?我会说这三个中的一个:

但如果有人能够指出它们各自的优缺点就更好了。


1
从问题中删除“最佳”可能是个好主意,因为这是高度主观的且难以量化的。回答“最受欢迎的”,“最受支持的”或“最标准的”可能会更容易一些,即使在特定上下文中也是如此。你可以说“领域X的标准格式是Y,并且被70%的新项目使用”,但是试图将质量附加到Y则更加困难。 - AnnanFay
4个回答

8

8
答案最终取决于您的问题规模和您想要实现的目标。例如,这些格式都无法处理数十亿个顶点,而一些专门的大规模图分析框架(如SparkGraphLab-Create)可以处理。GraphML和GEXF大致相当,都基于XML。GraphML是标准格式,并在许多图形库中得到支持,如NetworkX、igraph、Boost Graph Library、Graph-tool、JGraphT和Gephi。GraphSon并不流行。要绘制您的GraphML或GEXF图形,您可以使用GephiTulip(仅限GEXF)。

1
那么,难道没有基于 JSON 而不是 XML 的流行替代品吗? - ppareja
1
并不是每个库都定义了相同的JSON格式。NetworkX、sigma.js和graphson都是JSON格式,但它们各不相同。 - Kirell

5

理想情况下,你希望使用被主流第三方软件支持的格式。我目前正在研究导出到Gephi并且它支持以下格式:

  • GEXF
  • GDF
  • GML
  • GraphML
  • Pajek NET
  • GraphViz DOT
  • CSV
  • UCINET DL
  • Tulip TPL
  • Netdraw VNA

我很想看到对每种格式的优劣进行分析。Gephi的示例数据集包括了很多GEXFGML


对于遵循Unix哲学的CSV文件,我给一个赞。如果你需要更多功能,可以自己编写脚本将其转换为其他格式(尽管可能不会被广泛采用)。 - Sridhar Sarnobat

2
GNU Bison可以输出Graphviz DOT文件,以帮助可视化解析自动机,这些图通常非常大。在这里,您可以找到一个小样本
我认为DOT至少是开源项目的事实标准,也因为有许多优秀的开源工具可以从DOT文件生成图像(例如dot、neato、sfdp)。
截至我写这篇文章的时候,Gephi和Tulip不绘制边缘标签,这可能对某些应用程序造成问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接