有没有办法向giraph中的传入边缘发送消息? 或者,有没有办法通过任何特定边缘(类型或标签等)发送消息,而不是向所有传出边缘发送消息?
答案 0 :(得分:4)
首先澄清一下 - Edges并不限制您如何发送消息。只要您知道其ID,就可以将giraph中的消息发送到任何节点。边缘用于创建图形结构并为节点提供一组邻居,以便您可以启动通信。
您也无法搜索边缘或节点。我不确定你是否可以从非源的节点访问边缘,但你肯定不能简单地搜索带有标签的边缘(除非你自己实现这样的算法)。您也无法搜索节点(除非您再次实现了算法),但需要知道节点的ID。
因此,如果您要向所有传入节点发送消息,这些节点的边缘指向您并且您不知道其ID,则首先需要向所有具有边缘指向的节点发送消息。下一个超级步骤所有节点都应回复这些消息的来源。为了能够这样做,您还需要修改您的消息数据类型,以便另外保存信息,即发送消息的节点的ID。