dgl.graphbolt.add_reverse_edges
- dgl.graphbolt.add_reverse_edges(edges: Dict[str, Tensor] | Tensor, reverse_etypes_mapping: Dict[str, str] | None = None)[source]
此函数查找给定edges的反向边并返回它们的组合。在同构图中,反向边的源节点和目标节点ID是颠倒的。而在异构图中,反转还涉及交换节点ID及其类型。此函数可以在exclude_edges函数之前使用,以帮助找到目标边。 注意:找到的反向边可能并不真正存在于原始图中。并且可能会添加重复边,因为反向边可能已经存在于edges中。
- Parameters:
- Returns:
节点对包含原始边及其反向对应边。
- Return type:
联合[字典[str, torch.Tensor], torch.Tensor]
示例
>>> edges = {"A:r:B": torch.tensor([[0, 1],[1, 2]]))} >>> print(gb.add_reverse_edges(edges, {"A:r:B": "B:rr:A"})) {'A:r:B': torch.tensor([[0, 1],[1, 2]]), 'B:rr:A': torch.tensor([[1, 0],[2, 1]])}
>>> edges = torch.tensor([[0, 1],[1, 2]]) >>> print(gb.add_reverse_edges(edges)) torch.tensor([[1, 0],[2, 1]])