generate_gml#
- generate_gml(G, stringizer=None)[source]#
Generate a single entry of the graph G in GML format.
- Parameters:
- GNetworkX graph
The graph to be converted to GML.
- stringizercallable, optional
A stringizer which converts non-int/non-float/non-dict values into strings. If it cannot convert a value into a string, it should raise a ValueError to indicate that. Default value: None.
- Yields:
- str
Lines of GML data. Newlines are not appended.
- Raises:
- NetworkXError
If stringizer cannot convert a value into a string, or the value to convert is not a string while stringizer is None.
See also
Notes
Graph attributes named ‘directed’, ‘multigraph’, ‘node’ or ‘edge’, node attributes named ‘id’ or ‘label’, edge attributes named ‘source’ or ‘target’ (or ‘key’ if G is a multigraph) are ignored because these attribute names are used to encode the graph structure.
GML files are stored using a 7-bit ASCII encoding with any extended ASCII characters (iso8859-1) appearing as HTML character entities. Without specifying a stringizer/destringizer, the code is capable of writing int/float/str/dict/list data as required by the GML specification. For writing other data types, and for reading data other than str you need to explicitly supply a stringizer/destringizer.
For additional documentation on the GML file format, please see the GML url.
See the module docstring
networkx.readwrite.gmlfor more details.Examples
>>> G = nx.Graph() >>> G.add_node("1") >>> print("\n".join(nx.generate_gml(G))) graph [ node [ id 0 label "1" ] ] >>> G = nx.MultiGraph([("a", "b"), ("a", "b")]) >>> print("\n".join(nx.generate_gml(G))) graph [ multigraph 1 node [ id 0 label "a" ] node [ id 1 label "b" ] edge [ source 0 target 1 key 0 ] edge [ source 0 target 1 key 1 ] ]