How to predict the directional edges in a heterogeneous network?

Our input data is a table of edges (potential edges) and a list of nodes. Grouptruth is a set of edges that are known to exist.

For example:

edgetable.csv (potential edges)

dst src attr

A B AtoB

A B BtoA

A C AtoC

B D BtoD

nodetable

type Attr

A type2 5

B type1 3

C type1 2

D type2 5

groundtruth

B D negative

Our purpose is twofold:

- whether there is a relationship between two types of nodes
- how to determine their direction?

We know that RGCN/Sage might do it, but we don’t know how to design train, test and valid datasets. Could you kindly recommend relevant ideas and tutorials?