Class ExpandedNeighborOverlap<U>
java.lang.Object
es.uam.eps.ir.relison.sna.metrics.pair.ExpandedNeighborOverlap<U>
- Type Parameters:
U
- Type of the users.
- All Implemented Interfaces:
PairMetric<U>
public class ExpandedNeighborOverlap<U> extends java.lang.Object implements PairMetric<U>
Expanded neighbor overlap. Finds the size of the intersection between
users at distance at most 2 of one user, with the neighborhood of another.
All users are given the same weight.
-
Field Summary
Fields Modifier and Type Field Description private boolean
origin
True if we have to obtain the distance neighbors of the origin user, false if we have to do it for the destination.private EdgeOrientation
uSel
Orientation selection for the origin user.private EdgeOrientation
vSel
Orientation selection for the destination user. -
Constructor Summary
Constructors Constructor Description ExpandedNeighborOverlap(boolean origin, EdgeOrientation uSel, EdgeOrientation vSel)
Constructor. -
Method Summary
Modifier and Type Method Description double
averageValue(Graph<U> graph)
Computes the average value of the metricdouble
averageValue(Graph<U> graph, java.util.stream.Stream<Pair<U>> edges, int edgeCount)
Computes the average value of a certain group of pairs.double
averageValueOnlyLinks(Graph<U> graph)
Computes the average value of the metric, restricted to the set of links in the network.java.util.Map<Pair<U>,java.lang.Double>
compute(Graph<U> graph)
Computes the value of the metric for all the possible pairs in the graph.java.util.Map<Pair<U>,java.lang.Double>
compute(Graph<U> graph, java.util.stream.Stream<Pair<U>> pairs)
Computes the value of the metric for a selection of pairs in the graph.double
compute(Graph<U> graph, U orig, U dest)
Computes the value of the metric for a single pair of nodesjava.util.function.Function<U,java.lang.Double>
computeDest(Graph<U> graph, U dest)
Given a user, computes the value of a metric for all the possible pairs in the graph where the user is the destination.java.util.function.Function<U,java.lang.Double>
computeIndividualDest(Graph<U> graph, U u, EdgeOrientation uSel, EdgeOrientation vSel)
Generates a function for computing the extended neighbor overlap of all pairs taking as destination a given node.java.util.function.Function<U,java.lang.Double>
computeIndividualOrig(Graph<U> graph, U u, EdgeOrientation uSel, EdgeOrientation vSel)
Generates a function for computing the extended neighbor overlap of all pairs taking as origin a given node.java.util.Map<Pair<U>,java.lang.Double>
computeOnlyLinks(Graph<U> graph)
Computes the value of the metric for all the links in the graph.java.util.function.Function<U,java.lang.Double>
computeOrig(Graph<U> graph, U orig)
Given a user, computes the value of a metric for all the possible pairs in the graph where the user is the origin.java.util.Set<U>
explore(Graph<U> graph, U node, EdgeOrientation orient)
Obtains the neighborhood at distance 2.
-
Field Details
-
Constructor Details
-
ExpandedNeighborOverlap
Constructor.- Parameters:
origin
- true if we have to obtain the distance 2 neighbors of the origin user, false otherwise.uSel
- orientation selection for the origin user.vSel
- orientation selection for the destination user.
-
-
Method Details
-
compute
Description copied from interface:PairMetric
Computes the value of the metric for a single pair of nodes- Specified by:
compute
in interfacePairMetric<U>
- Parameters:
graph
- The full graph.orig
- The origin node of the edge.dest
- The destiny node of the edge.- Returns:
- The value of the metric for that edge.
-
explore
Obtains the neighborhood at distance 2.- Parameters:
graph
- the graph.node
- the node.orient
- the orientation.- Returns:
- the neighborhood at distance 2.
-
compute
Description copied from interface:PairMetric
Computes the value of the metric for all the possible pairs in the graph.- Specified by:
compute
in interfacePairMetric<U>
- Parameters:
graph
- The full graph.- Returns:
- A map containing the metrics for each node.
-
computeOnlyLinks
Description copied from interface:PairMetric
Computes the value of the metric for all the links in the graph.- Specified by:
computeOnlyLinks
in interfacePairMetric<U>
- Parameters:
graph
- the full graph.- Returns:
- A map containing the metrics for each link.
-
compute
public java.util.Map<Pair<U>,java.lang.Double> compute(Graph<U> graph, java.util.stream.Stream<Pair<U>> pairs)Description copied from interface:PairMetric
Computes the value of the metric for a selection of pairs in the graph.- Specified by:
compute
in interfacePairMetric<U>
- Parameters:
graph
- The full graph.pairs
- A stream containing the selected pairs.- Returns:
- A map containing the metrics for each pair in the stream that exists.
-
averageValue
Description copied from interface:PairMetric
Computes the average value of the metric- Specified by:
averageValue
in interfacePairMetric<U>
- Parameters:
graph
- The full graph.- Returns:
- The average value of the metric
-
averageValueOnlyLinks
Description copied from interface:PairMetric
Computes the average value of the metric, restricted to the set of links in the network.- Specified by:
averageValueOnlyLinks
in interfacePairMetric<U>
- Parameters:
graph
- the network.- Returns:
- the average value of the metric over the links in the network.
-
averageValue
Description copied from interface:PairMetric
Computes the average value of a certain group of pairs.- Specified by:
averageValue
in interfacePairMetric<U>
- Parameters:
graph
- the full graph.edges
- a stream containing the selected pairs.edgeCount
- the number of pairs in the stream.- Returns:
- The average value of the metric for those pairs.
-
computeOrig
Description copied from interface:PairMetric
Given a user, computes the value of a metric for all the possible pairs in the graph where the user is the origin. As, for efficiency methods, all values might not be computed, the default value of the metric shall be retrieved from the outcome.- Specified by:
computeOrig
in interfacePairMetric<U>
- Parameters:
graph
- the graph.orig
- the origin node.- Returns:
- the map containing the values of the metric.
-
computeDest
Description copied from interface:PairMetric
Given a user, computes the value of a metric for all the possible pairs in the graph where the user is the destination. As, for efficiency methods, all values might not be computed, the default value of the metric shall be retrieved from the outcome.- Specified by:
computeDest
in interfacePairMetric<U>
- Parameters:
graph
- the graph.dest
- the origin node.- Returns:
- the map containing the values of the metric.
-
computeIndividualOrig
public java.util.function.Function<U,java.lang.Double> computeIndividualOrig(Graph<U> graph, U u, EdgeOrientation uSel, EdgeOrientation vSel)Generates a function for computing the extended neighbor overlap of all pairs taking as origin a given node. This function considers that we look for the distance two neighborhood of the origin node in the pair.- Parameters:
graph
- the graph.u
- the origin user.uSel
- the orientation for the origin neighbor.vSel
- the orientation for the destination neighbor.- Returns:
- a function for computing the extended neighbor overlap given a user.
-
computeIndividualDest
public java.util.function.Function<U,java.lang.Double> computeIndividualDest(Graph<U> graph, U u, EdgeOrientation uSel, EdgeOrientation vSel)Generates a function for computing the extended neighbor overlap of all pairs taking as destination a given node. This function considers that we look for the distance two neighborhood of the destination node in the pair.- Parameters:
graph
- the graph.u
- the origin user.uSel
- the orientation for the origin neighbor.vSel
- the orientation for the destination neighbor.- Returns:
- a function for computing the extended neighbor overlap given a user.
-