2016-10-11 73 views
1

我試圖擴展凝膠圖成帶有Tuple5而不是Tuple 3邊的圖。由於構造函數是私有的,因此無法通過擴展凝膠圖來實現。我繼續做了我自己的Edge類,它擴展了Tuple5而不是Tuple 3,但是我不確定是否可以輕鬆地將它製作成凝膠圖,因爲API指向tuple3或tuple2的邊集。試圖擴展凝膠圖

的問題是,如果這可以更容易地完成或者是否有可能在所有我想做的事

+0

你能解釋一下你的使用案例,即你爲什麼想把邊緣擴展到Tuple5?你不能使用'Tuple3'作爲值字段的類型嗎? –

+0

是的,我可以,我想做一個時間圖,其中每個邊有2個額外的值,一個開始時間和結束時間。我認爲使用Tuple3字段作爲Value字段也可以,我還沒有嘗試過。雖然我計劃使用Tuple5的算法會更方便 –

+0

我明白了。我認爲大多數操作符和算法都需要'Tuple3'邊緣。所以,如果將邊緣延伸到「Tuple5」,我不確定Gelly可以重複使用多少。我建議寫信給Flink用戶郵件列表,以便與Gelly的主要貢獻者取得聯繫,他們可以幫助您更好地完成工作。 –

回答

0

凍膜算法將不能夠在任何情況下使用信息在Tuple5邊緣。如果你想在用戶定義的函數使用它們,您可以改用常規的邊緣類和你(任意類型)數據存儲在這些邊緣:

Edge<Long, Double> e = new Edge<Long, Double>(1L, 2L, 0.5); 

這裏1L和2L的頂點的IDS 0.5是與該邊緣相關的任意數據。

如果您想要使用圖表算法在這些Tuple5邊緣中使用使用數據,您必須實現自己的圖形算法。