GraphMLDataset¶
GraphMLDataset loads and saves graph data in GraphML format using NetworkX.
kedro_datasets.networkx.GraphMLDataset ¶
GraphMLDataset(
*,
filepath,
load_args=None,
save_args=None,
version=None,
credentials=None,
fs_args=None,
metadata=None
)
Bases: AbstractVersionedDataset[Graph, Graph]
GraphMLDataset loads and saves graphs to a GraphML file using an
underlying filesystem (e.g.: local, S3, GCS). NetworkX is used to
create GraphML data.
See https://networkx.org/documentation/stable/tutorial.html for details.
Examples:
Using the Python API:
>>> import networkx as nx
>>> from kedro_datasets.networkx import GraphMLDataset
>>>
>>> graph = nx.complete_graph(100)
>>>
>>> graph_dataset = GraphMLDataset(filepath=tmp_path / "test.graphml")
>>> graph_dataset.save(graph)
>>> reloaded = graph_dataset.load()
>>> assert nx.is_isomorphic(graph, reloaded)
Parameters:
-
filepath(str) –Filepath in POSIX format to the NetworkX GraphML file.
-
load_args(dict[str, Any] | None, default:None) –Arguments passed on to
networkx.read_graphml. See the details in https://networkx.org/documentation/stable/reference/readwrite/generated/networkx.readwrite.graphml.read_graphml.html -
save_args(dict[str, Any] | None, default:None) –Arguments passed on to
networkx.write_graphml. See the details in https://networkx.org/documentation/stable/reference/readwrite/generated/networkx.readwrite.graphml.write_graphml.html -
version(Version | None, default:None) –If specified, should be an instance of
kedro.io.core.Version. If itsloadattribute is None, the latest version will be loaded. If itssaveattribute is None, save version will be autogenerated. -
credentials(dict[str, Any] | None, default:None) –Credentials required to get access to the underlying filesystem. E.g. for
GCSFileSystemit should look like{"token": None}. -
fs_args(dict[str, Any] | None, default:None) –Extra arguments to pass into underlying filesystem class constructor (e.g.
{"project": "my-project"}forGCSFileSystem), as well as to pass to the filesystem'sopenmethod through nested keysopen_args_loadandopen_args_save. Here you can find all available arguments foropen: https://filesystem-spec.readthedocs.io/en/latest/api.html#fsspec.spec.AbstractFileSystem.open All defaults are preserved, exceptmode, which is set torbwhen loading and towbwhen saving. -
metadata(dict[str, Any] | None, default:None) –Any arbitrary metadata. This is ignored by Kedro, but may be consumed by users or external plugins.
Source code in kedro_datasets/networkx/graphml_dataset.py
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | |
DEFAULT_FS_ARGS
class-attribute
instance-attribute
¶
DEFAULT_FS_ARGS = {
"open_args_save": {"mode": "wb"},
"open_args_load": {"mode": "rb"},
}
_fs_open_args_load
instance-attribute
¶
_fs_open_args_load = {
None: get("open_args_load", {}),
None: _fs_open_args_load or {},
}
_fs_open_args_save
instance-attribute
¶
_fs_open_args_save = {
None: get("open_args_save", {}),
None: _fs_open_args_save or {},
}
_describe ¶
_describe()
Source code in kedro_datasets/networkx/graphml_dataset.py
135 136 137 138 139 140 141 142 | |
_exists ¶
_exists()
Source code in kedro_datasets/networkx/graphml_dataset.py
131 132 133 | |
_invalidate_cache ¶
_invalidate_cache()
Invalidate underlying filesystem caches.
Source code in kedro_datasets/networkx/graphml_dataset.py
148 149 150 151 | |
_release ¶
_release()
Source code in kedro_datasets/networkx/graphml_dataset.py
144 145 146 | |
load ¶
load()
Source code in kedro_datasets/networkx/graphml_dataset.py
120 121 122 123 | |
save ¶
save(data)
Source code in kedro_datasets/networkx/graphml_dataset.py
125 126 127 128 129 | |