GraphML is an
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing arbitrary data. It defines a set of rules for encoding documents in a format that is both human-readable and machine-readable. ...
-based file format for
graphs. The GraphML file format results from the joint effort of the
graph drawing
Graph drawing is an area of mathematics and computer science combining methods from geometric graph theory and information visualization to derive two-dimensional depictions of graphs arising from applications such as social network analysis, car ...
community to define a common format for exchanging graph structure data. It uses an XML-based syntax and supports the entire range of possible graph structure constellations including directed, undirected,
mixed graphs,
hypergraph
In mathematics, a hypergraph is a generalization of a graph in which an edge can join any number of vertices. In contrast, in an ordinary graph, an edge connects exactly two vertices.
Formally, an undirected hypergraph H is a pair H = (X,E) ...
s, and application-specific attributes.
[.]
Overview
A GraphML file consists of an XML file containing a
graph
element, within which is an unordered sequence of
node
and
edge
elements. Each
node
element should have a distinct
id
attribute, and each
edge
element has
source
and
target
attributes that identify the endpoints of an edge by having the same value as the
id
attributes of those endpoints.
Here is what a simple undirected graph with two nodes and one edge between them looks like:
Additional features of the GraphML language allow its users to specify whether edges are directed or undirected, and to associate additional data with vertices or edges.
See also
*
yEd, a widespread graph editor that uses GraphML as its native file format (but ports, hypergraphs not supported and limited nested graphs support).
*
Gephi
Gephi ( ) is an open-source network analysis and visualization software package written in Java on the NetBeans platform.
History
Initially developed by students of the University of Technology of Compiègne (UTC) in France, Gephi has been se ...
, a graph visualization software that supports a limited set of GraphML.
*
DOT (graph description language)
DOT is a graph description language. DOT graphs are typically files with the filename extension ''gv'' or ''dot''. The extension ''gv'' is preferred, to avoid confusion with the extension ''dot'' used by versions of Microsoft Word before 2007.
...
*
Boost libraries
Boost is a set of libraries for the C++ programming language that provides support for tasks and structures such as linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, and unit testing. It co ...
allow to read from and write to GraphML format.
References
External links
*
GraphML PrimerComparison between XML to SVG Transformation Mechanisms showing conversions between GraphML and
SVG
{{Graph representations
XML markup languages
Graph description languages
XML-based_standards