GraphML (.graphml)

  • Import and Export fully support the GraphML format.
  • Background & Context

      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 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 expri as specifying the corresponding elemi.
    • 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.

    Elements

    • 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 "Graph" for simple GraphML files and "GraphList" for multigraph 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 "name"
      elem,ndata representation element elem for the n^(th) graph in this file
      elem,{n1,n2,}element elem for graphs n1, n2,
      elem,Allelement elem for all graphs, given as a list

    Options

    Examples

    open allclose all

    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]=

    Scope  (1)

    See Also

    "Graph6"  "GXL"  "DOT"  "GraphML"

    Introduced in 2010
    (8.0)