- etype = self.canonical_etypes[etid]
- _, dtid = self._graph.metagraph.find_edge(etid)
- g = self if etype is None else self[etype]
- ndata = core.message_passing(g, message_func, reduce_func, apply_node_func)
- self._set_n_repr(dtid, ALL, ndata)
- #################################################################
- # Message passing on heterograph
- #################################################################
- def multi_update_all(self, etype_dict, cross_reducer, apply_node_func=None):
- r"""Send messages along all the edges, reduce them by first type-wisely
- then across different types, and then update the node features of all
- the nodes.
- Parameters
- ----------
- etype_dict : dict
- Arguments for edge-type-wise message passing. The keys are edge types
- while the values are message passing arguments.