In the forward() function of the RelationalGraphConvolutionLP Layer, the generate_self_loops() function concatenates the triples and self-edges, which are then concatenated again for the triples_plus with the triples and inverse_triples. This way the triples_plus contain the original edges twice.
Also, self-edges are created not only for the nodes left in the sampled (and edge-dropped) graph but for all nodes of the original graph. Is this implemented this way on purpose?