Skip to main content
`Ctrl`+`K`

# node_link_graph

node_link_graph(data, directed=False, multigraph=True, *, source='source', target='target', name='id', key='key', edges=None, nodes='nodes', link=None)

  Returns graph from node-link data format.

  Useful for de-serialization from JSON.

  Parameters:
    data dict

      node-link formatted graph data

    directed bool

      If True, and direction not specified in data, return a directed graph.

    multigraph bool

      If True, and multigraph not specified in data, return a multigraph.

    source string

      A string that provides the ‘source’ attribute name for storing NetworkX-internal graph data.

    target string

      A string that provides the ‘target’ attribute name for storing NetworkX-internal graph data.

    name string

      A string that provides the ‘name’ attribute name for storing NetworkX-internal graph data.

    key string

      A string that provides the ‘key’ attribute name for storing NetworkX-internal graph data.

    edges string

      A string that provides the ‘edges’ attribute name for storing NetworkX-internal graph data.

    nodes string

      A string that provides the ‘nodes’ attribute name for storing NetworkX-internal graph data.

    link string

      Deprecated since version 3.4: The `link` argument is deprecated and will be removed in version `3.6`. Use the `edges` keyword instead.

      A string that provides the ‘edges’ attribute name for storing NetworkX-internal graph data.

  Returns:
    G NetworkX graph

      A NetworkX graph object

  See also

  `node_link_data`, `adjacency_data`, `tree_data`

  Notes

  Attribute ‘key’ is only used for multigraphs.

  To use `node_link_data` in conjunction with `node_link_graph`, the keyword names for the attributes must match.

  Examples

  Create data in node-link format by converting a graph.

      >>> from pprint import pprint
      >>> G = nx.Graph([("A", "B")])
      >>> data = nx.node_link_data(G, edges="edges")
      >>> pprint(data)
      {'directed': False,
       'edges': [{'source': 'A', 'target': 'B'}],
       'graph': {},
       'multigraph': False,
       'nodes': [{'id': 'A'}, {'id': 'B'}]}

  Revert data in node-link format to a graph.

      >>> H = nx.node_link_graph(data, edges="edges")
      >>> print(H.edges)
      [('A', 'B')]

  To serialize and deserialize a graph with JSON,

      >>> import json
      >>> d = json.dumps(nx.node_link_data(G, edges="edges"))
      >>> H = nx.node_link_graph(json.loads(d), edges="edges")
      >>> print(G.edges, H.edges)
      [('A', 'B')] [('A', 'B')]