2012-04-12 70 views
4

图形(拓扑类型)是否有常用的标记语言?我希望XMLelements如Node和Edge以及属性显示方向性和标签是否有图形的标记语言?

UPDATE: 到目前为止,可以选择2,GraphML和DotML。 GraphML自2007年以来没有改变,但也许并不需要! SO读者可能希望知道每个工具集都有哪些 - 我鼓励Gephi使用GrahML,显然DotML有GraphViz和其他工具集。 (我将用Java编写一个有限的工具包,以我选择的语言为准)

更新: 我个人使用DotML。我需要用于建模的语言(例如,将标签,权重等添加到节点和边缘,因此需要我自己的额外名称空间)。 DotML的吸引力在于它似乎是活跃的,并且graphViz可以利用输出。 YMMV

回答

5

Dot language是我用于图形的主要语言。

GraphViz等系统使用该语言来生成其图形并且相当人性化。

这是graphviz DOT language reference。另外,我写了一个.NET GraphViz包装器,可以用来解析DOT字符串和输出图。如果这对您有用,您可以从CodePlex获取代码:http://graphviz.codeplex.com/

+0

有一个名为DotML的DOT的XML编码版本,我用它来准备XSLT规范中的图表。 – 2012-04-12 08:47:21

+1

对不起 - 编辑此项是错误的,然后删除我的添加 – 2012-04-12 09:33:07

1

不是XML意义上的标记,但可以使用Dot语言。像graphviz这样的程序将采用点输出并将其变成一个漂亮的图形。正如评论中指出的那样,还有DotML

如果你想要基于XML,然后GraphML,DGMLGXL存在,但我从来没有遇到过它们在实际应用中!

+1

有一个DOT的XML编码版本称为DotML,我用它在XSLT规范中准备图表。 – 2012-04-12 08:47:26

+0

@MichaelKay谢谢,以前没见过。编辑答案添加它。 – 2012-04-12 08:50:28

2

使用GraphML描述变体的一个有用工具是yEd(http://www.yworks.com/en/products_yed_about.html)。我用它来可视化简单图形。这是标记语言恕我直言更像是XML。他们有一个库在你的应用程序中使用,但我从来没有使用它。