- 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
- rdflib
- torchmetrics
Install as follows:
pip install rdflib
pip install torchmetrics
Run with the following for entity classification (available datasets: aifb (default), mutag, bgs, and am)
python3 entity.py --dataset aifb
For mini-batch training, run with the following (available datasets are the same as above)
python3 entity_sample.py --dataset aifb
For multi-gpu training (with sampling), run with the following (same datasets and GPU IDs separated by comma)
python3 entity_sample_multi_gpu.py --dataset aifb --gpu 0,1
Run with the following for link prediction on dataset FB15k-237 with filtered-MRR
python link.py
NOTE: By default, we use uniform edge sampling instead of neighbor-based edge sampling as in author's code. In practice, we find that it can achieve similar MRR.
Dataset | Full-graph | Mini-batch |
---|---|---|
aifb | ~0.85 | ~0.82 |
mutag | ~0.70 | ~0.50 |
bgs | ~0.86 | ~0.64 |
am | ~0.78 | ~0.42 |
Dataset | Best MRR |
---|---|
FB15k-237 | ~0.2439 |