dgl.DGLGraph.has_nodes

DGLGraph.has_nodes(vid, ntype=None)[源代码]

返回图是否包含给定的节点。

参数:
  • vid (节点 ID(s)) –

    节点 ID。允许的节点 ID 格式有:

    • int:单个节点的 ID。

    • Int Tensor:每个元素都是一个节点 ID。该张量必须与图具有相同的设备类型和 ID 数据类型。

    • iterable[int]:每个元素都是一个节点 ID。

  • ntype (str, 可选) – 节点类型名称。如果图中只有一种节点类型,则可以省略。

返回值:

一个布尔标志张量,其中每个元素如果节点在图中则为 True。如果输入是单个节点,则返回一个布尔值。

返回值类型:

bool 或 布尔张量

示例

以下示例使用 PyTorch 后端。

>>> import dgl
>>> import torch

创建一个包含两种节点类型('user' 和 'game')的图。

>>> g = dgl.heterograph({
...     ('user', 'follows', 'user'): (torch.tensor([0, 1]), torch.tensor([1, 2])),
...     ('user', 'plays', 'game'): (torch.tensor([3, 4]), torch.tensor([0, 1]))
... })

查询节点。

>>> g.has_nodes(0, 'user')
True
>>> g.has_nodes(3, 'game')
False
>>> g.has_nodes(torch.tensor([3, 0, 1]), 'game')
tensor([False,  True,  True])