GraphML (.graphml)

GraphML graph data format.
Standard exchange for graphs.
GraphML is an acronym derived from Graph Markup Language.
XML-based format.
Represents typed, attributed, directed, and undirected graphs.
Can also store nested graphs and hypergraphs.
Supports user-defined edge and vertex types.
Proposed by the GraphML working group in 2001.

Import and ExportImport and Export

  • Import["file.graphml"] imports the graphs stored in the specified file, given as a single Graph object or a list of graphs.
  • Export["file.graphml",expr] exports an adjacency matrix or edge information for one graph or for multiple graphs to the GraphML format.
  • Import["file.graphml",elem] imports the specified element from a GraphML file.
  • Import["file.graphml",{elem,suba,subb,}] imports a subelement.
  • Import["file.graphml",{{elem1,elem2,}}] imports multiple elements.
  • The import format can be specified with Import["file","GraphML"] or Import["file",{"GraphML",elem,}].
  • Export["file.graphml",expr,elem] creates a GraphML file by treating expr as specifying element elem.
  • Export["file.graphml",{expr1,expr2,},{{elem1,elem2,}}] treats each as specifying the corresponding .
  • Export["file.graphml",expr,opt1->val1,] exports expr with the specified option elements taken to have the specified values.
  • Export["file.graphml",{elem1->expr1,elem2->expr2,},"Rules"] uses rules to specify the elements to be exported.
  • See the reference pages for full general information on Import and Export.
  • ImportString and ExportString support the GraphML file format.

ElementsElements

  • General Import elements:
  • "Elements"list of elements and options available in this file
    "Rules"full list of rules for each element and option
    "Options"list of rules for options, properties, and settings
  • Data representation elements:
  • "AdjacencyMatrix"edge information, given as a list of matrices
    "EdgeAttributes"edge attributes, represented as a list of rules
    "EdgeLabels"list of strings representing edge labels
    "EdgeRules"connectivity data for all graphs, given as an array of rules
    "Graph"first graph stored in the file, given as a Graph object
    "Graphics"first graph stored in the file, rendered as a graph plot
    "GraphicsList"all graphs given as a list of graphics objects
    "GraphList"all graphs stored in the file, given as a list of Graph objects
    "VertexAttributes"vertex attributes, represented as a list of rules
    "VertexCount"number of vertices in each graph, given as a list of integers
    "VertexList"vertices, given as a list of strings
  • Import by default uses for simple GraphML files and for multi-graph GraphML files.
  • Element specifications for GraphML files containing multiple graphs:
  • "GraphNames"names of the graphs, given as a list of strings
    elem,"name"element elem for the graph specified by
    elem,ndata representation element elem for the n^(th) graph in this file
    elem,{n1,n2,}element elem for graphs , ,
    elem,Allelement elem for all graphs, given as a list

OptionsOptions

ExamplesExamplesopen allclose all

Basic Examples  (7)Basic Examples  (7)

Import a graph from a GraphML file:

In[1]:=
Click for copyable input
Out[1]=

Export a Graph object to GraphML:

In[1]:=
Click for copyable input
Out[1]=

Export graph data to GraphML:

In[1]:=
Click for copyable input
Out[1]=

Import a graph from the exported file:

In[2]:=
Click for copyable input
Out[2]=

Show the Import elements available in an example file:

In[1]:=
Click for copyable input
Out[1]=

Import edge and vertex labels and the connectivity rules from this file:

In[1]:=
Click for copyable input
Out[1]=

Import as a Graph object:

In[1]:=
Click for copyable input
Out[1]=

Import the edge attributes in an example file:

In[1]:=
Click for copyable input
Out[1]=

Import and plot a graph, displaying vertex labels:

In[1]:=
Click for copyable input
Out[1]=
Introduced in 2010
(8.0)