RelGraphConv with node types and edge features


My graphs have different node and edge types with node and edge features.
How should I pass the node type to RelGraphConv using a homogeneous graph? Do I just concatenate it with the other node features? And how can I pass edge features?


Edge features are not supported in RGCN. Probably you need to modify the algorithm by yourself. For ntype I think concat can be the solution, or you can create an embedding table for the node types and add the embeddings with features.

Why do I need an embedding table for the node types? Is an assigned number for each type not sufficient?
To add the node type embeddings with the other features, the node type embedding must have the same length, right?

One hot feature is enough for node type. Iā€™m just trying to propose something other than directly concat.


1 Like

Thanks for the clarification!

When I try to run RGCN with the block-diagonal-decomposition regularization, I get the following ValueError: Feature size must be a multiplier of num_bases. Do I have to modify my feature vector and how?

And does num_rels correspond to the number of canonical_etypes or just etypes?

You need to modify the hidden dim size to make it a multiple of num_bases

cannonical_etypes is the same as etypes, they are just to used to differentiate the etype with the same name

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.