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

Function subgraph_view

python/graphscope/nx/classes/graphviews.py:68–96  ·  view source on GitHub ↗
(G, filter_node=no_filter, filter_edge=no_filter)

Source from the content-addressed store, hash-verified

66
67
68def subgraph_view(G, filter_node=no_filter, filter_edge=no_filter):
69 newG = nx.freeze(G.__class__())
70 newG._NODE_OK = filter_node
71 newG._EDGE_OK = filter_edge
72
73 # create view by assigning attributes from G
74 newG._graph = G
75 newG.graph = G.graph
76
77 newG._node = FilterAtlas(G._node, filter_node)
78 if G.is_multigraph():
79 Adj = FilterMultiAdjacency
80
81 def reverse_edge(u, v, k):
82 return filter_edge(v, u, k)
83
84 else:
85 Adj = FilterAdjacency
86
87 def reverse_edge(u, v):
88 return filter_edge(v, u)
89
90 if G.is_directed():
91 newG._succ = Adj(G._succ, filter_node, filter_edge)
92 newG._pred = Adj(G._pred, filter_node, reverse_edge)
93 newG._adj = newG._succ
94 else:
95 newG._adj = Adj(G._adj, filter_node, filter_edge)
96 return newG
97
98
99@not_implemented_for("undirected")

Callers

nothing calls this directly

Calls 4

AdjClass · 0.85
freezeMethod · 0.80
is_multigraphMethod · 0.45
is_directedMethod · 0.45

Tested by

no test coverage detected