[ https://issues.apache.org/jira/browse/FLINK2310?page=com.atlassian.jira.plugin.system.issuetabpanels:commenttabpanel&focusedCommentId=14662689#comment14662689
]
ASF GitHub Bot commented on FLINK2310:

Github user shghatge commented on the pull request:
https://github.com/apache/flink/pull/892#issuecomment128866366
I made some of the changes mentioned. But there was a problem in replacing the getTriplets()
and flatMap. When I use this method
private static final class ReduceN implements NeighborsFunctionWithVertexValue<Long,Tuple2<Double,
HashSet<Long>> ,Double,
Tuple3<Long, Long, Double>> {
@Override
public void iterateNeighbors(
Vertex<Long, Tuple2<Double, HashSet<Long>>> vertex,
Iterable<Tuple2<Edge<Long, Double>, Vertex<Long, Tuple2<Double,
HashSet<Long>>>>> neighbors,
Collector<Tuple3<Long, Long, Double>> out) throws Exception {
for(Tuple2<Edge<Long, Double>, Vertex<Long, Tuple2<Double, HashSet<Long>>>>
neighbor : neighbors) {
HashSet<Long> intersection = vertex.getValue().f1;
intersection.retainAll(neighbor.f1.getValue().f1);
for(long l : intersection) {
System.out.println(neighbor.f1.getId()+" "+l);
out.collect(new Tuple3<Long, Long, Double>(neighbor.f1.getId(), l, vertex.getValue().f0));
}
}
}
}
For some reason the
> Add an AdamicAdar Similarity example
> 
>
> Key: FLINK2310
> URL: https://issues.apache.org/jira/browse/FLINK2310
> Project: Flink
> Issue Type: Task
> Components: Gelly
> Reporter: Andra Lungu
> Assignee: Shivani Ghatge
> Priority: Minor
>
> Just as Jaccard, the AdamicAdar algorithm measures the similarity between a set of nodes.
However, instead of counting the common neighbors and dividing them by the total number of
neighbors, the similarity is weighted according to the vertex degrees. In particular, it's
equal to log(1/numberOfEdges).
> The AdamicAdar algorithm can be broken into three steps:
> 1). For each vertex, compute the log of its inverse degrees (with the formula above)
and set it as the vertex value.
> 2). Each vertex will then send this new computed value along with a list of neighbors
to the targets of its outedges
> 3). Weigh the edges with the AdamicAdar index: Sum over n from CN of log(1/k_n)(CN is
the set of all common neighbors of two vertices x, y. k_n is the degree of node n). See [2]
> Prerequisites:
>  Full understanding of the Jaccard Similarity Measure algorithm
>  Reading the associated literature:
> [1] http://social.cs.uiuc.edu/class/cs591kgk/friendsadamic.pdf
> [2] http://stackoverflow.com/questions/22565620/fastalgorithmtocomputeadamicadar

This message was sent by Atlassian JIRA
(v6.3.4#6332)
