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 中。
- 参数:
- 返回值:
包含原始边及其反向对应边的节点对。
- 返回值类型:
Union[Dict[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]])