GraphML (.graphml)

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 & 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 following reference pages for full general information:
  • Import, Exportimport from or export to a file
    CloudImport, CloudExportimport from or export to a cloud object
    ImportString, ExportStringimport from or export to a string
    ImportByteArray, ExportByteArrayimport from or export to a byte array

Import Elements

  • General Import elements:
  • "Elements" list of elements and options available in this file
    "Summary"summary of the file
    "Rules"list of rules for all available elements
  • 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



open allclose all

Basic Examples  (7)

Import a graph from a GraphML file:

Export a Graph object to GraphML:

Export graph data to GraphML:

Import a graph from the exported file:

Show the Import elements available in an example file:

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

Import as a Graph object:

Import the edge attributes in an example file:

Scope  (1)

Import and plot a graph, displaying vertex labels: