What are the differences between homograph(with relations) and heterograph in RGCN?

Hey!
I have questions when reading example codes about the RGCN model.
In the entity classify task, the model use the AIFB data with different entity and edge types, the graph data should be heterogeneous. However, the graph in the model training process is a homograph rather than a heterograph. So my basic questions are:

  1. Why the training graph is a homograph with node and edge types rather than a heterograph?
  2. What are the differences between homograph with relations and heterograph in RGCN?
    Thanks a lot!

Hi @xiaotian, yes you are right, the graph should be treated as a heterograph.
We implemented the RGCN model before DGL heterograph support, so there is a homograph version. Please refer to our new version of RGCN written in heterograph API in dgl: https://github.com/dmlc/dgl/tree/master/examples/pytorch/rgcn-hetero.

1 Like

You did help me a lot! thanks very much

@zihao is there an RGCN-hetero example for link prediction I can refer too? plans to add one?

Unfortunately no. As you request, we just add this into our backlog: [Example] RGCN-hetero example for link prediction · Issue #5156 · dmlc/dgl · GitHub.