Graph Modelling Language

Graph Modeling Language (GML) is a hierarchical ASCII-based file format for describing graphs. It has been also named Graph Meta Language.

Example
A simple graph in GML format: graph [ comment "This is a sample graph" directed 1 id 42 label "Hello, I am a graph" node [ id 1 label "node 1" thisIsASampleAttribute 42 ]	node [ id 2 label "node 2" thisIsASampleAttribute 43 ]	node [ id 3 label "node 3" thisIsASampleAttribute 44 ]	edge [ source 1 target 2 label "Edge from node 1 to node 2" ]	edge [ source 2 target 3 label "Edge from node 2 to node 3" ]	edge [ source 3 target 1 label "Edge from node 3 to node 1" ] ]

Applications supporting GML

 * Cytoscape, an open source bioinformatics software platform for visualizing molecular interaction networks, loads and save previously-constructed interaction networks in GML.
 * igraph, an open source network analysis library with interfaces to multiple programming languages.
 * Gephi, an open source graph visualization and manipulation software.
 * Graph-tool, a free Python module for manipulation and statistical analysis of graphs.
 * NetworkX, an open source Python library for studying complex graphs.
 * Tulip (software) is a free software in the domain of information visualisation capable of manipulating huge graphs (with more than 1.000.000 elements).
 * yEd, a free Java-based graph editor, supports import from and export to GML.
 * The Graphviz project includes two command-line tools (gml2gv and gv2gml) that can convert to and from the DOT file format.
 * Wolfram Language, a general very high-level programming language, supports GML import and export.