malllabiisc / CompGCN

ICLR 2020: Composition-Based Multi-Relational Graph Convolutional Networks
Apache License 2.0
597 stars 107 forks source link

Why do you use outgoing edges as neighbor? #19

Closed renli1024 closed 3 years ago

renli1024 commented 3 years ago

Hi, thanks for opening such a good job first!

I want to know why do you use outgoing edges as node neighbors, instead of ingoing edges, to represent central node. And in this situation TransE model will be formulated as tail=head-relation, which I think a little not intuitive?

Thank you very much.

svjan5 commented 3 years ago

Hi @renli1024, One could take only outgoing edges or only incoming edges as the neighbors both will give the same result as we add inverse edges. In our implementation, we went with the outgoing ones. Yes, the TransE model's equations might change a bit if you take the opposite but the overall performance will remain the same as the model can learn -x instead of x.