GraphML
GraphML is an XML-based file format for graphs. The GraphML file format results from the joint effort of the graph drawing 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, hypergraphs, and application-specific attributes.[1]
Introduction to GraphML
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 2 nodes and one edge between them looks like:
<?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/1.0/graphml.xsd"> <graph id="G" edgedefault="undirected"> <node id="n0"/> <node id="n1"/> <edge id="e1" source="n0" target="n1"/> </graph> </graphml>
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.
Other Graph File Formats
- GXL, graph exchange format based on XML -- GXL
- Trivial Graph Format, simple text based format
- GML is another widely used graph exchange format. -- GML
- DGML, Directed Graph Markup Language from Microsoft
- XGMML an XML-based graph markup language closely related to GML -- XGMML
- Dot Language, a format for describing graphs and their presentation, for the Graphviz set of tools.
- XCM, an XML format designed specifically for concept maps.
- XTM, an emerging standard for exchanging web-based Topic Maps -- XTM.
See also
- yEd, a widespread graph editor that uses GraphML as its native file format.
- Gephi, a graph visualization software that supports limited set of GraphML.[2]
References
- ↑ Brandes, Ulrik; Eiglsperger, Markus; Lerner, Jürgen; Pich, Christian. "Graph Markup Language (GraphML)". In Tamassia, Roberto. Handbook of Graph Drawing and Visualization. CRC Press. pp. 517–541..
- ↑ "GraphML Format".
External links
- Homepage of GraphML
- An introduction to GraphML is the GraphML Primer.
- Comparison between XML to SVG Transformation Mechanisms, showing conversions between GraphML and SVG