The message passing neural network (MPNN) is one of the earliest GNN architectures proposed by where the representation of a node v i within a graph G = (V, E) is iteratively updated by aggregating "messages" that are being passed by neighbouring nodes and edges. After a number of l aggregations, the representation vector v l i captures the structure of the l-hop neighbourhood of v i . Messages are usually constructed by the node and edge features through a message generation function f m (•) followed by an update operation that involves a vertex update function f v (•) as