dgl.metapath_reachable_graph
- dgl.metapath_reachable_graph(g, metapath)[source]
返回一个图,其中任何节点
u
的后继节点是通过给定元路径从u
可达的节点。如果起始节点类型
s
和结束节点类型t
相同,它将返回一个节点类型为s = t
的同构图。否则,将返回一个具有源节点类型s
和目标节点类型t
的单向二分图。在这两种情况下,如果存在一条从
u
到v
的路径与元路径匹配,则两个节点u
和v
将通过边(u, v)
连接。结果图保留了原始图中类型为
s
和t
的节点集,即使它们可能没有邻居。原始图中源/目标节点类型的特征将被复制到新图中。
- Parameters:
- Returns:
一个同质或单向的二部图。无论输入图是在CPU还是GPU上,它都会在CPU上。
- Return type:
注释
This function discards the batch information. Please use
dgl.DGLGraph.set_batch_num_nodes()
anddgl.DGLGraph.set_batch_num_edges()
on the transformed graph to maintain the information.示例
>>> g = dgl.heterograph({ ... ('A', 'AB', 'B'): ([0, 1, 2], [1, 2, 3]), ... ('B', 'BA', 'A'): ([1, 2, 3], [0, 1, 2])}) >>> new_g = dgl.metapath_reachable_graph(g, ['AB', 'BA']) >>> new_g.edges(order='eid') (tensor([0, 1, 2]), tensor([0, 1, 2]))