I am trying to write a different PageRank implementation which copes with
dangling vertexes (i.e. vertexes with no edges), mistakes in the data (such as
self-links and/or repetitions). For more on dangling vertexes, see also:
My test input data is something similar to:
1 1 2 2
2 3 5 7 9 11
3 3 3 6
This is an adjacency list with no edge values and no vertex value. Just vertex
and target vertexs ids.
Current SimplePageRankVertex extends LongDoubleFloatDoubleVertex which uses
Float objects for edge values. But those values are unused. I could use that
with 'fake' values for the edges. But I also would like to have generic String
(i.e. Text) for vertex ids.
So, I tried to write my own TextDoubleNullDoubleVertex which extends
MutableVertex and/or BasicVertex. This is probably a mistake, right? Or, not?
The problem I have with this approach is that BasicVertex methods
putMessages(...) and releaseResources() are package private and my
PageRankVertex is, obviously, not in the org.apache.giraph.graph package.
Indeed, those methods seems to me more 'internal' stuff than something Giraph
users should be aware of (so, I understand why they are package private).
A more direct question would be: are Giraph supposed to extend
BasicVertex<I,V,E,M> when they do not find a subclass of BasicVertex which meets