dgl.DGLHeteroGraph.canonical_etypes

property DGLHeteroGraph.canonical_etypes

Return all the canonical edge types in the graph.

A canonical edge type is a string triplet (str, str, str) for source node type, edge type and destination node type.

Returns

All the canonical edge type triplets in a list.

Return type

list[(str, str, str)]

Notes

DGL internally assigns an integer ID for each edge type. The returned edge type names are sorted according to their IDs.

See also

etypes

Examples

The following example uses PyTorch backend.

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