GraphML

GraphML ist ein XML-basiertes Dateiformat für die Repräsentation von Graphen. GraphML besteht aus einem Sprachkern zur Beschreibung der Struktur eines Graphen und einem Erweiterungsmechanismus für applikationsspezifische Daten. GraphML ist ein freies Dateiformat basierend auf der Creative Commons Attribution 3.0 Lizenz.

Geschichte

Das GraphML Projekt wurde durch das Graph Drawing Steering Committee im Vorfeld zur Graph Drawing 2000 Konferenz in Williamsburg (Virginia) gestartet. Der Vorläufer von GraphML war die Graph Modelling Language (GML), welche auf Grund einer Initiative der Graph Drawing 1995 Konferenz in Passau gestartet wurde.[1]

Funktionsweise

Aus dem Code erzeugter, ungerichteter Graph

GraphML unterstützt gerichtete, ungerichtete und gemischte Graphen, Hypergraphen sowie hierarchische Graphen. Es bietet Möglichkeiten zur Beschreibung der graphischen Repräsentation des Graphen, Referenzen auf externe Daten, sowie anwendungsspezifische Attribute.

Der rechts dargestellte einfache ungerichtete Graph mit vier Knoten und vier Kanten sieht in GraphML folgendermaßen aus:

<?xml version="1.0" encoding="UTF-8"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns
     http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd">
  <graph id="G" edgedefault="undirected">
    <node id="A"/>
    <node id="B"/>
    <node id="C"/>
    <node id="D"/>
    <edge id="ab" source="A" target="B"/>
    <edge id="bc" source="B" target="C"/>
    <edge id="cd" source="C" target="D"/>
    <edge id="da" source="D" target="A"/>
  </graph>
</graphml>

Andere Dateiformate für Graphen

  • Graph Exchange Language (GXL) – weitere XML-basierte Beschreibungssprache für Graphen.
  • Trivial Graph Format – simples textbasiertes Format zur Beschreibung von Graphen.
  • Graph Modelling Language (GML)
  • eXtensible Graph Markup and Modeling Language (XGMML) – XML-basierte Graph Markup Language ähnlich wie GML.
  • DOT – Beschreibungssprache für Graphen für die Graphviz-Tools.
  • Graph Exchange XML Format (GEXF) – Beschreibungssprache mit Unterstützung für dynamische Graphen, genutzt u. a. von der Software Gephi. GEXF Projektwebsite

Siehe auch

  • XML
  • Scalable Vector Graphics (SVG) – ein XML-basiertes Dateiformat für beliebige Grafiken.
  • yEd – ein grafischer Editor für Graphen basierend auf dem GraphML Dateiformat.

Literatur

  • Ulrik Brandes, Markus Eiglsperger, Ivan Herman, Michael Himsolt, M. Scott Marshall: GraphML Progress Report. Structural Layer Proposal. In: Department of Computer & Information Science, Universität Konstanz (Hrsg.): Proceedings 9th International Symposium on Graph Drawing (GD '01). Springer-Verlag, 2002, S. 501–512 (englisch, uni-konstanz.de [abgerufen am 3. August 2010] Ghostscript, gzipped). 

Weblinks

  • graphml.graphdrawing.org – Homepage von GraphML
  • graphml.graphdrawing.org - Primer – Einführung in GraphML
  • svgopen.org – Vergleich zwischen XML-zu-SVG-Transformationsmechanismen (Memento vom 15. September 2019 im Internet Archive)

Einzelnachweise

  1. About GraphML