dgl.DGLGraph.dstnodes
- property DGLGraph.dstnodes
返回目标节点的节点视图
如果图是单二部图(参考
is_unibipartite()
),则此属性为nodes()
在目标节点类型上的受限视图。否则,它是nodes()
的别名。它可以用于:
获取单一节点类型的节点 ID。
设置/获取单一节点类型的所有节点的特征。
示例
以下示例使用 PyTorch 后端。
>>> import dgl >>> import torch
创建一个单二部图。
>>> g = dgl.heterograph({ ... ('user', 'plays', 'game'): (torch.tensor([0]), torch.tensor([1])), ... ('developer', 'develops', 'game'): (torch.tensor([1]), torch.tensor([2])) ... })
获取目标节点类型的节点 ID。
>>> g.dstnodes('game') tensor([0, 1, 2])
设置/获取目标节点类型的特征。
>>> g.dstnodes['game'].data['h'] = torch.ones(3, 1) >>> g.dstnodes['game'].data['h'] tensor([[1.], [1.], [1.]])
创建一个非单二部图。
>>> g = dgl.heterograph({ ... ('user', 'follows', 'user'): (torch.tensor([0]), torch.tensor([1])), ... ('developer', 'develops', 'game'): (torch.tensor([1]), torch.tensor([2])) ... })
dgl.DGLGraph.dstnodes()
会回退到dgl.DGLGraph.nodes()
,此时可以获取源节点和目标节点两者的节点 ID。>>> g.dstnodes('developer') tensor([0, 1])
在这种情况下,也可以设置/获取源节点类型的特征。
>>> g.dstnodes['developer'].data['h'] = torch.ones(2, 1) >>> g.dstnodes['developer'].data['h'] tensor([[1.], [1.]])
另见