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:
-
CloudImport , CloudExport import from or export to a cloud objectImportString , ExportString import from or export to a stringImportByteArray , ExportByteArray import 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 stringselem,"name" element elem for the graph specified by "name"elem,n data representation element elem for the n^(th) graph in this fileelem,{n1,n2,…} element elem for graphs n1, n2, …
Options
- General Import options:
- When importing from GraphML, all options supported by Graph can be given. Common settings include:
- When importing "Graphics", all options supported by GraphPlot can be given. Common settings include:
- When exporting from a Graph object, Wolfram Language graph attribute values are often exported as strings using Compress .
Examples
open allclose allBasic 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: