public class Analyst extends Destroyable
Destroyable.destroy()
is invoked, all transient data returned by the Analyst gets freed and cannot be used anymore.Modifier and Type | Method and Description |
---|---|
<V> EdgeProperty<java.lang.Double> |
adamicAdarCounting(PgxGraph graph)
Blocking version of
adamicAdarCountingAsync(PgxGraph) . |
PgxFuture<EdgeProperty<java.lang.Double>> |
adamicAdarCountingAsync(PgxGraph graph)
Computes 'Adamic-Adar measure' for each edge in the graph.
|
<ID> VertexProperty<ID,java.lang.Double> |
approximateVertexBetweennessCentrality(PgxGraph graph, int k)
Blocking version of
approximateVertexBetweennessCentralityAsync(PgxGraph, int) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
approximateVertexBetweennessCentralityAsync(PgxGraph graph, int k)
Approximate vertex betweenness centrality (without considering edge length).
|
<ID> VertexProperty<ID,java.lang.Double> |
approximateVertexBetweennessCentralityFromSeeds(PgxGraph graph, PgxVertex<ID>... seeds)
Blocking version of
approximateVertexBetweennessCentralityFromSeedsAsync(PgxGraph, PgxVertex[]) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
approximateVertexBetweennessCentralityFromSeedsAsync(PgxGraph graph, PgxVertex<ID>... seeds)
Approximate vertex betweenness centrality (without considering edge length).
|
<ID> VertexProperty<ID,java.lang.Double> |
closenessCentralityDoubleLength(PgxGraph graph, EdgeProperty<java.lang.Double> cost)
Blocking version of
closenessCentralityDoubleLengthAsync(PgxGraph, EdgeProperty) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
closenessCentralityDoubleLengthAsync(PgxGraph graph, EdgeProperty<java.lang.Double> cost)
Compute closed centrality.
|
<ID> VertexProperty<ID,java.lang.Double> |
closenessCentralityUnitLength(PgxGraph graph)
Blocking version of
closenessCentralityUnitLengthAsync(PgxGraph) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
closenessCentralityUnitLengthAsync(PgxGraph graph)
Compute closed centrality.
|
<ID> Partition<ID> |
communitiesConductanceMinimization(PgxGraph graph, int max)
Blocking version of
communitiesConductanceMinimizationAsync(PgxGraph, int) . |
<ID> PgxFuture<Partition<ID>> |
communitiesConductanceMinimizationAsync(PgxGraph graph, int max)
Detect communities using greedy conductance minimization.
|
<ID> Partition<ID> |
communitiesLabelPropagation(PgxGraph graph)
Blocking version of
communitiesLabelPropagationAsync(PgxGraph) . |
<ID> Partition<ID> |
communitiesLabelPropagation(PgxGraph graph, int maxIterations)
Blocking version of
communitiesLabelPropagationAsync(PgxGraph, int) . |
<ID> PgxFuture<Partition<ID>> |
communitiesLabelPropagationAsync(PgxGraph graph)
Detect communities using parallel label propagation.
|
<ID> PgxFuture<Partition<ID>> |
communitiesLabelPropagationAsync(PgxGraph graph, int maxIteration)
Detect communities using parallel label propagation with the possibility to limit the number of iterations.
|
<ID> Scalar<java.lang.Double> |
conductance(PgxGraph graph, Partition<ID> partition, long partitionIndex)
Blocking version of
conductanceAsync(PgxGraph, Partition, long) . |
<ID> PgxFuture<Scalar<java.lang.Double>> |
conductanceAsync(PgxGraph graph, Partition<ID> partition, long partitionIndex)
Compute the conductance of a single vertex partition.
|
long |
countTriangles(PgxGraph graph, boolean sortVerticesByDegree)
Blocking version of
countTrianglesAsync(PgxGraph, boolean) . |
PgxFuture<java.lang.Long> |
countTrianglesAsync(PgxGraph graph, boolean sortVerticesByDegree)
Counts the number of 'triads' in the given undirected graph.
|
<ID> VertexProperty<ID,java.lang.Integer> |
degreeCentrality(PgxGraph graph)
Blocking version of
degreeCentralityAsync(PgxGraph) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Integer>> |
degreeCentralityAsync(PgxGraph graph)
Compute vertex centrality based on the sum of in- and out-degree.
|
<ID> VertexProperty<ID,java.lang.Double> |
eigenvectorCentrality(PgxGraph graph, int max, double maxDiff, boolean useL2Norm, boolean useInEdge)
Blocking version of
eigenvectorCentralityAsync(PgxGraph, int, double, boolean, boolean) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
eigenvectorCentralityAsync(PgxGraph graph, int max, double maxDiff, boolean useL2Norm, boolean useInEdge)
Compute eigenvector centrality using power iteration (with L1 norm).
|
<ID> AllPaths<ID> |
fattestPath(PgxGraph graph, ID rootId, EdgeProperty<java.lang.Double> capacity)
Convenience wrapper around
fattestPath(PgxGraph, PgxVertex, EdgeProperty) taking a vertex ID instead of a PgxVertex . |
<ID> AllPaths<ID> |
fattestPath(PgxGraph graph, PgxVertex<ID> root, EdgeProperty<java.lang.Double> capacity)
Blocking version of
fattestPathAsync(PgxGraph, PgxVertex, EdgeProperty) . |
<ID> PgxFuture<AllPaths<ID>> |
fattestPathAsync(PgxGraph graph, PgxVertex<ID> root, EdgeProperty<java.lang.Double> capacity)
Fattest Tree Algorithm - Computes the fattest path from a source vertex to all vertices in the graph.
|
<ID> Pair<VertexProperty<ID,java.lang.Integer>,VertexProperty<ID,PgxVertex<ID>>> |
filteredBfs(PgxGraph graph, PgxVertex<ID> root, VertexFilter filter, VertexFilter navigator)
Blocking version of
filteredBfsAsync(PgxGraph, PgxVertex, VertexFilter, VertexFilter) . |
<ID> Pair<VertexProperty<ID,java.lang.Integer>,VertexProperty<ID,PgxVertex<ID>>> |
filteredBfs(PgxGraph graph, PgxVertex<ID> root, VertexFilter filter, VertexFilter navigator, boolean initWithInf)
Blocking version of
filteredBfsAsync(PgxGraph, PgxVertex, VertexFilter, VertexFilter, boolean) . |
<ID> PgxFuture<Pair<VertexProperty<ID,java.lang.Integer>,VertexProperty<ID,PgxVertex<ID>>>> |
filteredBfsAsync(PgxGraph graph, PgxVertex<ID> root, VertexFilter filter, VertexFilter navigator) |
<ID> PgxFuture<Pair<VertexProperty<ID,java.lang.Integer>,VertexProperty<ID,PgxVertex<ID>>>> |
filteredBfsAsync(PgxGraph graph, PgxVertex<ID> root, VertexFilter filter, VertexFilter navigator, boolean initWithInf) |
PgxSession |
getSession()
Gets the session.
|
<ID> Pair<VertexProperty<ID,java.lang.Double>,VertexProperty<ID,java.lang.Double>> |
hits(PgxGraph graph, int max)
Blocking version of
hitsAsync(PgxGraph, int) . |
<ID> PgxFuture<Pair<VertexProperty<ID,java.lang.Double>,VertexProperty<ID,java.lang.Double>>> |
hitsAsync(PgxGraph graph, int max)
This is the Hyperlink-Induced Topic Search (HITS) algorithm, also known as Hubs and Authorities..
|
<ID> VertexProperty<ID,java.lang.Integer> |
inDegreeCentrality(PgxGraph graph)
Blocking version of
inDegreeCentralityAsync(PgxGraph) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Integer>> |
inDegreeCentralityAsync(PgxGraph graph)
Compute vertex centrality based on the in-degree.
|
PgxMap<java.lang.Integer,java.lang.Long> |
inDegreeDistribution(PgxGraph graph)
Blocking version of
inDegreeDistributionAsync(PgxGraph) . |
PgxFuture<PgxMap<java.lang.Integer,java.lang.Long>> |
inDegreeDistributionAsync(PgxGraph graph)
Computes the indegree distribution of the given graph and stores it in a map.
|
<ID> Pair<Scalar<java.lang.Long>,VertexProperty<ID,java.lang.Long>> |
kcore(PgxGraph graph, int minCore, int maxCore)
Blocking version of
kcoreAsync(PgxGraph, int, int) . |
<ID> PgxFuture<Pair<Scalar<java.lang.Long>,VertexProperty<ID,java.lang.Long>>> |
kcoreAsync(PgxGraph graph, int minCore, int maxCore)
Computes the k-core decomposition of the graph.
|
<ID> MatrixFactorizationModel<ID> |
matrixFactorizationGradientDescent(BipartiteGraph graph, EdgeProperty<java.lang.Double> weightProperty)
Blocking version of
matrixFactorizationGradientDescentAsync(BipartiteGraph, EdgeProperty) . |
<ID> MatrixFactorizationModel<ID> |
matrixFactorizationGradientDescent(BipartiteGraph graph, EdgeProperty<java.lang.Double> weightProperty, double learningRate, double changePerStep, double lambda, int maxStep, int vectorLength)
|
<ID> PgxFuture<MatrixFactorizationModel<ID>> |
matrixFactorizationGradientDescentAsync(BipartiteGraph graph, EdgeProperty<java.lang.Double> weightProperty)
Performs the training step of generating recommendations using matrix factorization.
|
<ID> PgxFuture<MatrixFactorizationModel<ID>> |
matrixFactorizationGradientDescentAsync(BipartiteGraph graph, EdgeProperty<java.lang.Double> weightProperty, double learningRate, double changePerStep, double lambda, int maxStep, int vectorLength)
Performs the training step of generating recommendations using matrix factorization.
|
<ID> VertexProperty<ID,java.lang.Integer> |
outDegreeCentrality(PgxGraph graph)
Blocking version of
outDegreeCentralityAsync(PgxGraph) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Integer>> |
outDegreeCentralityAsync(PgxGraph graph)
Compute vertex centrality based on the out-degree.
|
PgxMap<java.lang.Integer,java.lang.Long> |
outDegreeDistribution(PgxGraph graph)
Blocking version of
outDegreeDistributionAsync(PgxGraph) . |
PgxFuture<PgxMap<java.lang.Integer,java.lang.Long>> |
outDegreeDistributionAsync(PgxGraph graph)
Computes the outdegree distribution of the given graph and stores it in a map.
|
<ID> VertexProperty<ID,java.lang.Double> |
pagerank(PgxGraph graph, double e, double d, int max)
Blocking version of
pagerankAsync(PgxGraph, double, double, int) . |
<ID> VertexProperty<ID,java.lang.Double> |
pagerankApproximate(PgxGraph graph, double e, double d, int max)
Blocking version of
pagerankApproximateAsync(PgxGraph, double, double, int) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
pagerankApproximateAsync(PgxGraph graph, double e, double d, int max)
Computes an approximate pagerank.
|
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
pagerankAsync(PgxGraph graph, double e, double d, int max)
Classic pagerank algorithm.
|
<ID> Pair<Scalar<java.lang.Double>,Scalar<java.lang.Double>> |
partitionConductance(PgxGraph graph, Partition<ID> components)
Blocking version of
partitionModularityAsync(PgxGraph, Partition) . |
<ID> PgxFuture<Pair<Scalar<java.lang.Double>,Scalar<java.lang.Double>>> |
partitionConductanceAsync(PgxGraph graph, Partition<ID> partition)
Compute the average and minimum conductance among all partitions in a vertex partition.
|
<ID> Scalar<java.lang.Double> |
partitionModularity(PgxGraph graph, Partition<ID> components)
Blocking version of
partitionConductanceAsync(PgxGraph, Partition) . |
<ID> PgxFuture<Scalar<java.lang.Double>> |
partitionModularityAsync(PgxGraph graph, Partition<ID> partition)
Compute the modularity of a partition.
|
<ID> VertexProperty<ID,java.lang.Double> |
personalizedPagerank(PgxGraph graph, ID vertexId, double e, double d, int max)
Convenience wrapper around
personalizedPagerank(PgxGraph, PgxVertex, double, double, int) taking a vertex ID instead of a PgxVertex . |
<ID> VertexProperty<ID,java.lang.Double> |
personalizedPagerank(PgxGraph graph, PgxVertex<ID> v, double e, double d, int max)
Blocking version of
personalizedPagerankAsync(PgxGraph, PgxVertex, double, double, int) . |
<ID> VertexProperty<ID,java.lang.Double> |
personalizedPagerank(PgxGraph graph, VertexSet<ID> vertices, double e, double d, int max)
Blocking version of
personalizedPagerankAsync(PgxGraph, VertexSet, double, double, int) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
personalizedPagerankAsync(PgxGraph graph, PgxVertex<ID> v, double e, double d, int max)
Personalized pagerank (random walk with restart) evaluates relative importance of vertices in a graph with respect to a given vertex v.
|
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
personalizedPagerankAsync(PgxGraph graph, VertexSet<ID> vertices, double e, double d, int max)
Personalized pagerank (random walk with restart) evaluates relative importance of vertices in a graph with respect to a given set of vertices.
|
<ID> VertexProperty<ID,java.lang.Double> |
personalizedSalsa(BipartiteGraph graph, PgxVertex<ID> v, double d, int maxIterations, double maxDiff)
Blocking version of
personalizedSalsaAsync(BipartiteGraph, PgxVertex, double, int, double) . |
<ID> VertexProperty<ID,java.lang.Double> |
personalizedSalsa(BipartiteGraph graph, VertexSet<ID> vertices, double d, int maxIterations, double maxDiff)
Blocking version of
personalizedSalsaAsync(BipartiteGraph, VertexSet, double, int, double) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
personalizedSalsaAsync(BipartiteGraph graph, PgxVertex<ID> v, double d, int maxIterations, double maxDiff)
Personalized SALSA computes recommendations ith respect to a given vertex v.
|
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
personalizedSalsaAsync(BipartiteGraph graph, VertexSet<ID> vertices, double d, int maxIterations, double maxDiff)
Personalized SALSA computes recommendations ith respect to a given set of vertices.
|
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
salsa(BipartiteGraph graph, double maxDiff, int maxIter)
Blocking version of
salsaAsync(BipartiteGraph, double, int) . |
<ID> Pair<VertexSequence<ID>,VertexSequence<ID>> |
salsa(BipartiteGraph graph, int k)
Blocking version of
salsaAsync(BipartiteGraph, int) . |
<ID> Pair<VertexSequence<ID>,VertexSequence<ID>> |
salsa(BipartiteGraph graph, int k, double maxDiff, double d, int maxIter)
Blocking version of
salsaAsync(BipartiteGraph, int, double, double, int) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
salsaAsync(BipartiteGraph graph, double maxDiff, int maxIter) |
<ID> PgxFuture<Pair<VertexSequence<ID>,VertexSequence<ID>>> |
salsaAsync(BipartiteGraph graph, int k)
Convenience method around
salsaAsync(BipartiteGraph, int, double, double, int) using
maxDiff = 0.01 d = 0.85 maxIter = 1000 |
<ID> PgxFuture<Pair<VertexSequence<ID>,VertexSequence<ID>>> |
salsaAsync(BipartiteGraph graph, int k, double maxDiff, double d, int maxIter)
SALSA recommendation algorithm.
|
<ID> Partition<ID> |
sccKosaraju(PgxGraph graph)
Blocking version of
sccKosarajuAsync(PgxGraph) . |
<ID> PgxFuture<Partition<ID>> |
sccKosarajuAsync(PgxGraph graph)
Find strongly connected components using Kosaraju's algorithm.
|
<ID> Partition<ID> |
sccTarjan(PgxGraph graph)
Blocking version of
sccTarjanAsync(PgxGraph) . |
<ID> PgxFuture<Partition<ID>> |
sccTarjanAsync(PgxGraph graph)
Find strongly connected components using Tarjan's algorithm.
|
<ID> AllPaths<ID> |
shortestPathBellmanFord(PgxGraph graph, ID srcId, EdgeProperty<java.lang.Double> cost)
Convenience wrapper around
shortestPathBellmanFord(PgxGraph, PgxVertex, EdgeProperty) taking a vertex ID instead of PgxVertex . |
<ID> AllPaths<ID> |
shortestPathBellmanFord(PgxGraph graph, PgxVertex<ID> src, EdgeProperty<java.lang.Double> cost)
Blocking version of
shortestPathBellmanFordAsync(PgxGraph, PgxVertex, EdgeProperty) . |
<ID> PgxFuture<AllPaths<ID>> |
shortestPathBellmanFordAsync(PgxGraph graph, PgxVertex<ID> src, EdgeProperty<java.lang.Double> cost)
Compute single source shortest paths using Bellman & Ford algorithm
Time complexity: O(E * D) with E = number of edges, D = number edges in the shortest length |
<ID> AllPaths<ID> |
shortestPathBellmanFordReverse(PgxGraph graph, ID srcId, EdgeProperty<java.lang.Double> cost)
Convenience wrapper around
shortestPathBellmanFordReverse(PgxGraph, PgxVertex, EdgeProperty) taking a vertex ID instead of PgxVertex . |
<ID> AllPaths<ID> |
shortestPathBellmanFordReverse(PgxGraph graph, PgxVertex<ID> src, EdgeProperty<java.lang.Double> cost)
Blocking version of
shortestPathBellmanFordReverseAsync(PgxGraph, PgxVertex, EdgeProperty) . |
<ID> PgxFuture<AllPaths<ID>> |
shortestPathBellmanFordReverseAsync(PgxGraph graph, PgxVertex<ID> src, EdgeProperty<java.lang.Double> cost)
Compute reverse single source shortest paths using Bellman & Ford algorithm
Time complexity: O(E * D) with E = number of edges, D = number edges in the shortest length |
<ID> PgxPath<ID> |
shortestPathDijkstra(PgxGraph graph, ID srcId, ID dstId, EdgeProperty<java.lang.Double> cost)
Convenience wrapper around
shortestPathDijkstra(PgxGraph, PgxVertex, PgxVertex, EdgeProperty) taking vertex IDs instead of PgxVertex . |
<ID> PgxPath<ID> |
shortestPathDijkstra(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost)
Blocking version of
shortestPathDijkstraAsync(PgxGraph, PgxVertex, PgxVertex, EdgeProperty) . |
<ID> PgxFuture<PgxPath<ID>> |
shortestPathDijkstraAsync(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost)
Compute shortest path using Dijkstra's algorithm.
|
<ID> PgxPath<ID> |
shortestPathDijkstraBidirectional(PgxGraph graph, ID srcId, ID dstId, EdgeProperty<java.lang.Double> cost)
Convenience wrapper around
shortestPathDijkstraBidirectional(PgxGraph, PgxVertex, PgxVertex, EdgeProperty) taking vertex IDs instead of PgxVertex . |
<ID> PgxPath<ID> |
shortestPathDijkstraBidirectional(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost)
Blocking version of
shortestPathDijkstraBidirectionalAsync(PgxGraph, PgxVertex, PgxVertex, EdgeProperty) . |
<ID> PgxFuture<PgxPath<ID>> |
shortestPathDijkstraBidirectionalAsync(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost)
Compute shortest path using a bi-directional Dijkstra variant.
|
<ID> PgxPath<ID> |
shortestPathFilteredDijkstra(PgxGraph graph, ID srcId, ID dstId, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr)
Convenience wrapper around
shortestPathFilteredDijkstra(PgxGraph, PgxVertex, PgxVertex, EdgeProperty, GraphFilter) taking vertex IDs instead of PgxVertex . |
<ID> PgxPath<ID> |
shortestPathFilteredDijkstra(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr)
|
<ID> PgxFuture<PgxPath<ID>> |
shortestPathFilteredDijkstraAsync(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr)
Compute shortest path using Dijkstra's algorithm on a filtered graph
The filter specified by the given filter expression is applied on each edge during traversal of the graph. |
<ID> PgxPath<ID> |
shortestPathFilteredDijkstraBidirectional(PgxGraph graph, ID srcId, ID dstId, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr)
Convenience wrapper around
shortestPathFilteredDijkstraBidirectional(PgxGraph, PgxVertex, PgxVertex, EdgeProperty, GraphFilter) taking vertex IDs instead of PgxVertex . |
<ID> PgxPath<ID> |
shortestPathFilteredDijkstraBidirectional(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr)
|
<ID> PgxFuture<PgxPath<ID>> |
shortestPathFilteredDijkstraBidirectionalAsync(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr)
Compute shortest path using a bi-directional Dijkstra variant on a filtered graph.
|
<ID> AllPaths<ID> |
shortestPathHopDist(PgxGraph graph, ID srcId)
Convenience wrapper around
shortestPathHopDist(PgxGraph, PgxVertex) taking a vertex ID instead of PgxVertex . |
<ID> AllPaths<ID> |
shortestPathHopDist(PgxGraph graph, PgxVertex<ID> src)
Blocking version of
shortestPathHopDistAsync(PgxGraph, PgxVertex) . |
<ID> PgxFuture<AllPaths<ID>> |
shortestPathHopDistAsync(PgxGraph graph, PgxVertex<ID> src)
Compute hop-distance from given vertex to every other vertex
Time complexity: O(E * d) with E = number of edges, d = diameter of graph |
<ID> AllPaths<ID> |
shortestPathHopDistReverse(PgxGraph graph, ID srcId)
Convenience wrapper around
shortestPathHopDistReverse(PgxGraph, PgxVertex) taking a vertex ID instead of PgxVertex . |
<ID> AllPaths<ID> |
shortestPathHopDistReverse(PgxGraph graph, PgxVertex<ID> src)
Blocking version of
shortestPathHopDistReverseAsync(PgxGraph, PgxVertex) . |
<ID> PgxFuture<AllPaths<ID>> |
shortestPathHopDistReverseAsync(PgxGraph graph, PgxVertex<ID> src)
Compute reverse hop-distance from given vertex to every other vertex
Time complexity: O(E * d) with E = number of edges, d = diameter of graph |
java.lang.String |
toString() |
<ID> VertexProperty<ID,java.lang.Double> |
vertexBetweennessCentrality(PgxGraph graph)
Blocking version of
vertexBetweennessCentralityAsync(PgxGraph) . |
<ID> PgxFuture<VertexProperty<ID,java.lang.Double>> |
vertexBetweennessCentralityAsync(PgxGraph graph)
Compute vertex betweenness centrality (without considering edge length).
|
<ID> Partition<ID> |
wcc(PgxGraph graph)
Blocking version of
wccAsync(PgxGraph) . |
<ID> PgxFuture<Partition<ID>> |
wccAsync(PgxGraph graph)
Find weakly connected components through label propagation
Time complexity: O(E * D) with E = number of edges, D = diameter of the graph |
<ID extends java.lang.Comparable<ID>> |
weightedPagerank(PgxGraph graph, double e, double d, int max, EdgeProperty<java.lang.Double> weight)
Blocking version of
weightedPagerankAsync(PgxGraph, double, double, int, EdgeProperty) . |
<ID extends java.lang.Comparable<ID>> |
weightedPagerankAsync(PgxGraph graph, double e, double d, int max, EdgeProperty<java.lang.Double> weight)
Weighted PageRank - like the original PageRank algorithm, except that each edge has a weight value assigned to it.
|
<ID> Pair<VertexSequence<ID>,VertexSequence<ID>> |
whomToFollow(PgxGraph graph, ID vertexId, int max)
Convenience wrapper around
whomToFollow(PgxGraph, PgxVertex, int) taking a vertex ID instead of a PgxVertex . |
<ID> Pair<VertexSequence<ID>,VertexSequence<ID>> |
whomToFollow(PgxGraph graph, ID vertexId, int max, int circleOfTrustSize, int randomWalkSteps, double randomWalkResetProbablitiy, double salsaDampingFactor, int salsaMaxIterations, double salsaMaxDiff)
Convenience wrapper around
whomToFollow(PgxGraph, PgxVertex, int, int, int, double, double, int, double) taking a vertex ID instead of a PgxVertex . |
<ID> Pair<VertexSequence<ID>,VertexSequence<ID>> |
whomToFollow(PgxGraph graph, PgxVertex<ID> vertex, int max)
Blocking version of
whomToFollowAsync(PgxGraph, PgxVertex, int) . |
<ID> Pair<VertexSequence<ID>,VertexSequence<ID>> |
whomToFollow(PgxGraph graph, PgxVertex<ID> vertex, int max, int circleOfTrustSize, int randomWalkSteps, double randomWalkResetProbablitiy, double salsaDampingFactor, int salsaMaxIterations, double salsaMaxDiff)
Blocking version of
whomToFollowAsync(PgxGraph, PgxVertex, int, int, int, double, double, int, double) . |
<ID> PgxFuture<Pair<VertexSequence<ID>,VertexSequence<ID>>> |
whomToFollowAsync(PgxGraph graph, PgxVertex<ID> vertex, int max)
Convenience method around
whomToFollowAsync(PgxGraph, PgxVertex, int, int, int, double, double, int, double) using
circleOfTrustSize = 500 randomWalkSteps = 50000 randomWalkResetProbablitiy = 0.15 salsaDampingFactor = 0.85 salsaMaxIterations = 1000 salsaMaxDiff = 0.01 |
<ID> PgxFuture<Pair<VertexSequence<ID>,VertexSequence<ID>>> |
whomToFollowAsync(PgxGraph graph, PgxVertex<ID> vertex, int max, int circleOfTrustSize, int randomWalkSteps, double randomWalkResetProbablitiy, double salsaDampingFactor, int salsaMaxIterations, double salsaMaxDiff)
The Who to Follow recommendation algorithm by Twitter, Inc.
|
close, destroy, destroyAsync
@Generated(value="src/python/synchronize.py") public <V> EdgeProperty<java.lang.Double> adamicAdarCounting(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
adamicAdarCountingAsync(PgxGraph)
. Calls adamicAdarCountingAsync(PgxGraph)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public PgxFuture<EdgeProperty<java.lang.Double>> adamicAdarCountingAsync(PgxGraph graph)
Time complexity: O(E * d) with E = number of edges, d = degree of graph; O(E ^ (3/2)) if graph is undirected
graph
- graph@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Double> approximateVertexBetweennessCentrality(PgxGraph graph, int k) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
approximateVertexBetweennessCentralityAsync(PgxGraph, int)
. Calls approximateVertexBetweennessCentralityAsync(PgxGraph, int)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> approximateVertexBetweennessCentralityAsync(PgxGraph graph, int k)
Time complexity: O(K * E) with E = number of edges, K is a given constant (# of seed vertices)
graph
- graph namek
- how many random selected seed vertices to use@SafeVarargs @Generated(value="src/python/synchronize.py") public final <ID> VertexProperty<ID,java.lang.Double> approximateVertexBetweennessCentralityFromSeeds(PgxGraph graph, PgxVertex<ID>... seeds) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
approximateVertexBetweennessCentralityFromSeedsAsync(PgxGraph, PgxVertex[])
. Calls approximateVertexBetweennessCentralityFromSeedsAsync(PgxGraph, PgxVertex[])
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.@SafeVarargs public final <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> approximateVertexBetweennessCentralityFromSeedsAsync(PgxGraph graph, PgxVertex<ID>... seeds)
Time complexity: O(K * E) with E = number of edges, K is a given constant (# of seed vertices)
graph
- graphseeds
- collection@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Double> closenessCentralityDoubleLength(PgxGraph graph, EdgeProperty<java.lang.Double> cost) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
closenessCentralityDoubleLengthAsync(PgxGraph, EdgeProperty)
. Calls closenessCentralityDoubleLengthAsync(PgxGraph, EdgeProperty)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> closenessCentralityDoubleLengthAsync(PgxGraph graph, EdgeProperty<java.lang.Double> cost)
Time complexity: O(N * E * d) with E = number of edges, N = number of vertices, d = path-length diameter of graph
graph
- graphcost
- Edge Property of the cost@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Double> closenessCentralityUnitLength(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
closenessCentralityUnitLengthAsync(PgxGraph)
. Calls closenessCentralityUnitLengthAsync(PgxGraph)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> closenessCentralityUnitLengthAsync(PgxGraph graph)
Time complexity: O(N * E) with E = number of edges, N = number of vertices
graph
- graph@Generated(value="src/python/synchronize.py") public <ID> Partition<ID> communitiesConductanceMinimization(PgxGraph graph, int max) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
communitiesConductanceMinimizationAsync(PgxGraph, int)
. Calls communitiesConductanceMinimizationAsync(PgxGraph, int)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Partition<ID>> communitiesConductanceMinimizationAsync(PgxGraph graph, int max)
Time complexity: worst case O(N * E), expected O(E log N) with E = number of edges, N = number of nodes
graph
- graphmax
- the maximum number of iterations@Generated(value="src/python/synchronize.py") public <ID> Partition<ID> communitiesLabelPropagation(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
communitiesLabelPropagationAsync(PgxGraph)
. Calls communitiesLabelPropagationAsync(PgxGraph)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.@Generated(value="src/python/synchronize.py") public <ID> Partition<ID> communitiesLabelPropagation(PgxGraph graph, int maxIterations) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
communitiesLabelPropagationAsync(PgxGraph, int)
. Calls communitiesLabelPropagationAsync(PgxGraph, int)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Partition<ID>> communitiesLabelPropagationAsync(PgxGraph graph)
Time complexity: O(E * k) with E = number of edges, k is constant
graph
- graphpublic <ID> PgxFuture<Partition<ID>> communitiesLabelPropagationAsync(PgxGraph graph, int maxIteration)
Time complexity: O(E * k) with E = number of edges, k is constant
graph
- graphmaxIteration
- maximum number of iterations@Generated(value="src/python/synchronize.py") public <ID> Scalar<java.lang.Double> conductance(PgxGraph graph, Partition<ID> partition, long partitionIndex) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
conductanceAsync(PgxGraph, Partition, long)
. Calls conductanceAsync(PgxGraph, Partition, long)
} and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Scalar<java.lang.Double>> conductanceAsync(PgxGraph graph, Partition<ID> partition, long partitionIndex)
Time complexity: O(N + E*) with E* = number of edges which cross given 'partition' of the graph, N = number of nodes
graph
- graphpartition
- the graph partitionpartitionIndex
- the index of the partition to analyze (obtained via Partition.getPartitionIndexOfVertex(PgxVertex)
)Double.POSITIVE_INFINITY
indicates the partition does not have edges.@Generated(value="src/python/synchronize.py") public long countTriangles(PgxGraph graph, boolean sortVerticesByDegree) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
countTrianglesAsync(PgxGraph, boolean)
. Calls countTrianglesAsync(PgxGraph, boolean)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public PgxFuture<java.lang.Long> countTrianglesAsync(PgxGraph graph, boolean sortVerticesByDegree)
Time complexity: O(E * d) with E = number of edges, d = degree of graph
graph
- graphsortVerticesByDegree
- if true
, the undirected copy of the graph will be sorted by degree. You can use this flag to trade memory for speed. If sorted, the algorithm usually terminates faster, but the peak memory consumption increases.@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Integer> degreeCentrality(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
degreeCentralityAsync(PgxGraph)
. Calls degreeCentralityAsync(PgxGraph)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Integer>> degreeCentralityAsync(PgxGraph graph)
Time complexity: O(E) with E = number of edges
graph
- graph@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Double> eigenvectorCentrality(PgxGraph graph, int max, double maxDiff, boolean useL2Norm, boolean useInEdge) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
eigenvectorCentralityAsync(PgxGraph, int, double, boolean, boolean)
. Calls eigenvectorCentralityAsync(PgxGraph, int, double, boolean, boolean)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> eigenvectorCentralityAsync(PgxGraph graph, int max, double maxDiff, boolean useL2Norm, boolean useInEdge)
Time complexity: O(K * E) with E = number of edges, K is a given constant (max iterations)
ID
- the generic typegraph
- graph where used for the algorithmmax
- maximum number of iterationsmaxDiff
- maximum error for terminating the iterationuseL2Norm
- true- use L2Norm for normalization. false - use L1NormuseInEdge
- true- compute 'left' eigenvector, false - compute 'right' eigenvectorpublic <ID> AllPaths<ID> fattestPath(PgxGraph graph, ID rootId, EdgeProperty<java.lang.Double> capacity) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
fattestPath(PgxGraph, PgxVertex, EdgeProperty)
taking a vertex ID instead of a PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
@Generated(value="src/python/synchronize.py") public <ID> AllPaths<ID> fattestPath(PgxGraph graph, PgxVertex<ID> root, EdgeProperty<java.lang.Double> capacity) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
fattestPathAsync(PgxGraph, PgxVertex, EdgeProperty)
. Calls fattestPathAsync(PgxGraph, PgxVertex, EdgeProperty)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<AllPaths<ID>> fattestPathAsync(PgxGraph graph, PgxVertex<ID> root, EdgeProperty<java.lang.Double> capacity)
graph
- graphcapacity
- edge property containing the capacity of each edge. Capacity may be negative. In case of an undirected graph, the capacity of the forward and backward edge should be the same.root
- the starting vertex of the algorithmDouble.POSITIVE_INFINITY
for the root vertex and 0.0 for all vertices not connected to root.@Generated(value="src/python/synchronize.py") public <ID> Pair<VertexProperty<ID,java.lang.Integer>,VertexProperty<ID,PgxVertex<ID>>> filteredBfs(PgxGraph graph, PgxVertex<ID> root, VertexFilter filter, VertexFilter navigator) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
filteredBfsAsync(PgxGraph, PgxVertex, VertexFilter, VertexFilter)
. Calls filteredBfsAsync(PgxGraph, PgxVertex, VertexFilter, VertexFilter)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.@Generated(value="src/python/synchronize.py") public <ID> Pair<VertexProperty<ID,java.lang.Integer>,VertexProperty<ID,PgxVertex<ID>>> filteredBfs(PgxGraph graph, PgxVertex<ID> root, VertexFilter filter, VertexFilter navigator, boolean initWithInf) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
filteredBfsAsync(PgxGraph, PgxVertex, VertexFilter, VertexFilter, boolean)
. Calls filteredBfsAsync(PgxGraph, PgxVertex, VertexFilter, VertexFilter, boolean)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Pair<VertexProperty<ID,java.lang.Integer>,VertexProperty<ID,PgxVertex<ID>>>> filteredBfsAsync(PgxGraph graph, PgxVertex<ID> root, VertexFilter filter, VertexFilter navigator)
public <ID> PgxFuture<Pair<VertexProperty<ID,java.lang.Integer>,VertexProperty<ID,PgxVertex<ID>>>> filteredBfsAsync(PgxGraph graph, PgxVertex<ID> root, VertexFilter filter, VertexFilter navigator, boolean initWithInf)
public PgxSession getSession()
@Generated(value="src/python/synchronize.py") public <ID> Pair<VertexProperty<ID,java.lang.Double>,VertexProperty<ID,java.lang.Double>> hits(PgxGraph graph, int max) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
hitsAsync(PgxGraph, int)
. Calls hitsAsync(PgxGraph, int)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Pair<VertexProperty<ID,java.lang.Double>,VertexProperty<ID,java.lang.Double>>> hitsAsync(PgxGraph graph, int max)
Time complexity: O(K * E) with E = number of edges, K is a given constant (max iterations)
graph
- graphmax
- maximum number of iterations@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Integer> inDegreeCentrality(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
inDegreeCentralityAsync(PgxGraph)
. Calls inDegreeCentralityAsync(PgxGraph)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Integer>> inDegreeCentralityAsync(PgxGraph graph)
Time complexity: O(E) with E = number of edges
graph
- graph@Generated(value="src/python/synchronize.py") public PgxMap<java.lang.Integer,java.lang.Long> inDegreeDistribution(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
inDegreeDistributionAsync(PgxGraph)
. Calls inDegreeDistributionAsync(PgxGraph)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public PgxFuture<PgxMap<java.lang.Integer,java.lang.Long>> inDegreeDistributionAsync(PgxGraph graph)
graph
- graph@Generated(value="src/python/synchronize.py") public <ID> Pair<Scalar<java.lang.Long>,VertexProperty<ID,java.lang.Long>> kcore(PgxGraph graph, int minCore, int maxCore) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
kcoreAsync(PgxGraph, int, int)
. Calls kcoreAsync(PgxGraph, int, int)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Pair<Scalar<java.lang.Long>,VertexProperty<ID,java.lang.Long>>> kcoreAsync(PgxGraph graph, int minCore, int maxCore)
Time complexity: O(E)
graph
- graphminCore
- the minimum core ID. Vertices having a smaller core ID will be assigned minCoremaxCore
- the maximum k-core to consider. Vertices having a larget core ID will be assigned maxCorepublic <ID> MatrixFactorizationModel<ID> matrixFactorizationGradientDescent(BipartiteGraph graph, EdgeProperty<java.lang.Double> weightProperty) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
matrixFactorizationGradientDescentAsync(BipartiteGraph, EdgeProperty)
. Calls matrixFactorizationGradientDescentAsync(BipartiteGraph, EdgeProperty)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> MatrixFactorizationModel<ID> matrixFactorizationGradientDescent(BipartiteGraph graph, EdgeProperty<java.lang.Double> weightProperty, double learningRate, double changePerStep, double lambda, int maxStep, int vectorLength) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
matrixFactorizationGradientDescentAsync(BipartiteGraph, EdgeProperty, double, double, double, int, int)
. Calls matrixFactorizationGradientDescentAsync(BipartiteGraph, EdgeProperty, double, double, double, int, int)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<MatrixFactorizationModel<ID>> matrixFactorizationGradientDescentAsync(BipartiteGraph graph, EdgeProperty<java.lang.Double> weightProperty)
matrixFactorizationGradientDescentAsync(BipartiteGraph, EdgeProperty, double, double, double, int, int)
using learningRate = 0.1, changePerStep = 0.9, lambda = 0.1, maxStep = 100, vectorLength = 20ID
- the vertex ID typegraph
- graphweightProperty
- the edge property containing edge weightspublic <ID> PgxFuture<MatrixFactorizationModel<ID>> matrixFactorizationGradientDescentAsync(BipartiteGraph graph, EdgeProperty<java.lang.Double> weightProperty, double learningRate, double changePerStep, double lambda, int maxStep, int vectorLength)
ID
- the vertex ID typegraph
- graphweightProperty
- the edge property containing edge weightslearningRate
- the learning ratechangePerStep
- the change per steplambda
- the lambdamaxStep
- the maximum stepsvectorLength
- the vector length@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Integer> outDegreeCentrality(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
outDegreeCentralityAsync(PgxGraph)
. Calls outDegreeCentralityAsync(PgxGraph)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Integer>> outDegreeCentralityAsync(PgxGraph graph)
Time complexity: O(E) with E = number of edges
graph
- graph@Generated(value="src/python/synchronize.py") public PgxMap<java.lang.Integer,java.lang.Long> outDegreeDistribution(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
outDegreeDistributionAsync(PgxGraph)
. Calls outDegreeDistributionAsync(PgxGraph)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public PgxFuture<PgxMap<java.lang.Integer,java.lang.Long>> outDegreeDistributionAsync(PgxGraph graph)
graph
- graph@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Double> pagerank(PgxGraph graph, double e, double d, int max) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
pagerankAsync(PgxGraph, double, double, int)
. Calls pagerankAsync(PgxGraph, double, double, int)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Double> pagerankApproximate(PgxGraph graph, double e, double d, int max) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
pagerankApproximateAsync(PgxGraph, double, double, int)
. Calls pagerankApproximateAsync(PgxGraph, double, double, int)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> pagerankApproximateAsync(PgxGraph graph, double e, double d, int max)
pagerankAsync(PgxGraph, double, double, int)
on certain graphs. The top computed values are usually very close to the actual pagerank values.graph
- graphe
- maximum error for terminating the iterationd
- damping factormax
- maximum number of iterationspublic <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> pagerankAsync(PgxGraph graph, double e, double d, int max)
graph
- graphe
- maximum error for terminating the iterationd
- damping factormax
- maximum number of iterations@Generated(value="src/python/synchronize.py") public <ID> Pair<Scalar<java.lang.Double>,Scalar<java.lang.Double>> partitionConductance(PgxGraph graph, Partition<ID> components) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
partitionModularityAsync(PgxGraph, Partition)
. Calls partitionConductanceAsync(PgxGraph, Partition)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Pair<Scalar<java.lang.Double>,Scalar<java.lang.Double>>> partitionConductanceAsync(PgxGraph graph, Partition<ID> partition)
graph
- graphpartition
- the graph partition@Generated(value="src/python/synchronize.py") public <ID> Scalar<java.lang.Double> partitionModularity(PgxGraph graph, Partition<ID> components) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
partitionConductanceAsync(PgxGraph, Partition)
. Calls partitionModularityAsync(PgxGraph, Partition)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Scalar<java.lang.Double>> partitionModularityAsync(PgxGraph graph, Partition<ID> partition)
@see http://en.wikipedia.org/wiki/Modularity_(networks)
Note: this algorithm is in-efficient if numComponents is big (i.e. O(N))
graph
- graphpartition
- the partition to analyzepublic <ID> VertexProperty<ID,java.lang.Double> personalizedPagerank(PgxGraph graph, ID vertexId, double e, double d, int max) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
personalizedPagerank(PgxGraph, PgxVertex, double, double, int)
taking a vertex ID instead of a PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Double> personalizedPagerank(PgxGraph graph, PgxVertex<ID> v, double e, double d, int max) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
personalizedPagerankAsync(PgxGraph, PgxVertex, double, double, int)
. Calls personalizedPagerankAsync(PgxGraph, PgxVertex, double, double, int)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Double> personalizedPagerank(PgxGraph graph, VertexSet<ID> vertices, double e, double d, int max) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
personalizedPagerankAsync(PgxGraph, VertexSet, double, double, int)
. Calls personalizedPagerankAsync(PgxGraph, VertexSet, double, double, int)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> personalizedPagerankAsync(PgxGraph graph, PgxVertex<ID> v, double e, double d, int max)
Time complexity: O(K), K is a given constant (max iterations)
graph
- graphv
- vertexe
- maximum error for terminating the iterationd
- damping factormax
- maximum number of iterationspublic <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> personalizedPagerankAsync(PgxGraph graph, VertexSet<ID> vertices, double e, double d, int max)
graph
- graphvertices
- input verticese
- maximum error for terminating the iterationd
- damping factormax
- maximum number of iterations@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Double> personalizedSalsa(BipartiteGraph graph, PgxVertex<ID> v, double d, int maxIterations, double maxDiff) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
personalizedSalsaAsync(BipartiteGraph, PgxVertex, double, int, double)
. Calls #personalizedSalsaAsync(PgxGraph, PgxVertex, double, int, double)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Double> personalizedSalsa(BipartiteGraph graph, VertexSet<ID> vertices, double d, int maxIterations, double maxDiff) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
personalizedSalsaAsync(BipartiteGraph, VertexSet, double, int, double)
. Calls #personalizedSalsaAsync(PgxGraph, VertexSet, double, int, double)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> personalizedSalsaAsync(BipartiteGraph graph, PgxVertex<ID> v, double d, int maxIterations, double maxDiff)
graph
- graphv
- vertexd
- damping factormaxIterations
- maximum number of iterationsmaxDiff
- maximum error for terminating the iterationpublic <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> personalizedSalsaAsync(BipartiteGraph graph, VertexSet<ID> vertices, double d, int maxIterations, double maxDiff)
graph
- graphvertices
- input verticesd
- damping factormaxIterations
- maximum number of iterationsmaxDiff
- maximum error for terminating the iteration@Generated(value="src/python/synchronize.py") public <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> salsa(BipartiteGraph graph, double maxDiff, int maxIter)
salsaAsync(BipartiteGraph, double, int)
. Calls salsaAsync(BipartiteGraph, double, int)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.@Generated(value="src/python/synchronize.py") public <ID> Pair<VertexSequence<ID>,VertexSequence<ID>> salsa(BipartiteGraph graph, int k) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
salsaAsync(BipartiteGraph, int)
. Calls salsaAsync(BipartiteGraph, int)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.@Generated(value="src/python/synchronize.py") public <ID> Pair<VertexSequence<ID>,VertexSequence<ID>> salsa(BipartiteGraph graph, int k, double maxDiff, double d, int maxIter) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
salsaAsync(BipartiteGraph, int, double, double, int)
. Calls salsaAsync(BipartiteGraph, int, double, double, int)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> salsaAsync(BipartiteGraph graph, double maxDiff, int maxIter)
public <ID> PgxFuture<Pair<VertexSequence<ID>,VertexSequence<ID>>> salsaAsync(BipartiteGraph graph, int k)
salsaAsync(BipartiteGraph, int, double, double, int)
using
public <ID> PgxFuture<Pair<VertexSequence<ID>,VertexSequence<ID>>> salsaAsync(BipartiteGraph graph, int k, double maxDiff, double d, int maxIter)
graph
- a bipartite graphk
- the top K vertices will be returned in hub_recs and auth_recs (so K+K vertices will be returned)maxDiff
- the maximum diffd
- damping factormaxIter
- the maximum number of iterations@Generated(value="src/python/synchronize.py") public <ID> Partition<ID> sccKosaraju(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
sccKosarajuAsync(PgxGraph)
. Calls sccKosarajuAsync(PgxGraph)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Partition<ID>> sccKosarajuAsync(PgxGraph graph)
Time complexity: O(E) with E = number of edges
graph
- graph@Generated(value="src/python/synchronize.py") public <ID> Partition<ID> sccTarjan(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
sccTarjanAsync(PgxGraph)
. Calls sccTarjanAsync(PgxGraph)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Partition<ID>> sccTarjanAsync(PgxGraph graph)
Time complexity: O(E) with E = number of edges
graph
- graphpublic <ID> AllPaths<ID> shortestPathBellmanFord(PgxGraph graph, ID srcId, EdgeProperty<java.lang.Double> cost) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathBellmanFord(PgxGraph, PgxVertex, EdgeProperty)
taking a vertex ID instead of PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
@Generated(value="src/python/synchronize.py") public <ID> AllPaths<ID> shortestPathBellmanFord(PgxGraph graph, PgxVertex<ID> src, EdgeProperty<java.lang.Double> cost) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathBellmanFordAsync(PgxGraph, PgxVertex, EdgeProperty)
. Calls shortestPathBellmanFordAsync(PgxGraph, PgxVertex, EdgeProperty)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<AllPaths<ID>> shortestPathBellmanFordAsync(PgxGraph graph, PgxVertex<ID> src, EdgeProperty<java.lang.Double> cost)
Time complexity: O(E * D) with E = number of edges, D = number edges in the shortest length
graph
- graphcost
- edge property (of type double) holding the edge costs of the graphsrc
- source vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)public <ID> AllPaths<ID> shortestPathBellmanFordReverse(PgxGraph graph, ID srcId, EdgeProperty<java.lang.Double> cost) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathBellmanFordReverse(PgxGraph, PgxVertex, EdgeProperty)
taking a vertex ID instead of PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
@Generated(value="src/python/synchronize.py") public <ID> AllPaths<ID> shortestPathBellmanFordReverse(PgxGraph graph, PgxVertex<ID> src, EdgeProperty<java.lang.Double> cost) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathBellmanFordReverseAsync(PgxGraph, PgxVertex, EdgeProperty)
. Calls shortestPathBellmanFordReverseAsync(PgxGraph, PgxVertex, EdgeProperty)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<AllPaths<ID>> shortestPathBellmanFordReverseAsync(PgxGraph graph, PgxVertex<ID> src, EdgeProperty<java.lang.Double> cost)
Time complexity: O(E * D) with E = number of edges, D = number edges in the shortest length
graph
- graphcost
- edge property (of type double) holding the edge costs of the graphsrc
- source vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)public <ID> PgxPath<ID> shortestPathDijkstra(PgxGraph graph, ID srcId, ID dstId, EdgeProperty<java.lang.Double> cost) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathDijkstra(PgxGraph, PgxVertex, PgxVertex, EdgeProperty)
taking vertex IDs instead of PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
@Generated(value="src/python/synchronize.py") public <ID> PgxPath<ID> shortestPathDijkstra(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathDijkstraAsync(PgxGraph, PgxVertex, PgxVertex, EdgeProperty)
. Calls shortestPathDijkstraAsync(PgxGraph, PgxVertex, PgxVertex, EdgeProperty)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<PgxPath<ID>> shortestPathDijkstraAsync(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost)
Time complexity: O(N log N) with N = number of vertices
graph
- graphsrc
- source vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)dst
- destination vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)cost
- edge property (of type double) holding the edge costs of the graphpublic <ID> PgxPath<ID> shortestPathDijkstraBidirectional(PgxGraph graph, ID srcId, ID dstId, EdgeProperty<java.lang.Double> cost) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathDijkstraBidirectional(PgxGraph, PgxVertex, PgxVertex, EdgeProperty)
taking vertex IDs instead of PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
@Generated(value="src/python/synchronize.py") public <ID> PgxPath<ID> shortestPathDijkstraBidirectional(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathDijkstraBidirectionalAsync(PgxGraph, PgxVertex, PgxVertex, EdgeProperty)
. Calls shortestPathDijkstraBidirectionalAsync(PgxGraph, PgxVertex, PgxVertex, EdgeProperty)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<PgxPath<ID>> shortestPathDijkstraBidirectionalAsync(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost)
Time complexity: O(N log N) with N = number of vertices
graph
- graphcost
- the edge property (of type double) holding the edge costs of the graphsrc
- source vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)dst
- destination vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)public <ID> PgxPath<ID> shortestPathFilteredDijkstra(PgxGraph graph, ID srcId, ID dstId, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathFilteredDijkstra(PgxGraph, PgxVertex, PgxVertex, EdgeProperty, GraphFilter)
taking vertex IDs instead of PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
@Generated(value="src/python/synchronize.py") public <ID> PgxPath<ID> shortestPathFilteredDijkstra(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathFilteredDijkstraAsync(PgxGraph, PgxVertex, PgxVertex, EdgeProperty, GraphFilter)
. Calls shortestPathFilteredDijkstraAsync(PgxGraph, PgxVertex, PgxVertex, EdgeProperty, GraphFilter)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<PgxPath<ID>> shortestPathFilteredDijkstraAsync(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr)
The filter specified by the given filter expression is applied on each edge during traversal of the graph. If it evaluates to false, the edge is skipped.
Time complexity: O(N log N) with N = number of vertices
graph
- graphcost
- edge property (of type double) holding the edge costs of the graphsrc
- source vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)dst
- destination vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)filterExpr
- filter expression that is evaluated during traversalpublic <ID> PgxPath<ID> shortestPathFilteredDijkstraBidirectional(PgxGraph graph, ID srcId, ID dstId, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathFilteredDijkstraBidirectional(PgxGraph, PgxVertex, PgxVertex, EdgeProperty, GraphFilter)
taking vertex IDs instead of PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
@Generated(value="src/python/synchronize.py") public <ID> PgxPath<ID> shortestPathFilteredDijkstraBidirectional(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathFilteredDijkstraBidirectionalAsync(PgxGraph, PgxVertex, PgxVertex, EdgeProperty, GraphFilter)
. Calls shortestPathFilteredDijkstraBidirectionalAsync(PgxGraph, PgxVertex, PgxVertex, EdgeProperty, GraphFilter)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<PgxPath<ID>> shortestPathFilteredDijkstraBidirectionalAsync(PgxGraph graph, PgxVertex<ID> src, PgxVertex<ID> dst, EdgeProperty<java.lang.Double> cost, GraphFilter filterExpr)
Time complexity: O(N log N) with N = number of vertices
graph
- graphcost
- the edge property (of type double) holding the edge costs of the graphsrc
- source vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)dst
- destination vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)filterExpr
- filter expression that is evaluated during traversalpublic <ID> AllPaths<ID> shortestPathHopDist(PgxGraph graph, ID srcId) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathHopDist(PgxGraph, PgxVertex)
taking a vertex ID instead of PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
@Generated(value="src/python/synchronize.py") public <ID> AllPaths<ID> shortestPathHopDist(PgxGraph graph, PgxVertex<ID> src) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathHopDistAsync(PgxGraph, PgxVertex)
. Calls shortestPathHopDistAsync(PgxGraph, PgxVertex)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<AllPaths<ID>> shortestPathHopDistAsync(PgxGraph graph, PgxVertex<ID> src)
Time complexity: O(E * d) with E = number of edges, d = diameter of graph
graph
- graphsrc
- source vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)public <ID> AllPaths<ID> shortestPathHopDistReverse(PgxGraph graph, ID srcId) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathHopDistReverse(PgxGraph, PgxVertex)
taking a vertex ID instead of PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
@Generated(value="src/python/synchronize.py") public <ID> AllPaths<ID> shortestPathHopDistReverse(PgxGraph graph, PgxVertex<ID> src) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
shortestPathHopDistReverseAsync(PgxGraph, PgxVertex)
. Calls shortestPathHopDistReverseAsync(PgxGraph, PgxVertex)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<AllPaths<ID>> shortestPathHopDistReverseAsync(PgxGraph graph, PgxVertex<ID> src)
Time complexity: O(E * d) with E = number of edges, d = diameter of graph
graph
- graphsrc
- source vertex (has to be of type 'PgxVertex<ID>' as specified in loader config of graph)public java.lang.String toString()
toString
in class java.lang.Object
@Generated(value="src/python/synchronize.py") public <ID> VertexProperty<ID,java.lang.Double> vertexBetweennessCentrality(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
vertexBetweennessCentralityAsync(PgxGraph)
. Calls vertexBetweennessCentralityAsync(PgxGraph)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<VertexProperty<ID,java.lang.Double>> vertexBetweennessCentralityAsync(PgxGraph graph)
Time complexity: O(N * E) with E = number of edges
graph
- graph@Generated(value="src/python/synchronize.py") public <ID> Partition<ID> wcc(PgxGraph graph) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
wccAsync(PgxGraph)
. Calls wccAsync(PgxGraph)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Partition<ID>> wccAsync(PgxGraph graph)
Time complexity: O(E * D) with E = number of edges, D = diameter of the graph
graph
- graph@Generated(value="src/python/synchronize.py") public <ID extends java.lang.Comparable<ID>> VertexProperty<ID,java.lang.Double> weightedPagerank(PgxGraph graph, double e, double d, int max, EdgeProperty<java.lang.Double> weight) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
weightedPagerankAsync(PgxGraph, double, double, int, EdgeProperty)
. Calls weightedPagerankAsync(PgxGraph, double, double, int, EdgeProperty)
and waits for returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID extends java.lang.Comparable<ID>> PgxFuture<VertexProperty<ID,java.lang.Double>> weightedPagerankAsync(PgxGraph graph, double e, double d, int max, EdgeProperty<java.lang.Double> weight)
graph
- graphe
- maximum error for terminating the iterationd
- damping factormax
- maximum number of iterationsweight
- edge weightpublic <ID> Pair<VertexSequence<ID>,VertexSequence<ID>> whomToFollow(PgxGraph graph, ID vertexId, int max) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
whomToFollow(PgxGraph, PgxVertex, int)
taking a vertex ID instead of a PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
public <ID> Pair<VertexSequence<ID>,VertexSequence<ID>> whomToFollow(PgxGraph graph, ID vertexId, int max, int circleOfTrustSize, int randomWalkSteps, double randomWalkResetProbablitiy, double salsaDampingFactor, int salsaMaxIterations, double salsaMaxDiff) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
whomToFollow(PgxGraph, PgxVertex, int, int, int, double, double, int, double)
taking a vertex ID instead of a PgxVertex
.java.util.concurrent.ExecutionException
java.lang.InterruptedException
@Generated(value="src/python/synchronize.py") public <ID> Pair<VertexSequence<ID>,VertexSequence<ID>> whomToFollow(PgxGraph graph, PgxVertex<ID> vertex, int max) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
whomToFollowAsync(PgxGraph, PgxVertex, int)
. Calls whomToFollowAsync(PgxGraph, PgxVertex, int)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.@Generated(value="src/python/synchronize.py") public <ID> Pair<VertexSequence<ID>,VertexSequence<ID>> whomToFollow(PgxGraph graph, PgxVertex<ID> vertex, int max, int circleOfTrustSize, int randomWalkSteps, double randomWalkResetProbablitiy, double salsaDampingFactor, int salsaMaxIterations, double salsaMaxDiff) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
whomToFollowAsync(PgxGraph, PgxVertex, int, int, int, double, double, int, double)
. Calls whomToFollowAsync(PgxGraph, PgxVertex, int, int, int, double, double, int, double)
and waits for the returned PgxFuture
to complete.java.lang.InterruptedException
- if the caller thread gets interrupted while waiting for completion.java.util.concurrent.ExecutionException
- if any exception occurred during asynchronous execution. The actual exception will be nested.public <ID> PgxFuture<Pair<VertexSequence<ID>,VertexSequence<ID>>> whomToFollowAsync(PgxGraph graph, PgxVertex<ID> vertex, int max)
whomToFollowAsync(PgxGraph, PgxVertex, int, int, int, double, double, int, double)
using
graph
- the graphvertex
- the vertexmax
- maximum amount of recommendations to returnpublic <ID> PgxFuture<Pair<VertexSequence<ID>,VertexSequence<ID>>> whomToFollowAsync(PgxGraph graph, PgxVertex<ID> vertex, int max, int circleOfTrustSize, int randomWalkSteps, double randomWalkResetProbablitiy, double salsaDampingFactor, int salsaMaxIterations, double salsaMaxDiff)
This algorithm performs a random walk from v and extracts the top visited vertices to determine the circle of trust. It then creates a BipartiteGraph
with the circle of trust as left set and runs the salsaAsync(BipartiteGraph, int, double, double, int)
recommendation algorithm on that graph to compute the hubs and authorities.
graph
- the graphvertex
- the vertexmax
- maximum amount of recommendations to returncircleOfTrustSize
- maximum size of the circle of trustrandomWalkSteps
- the amount of random walk stepsrandomWalkResetProbablitiy
- likeliness of reset during the random walk (must be between 0.0 and 1.0)salsaDampingFactor
- the damping factor for the SALSA algorithmsalsaMaxIterations
- the maximum amount of iterations for the SALSA algorithmsalsaMaxDiff
- the maximum diff value for the SALSA algorithmCopyright © 2016, 2017 Oracle Corp. All Rights Reserved.