MCPcopy Create free account
hub / github.com/alibaba/GraphScope / set_edge_attributes

Function set_edge_attributes

python/graphscope/nx/classes/function.py:192–216  ·  view source on GitHub ↗
(G, values, name=None)

Source from the content-addressed store, hash-verified

190
191@patch_docstring(func.set_edge_attributes)
192def set_edge_attributes(G, values, name=None): # noqa: C901
193 if G.is_multigraph():
194 # multigraph forward NetworkX
195 func.set_edge_attributes(G, values, name)
196 return
197
198 if name is not None:
199 # `values` does not contain attribute names
200 try:
201 # if `values` is a dict using `.items()` => {edge: value}
202 for (u, v), value in values.items():
203 dd = G.get_edge_data(u, v)
204 if dd is not None:
205 dd[name] = value
206 G.set_edge_data(u, v, dd)
207 except AttributeError:
208 # treat `values` as a constant
209 for u, v, data in G.edges(data=True):
210 data[name] = values
211 else:
212 for (u, v), d in values.items():
213 dd = G.get_edge_data(u, v)
214 if dd is not None:
215 dd.update(d)
216 G.set_edge_data(u, v, dd)

Callers

nothing calls this directly

Calls 6

itemsMethod · 0.80
is_multigraphMethod · 0.45
get_edge_dataMethod · 0.45
set_edge_dataMethod · 0.45
edgesMethod · 0.45
updateMethod · 0.45

Tested by

no test coverage detected