- paper: Modeling Relational Data with Graph Convolutional Networks
- Author's code for entity classification: https://github.com/tkipf/relational-gcn
- Author's code for link prediction: https://github.com/MichSchli/RelationPrediction
- Code from dgl Team: rgcn / rgcn-hetero.
- Note: The difference between rgcn and rgcn-hetero is the storage form of node/edge type. The former use the dgl.NID stored in g.ndata, but the latter use the HeteroNodeView/HeteroEdgeView. And we use the latter storage form and nearly all models in OpenHGNN use the latter storage form as possible.
-
Clone the Openhgnn-DGL
# For node classification task python main.py -m RGCN -t node_classification -d aifb -g 0 --use_best_config # For link prediction task python main.py -m RGCN -t link_prediction -d HGBl-amazon -g 0 --use_best_config
If you do not have gpu, set -gpu -1.
RDFDataset[aifb/mutag/bgs/am], HGBn and other datasets for node classification.
Evaluation metric: accuracy
Method | AIFB | MUTAG | BGS | AM |
---|---|---|---|---|
RGCN | 97.22 | 72.06 | 96.55 | 88.89 |
Evaluation metric: roc_auc
Method | AIFB | MUTAG | BGS | AM |
---|---|---|---|---|
RGCN(dgl)(best) | 97.22 | 72.06 | 96.55 | 88.89 |
TrainerFlow: node classification flow
- dglnn.HeteroGraphConv
- dglnn.WeightBasis [The basis function decomposition]
You can modify the parameters[RGCN] in openhgnn/config.ini.
Best config can be found in best_config.
Tianyu Zhao[GAMMA LAB]
Submit an issue or email to [email protected].