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 n42
        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

  • Apache Tinkerpop, an open source graph computing framework.
  • Clairlib, a suite of open-source Perl modules intended to simplify a number of generic tasks in natural language processing (NLP), information retrieval (IR), and network analysis (NA).
  • Cytoscape, an open source bioinformatics software platform for visualizing molecular interaction networks, loads and save previously-constructed interaction networks in GML.
  • Gephi, an open source graph visualization and manipulation software.
  • Graph-tool, a free and efficient Python module for manipulation and statistical analysis of graphs.
  • igraph, an open source library for the analysis of complex networks, with higher level interfaces for R, Python and Ruby.
  • NetworkX, an open source Python library for studying complex graphs.
  • ocamlgraph, a graph library for OCaml.
  • OGDF, the Open Graph Drawing Framework, an open source C++ library containing implementations of various graph drawing algorithms. The library is self-contained; optionally, additional packages like LP-solvers are required for some implementations.
  • 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.

External links