У меня есть график, который выглядит следующим образом:
g.vertices.show()
+---+
| id|
+---+
| 1|
| 2|
| 3|
| 4|
+---+
g.edges.show()
+---+----+
|src| dst|
+---+----+
| 1| 2|
| 2| 3|
| 3| 4|
| 4| 1|
| 4|null|
+---+----+
теперь, как вы видите, у vectice 4
есть два ребра, одно к 1
и одно к null
.Идея в том, что null
представляет висячий край.То, что я хочу сделать, это распределить вес, который был бы распределен вдоль висящего края, случайным образом обратно в график.Когда я вызываю метод g.pageRank(resetProbability=0.15, tol=0.01)
, он явно завершается с scala.MatchError: [4,null,[4,null]]
, потому что он не может обработать null
.Есть ли способ заставить pagerank
вести себя так, как я хочу?«Реальный» график намного больше, поэтому я бы не стал повторно реализовывать PageRank.