我认为JGF也是一个很好的候选者。 最近我评估了很多内容,这个排名第一。具体来说,我喜欢以下内容: 易于解析和生成 可以为任何节点、边或图形包含任意额外数据。 规范明确,并且可以被多个现有项目解析。 http://jsongraphformat.info/ https://github.com/jsongraph/json-graph-specification
答案最终取决于您的问题规模和您想要实现的目标。例如,这些格式都无法处理数十亿个顶点,而一些专门的大规模图分析框架(如Spark或GraphLab-Create)可以处理。GraphML和GEXF大致相当,都基于XML。GraphML是标准格式,并在许多图形库中得到支持,如NetworkX、igraph、Boost Graph Library、Graph-tool、JGraphT和Gephi。GraphSon并不流行。要绘制您的GraphML或GEXF图形,您可以使用Gephi或Tulip(仅限GEXF)。
理想情况下,你希望使用被主流第三方软件支持的格式。我目前正在研究导出到Gephi并且它支持以下格式: GEXF GDF GML GraphML Pajek NET GraphViz DOT CSV UCINET DL Tulip TPL Netdraw VNA 我很想看到对每种格式的优劣进行分析。Gephi的示例数据集包括了很多GEXF和GML。
GNU Bison可以输出Graphviz DOT文件,以帮助可视化解析自动机,这些图通常非常大。在这里,您可以找到一个小样本。我认为DOT至少是开源项目的事实标准,也因为有许多优秀的开源工具可以从DOT文件生成图像(例如dot、neato、sfdp)。截至我写这篇文章的时候,Gephi和Tulip不绘制边缘标签,这可能对某些应用程序造成问题。