Note

This documents the development version of NetworkX. Documentation for the current release can be found here.

networkx.readwrite.json_graph.cytoscape_graph

cytoscape_graph(data, attrs=None)[source]

Create a NetworkX graph from a dictionary in cytoscape JSON format.

Parameters
datadict

A dictionary of data conforming to cytoscape JSON format.

attrsdict or None (default=None)

A dictionary containing the keys ‘name’ and ‘ident’ which are mapped to the ‘name’ and ‘id’ node elements in cyjs format. All other keys are ignored. Default is None which results in the default mapping dict(name="name", ident="id").

Deprecated since version 2.6: The attrs keyword argument will be replaced with name and ident in networkx 3.0

Returns
grapha NetworkX graph instance

The graph can be an instance of Graph, DiGraph, MultiGraph, or MultiDiGraph depending on the input data.

Raises
NetworkXError

If the name and ident attributes are identical.

See also

cytoscape_data

convert a NetworkX graph to a dict in cyjs format

References

1

Cytoscape user’s manual: http://manual.cytoscape.org/en/stable/index.html

Examples

>>> data_dict = {
...     'data': [],
...     'directed': False,
...     'multigraph': False,
...     'elements': {'nodes': [{'data': {'id': '0', 'value': 0, 'name': '0'}},
...       {'data': {'id': '1', 'value': 1, 'name': '1'}}],
...      'edges': [{'data': {'source': 0, 'target': 1}}]}
... }
>>> G = nx.cytoscape_graph(data_dict)
>>> G.name
''
>>> G.nodes()
NodeView((0, 1))
>>> G.nodes(data=True)[0]
{'id': '0', 'value': 0, 'name': '0'}
>>> G.edges(data=True)
EdgeDataView([(0, 1, {'source': 0, 'target': 1})])