/** * {@inheritDoc} * * Calls Flink Gelly algorithms to compute the global clustering coefficient for an undirected * graph. */ @Override protected LogicalGraph executeInternal(Graph<GradoopId, NullValue, NullValue> gellyGraph) throws Exception { GlobalClusteringCoefficient global = new org.apache.flink.graph.library.clustering.undirected .GlobalClusteringCoefficient<GradoopId, NullValue, NullValue>().run(gellyGraph); currentGraph.getConfig().getExecutionEnvironment().execute(); double globalValue = global.getResult().getGlobalClusteringCoefficientScore(); DataSet<GraphHead> resultHead = currentGraph.getGraphHead() .map(new WritePropertyToGraphHeadMap(ClusteringCoefficientBase.PROPERTY_KEY_GLOBAL, PropertyValue.create(globalValue))); return currentGraph.getConfig().getLogicalGraphFactory().fromDataSets( resultHead, currentGraph.getVertices(), currentGraph.getEdges()); } }
@Override public Result getResult() { // each triangle is counted from each of the three vertices long numberOfTriangles = 3 * triangleCount.getResult(); return new Result(vertexMetrics.getResult().getNumberOfTriplets(), numberOfTriangles); }
@Override public String toString() { return toPrintableString(); }
/** * {@inheritDoc} * * Calls Flink Gelly algorithms to compute the global clustering coefficient for an undirected * graph. */ @Override protected LogicalGraph executeInternal(Graph<GradoopId, NullValue, NullValue> gellyGraph) throws Exception { GlobalClusteringCoefficient global = new org.apache.flink.graph.library.clustering.undirected .GlobalClusteringCoefficient<GradoopId, NullValue, NullValue>().run(gellyGraph); currentGraph.getConfig().getExecutionEnvironment().execute(); double globalValue = global.getResult().getGlobalClusteringCoefficientScore(); DataSet<GraphHead> resultHead = currentGraph.getGraphHead() .map(new WritePropertyToGraphHeadMap(ClusteringCoefficientBase.PROPERTY_KEY_GLOBAL, PropertyValue.create(globalValue))); return currentGraph.getConfig().getLogicalGraphFactory().fromDataSets( resultHead, currentGraph.getVertices(), currentGraph.getEdges()); }
@Override public String toString() { return toPrintableString(); }
@Override public String toPrintableString() { return "triplet count: " + tripletCount + ", triangle count: " + triangleCount + ", global clustering coefficient: " + getGlobalClusteringCoefficientScore(); }
@Override public String toPrintableString() { return "triplet count: " + tripletCount + ", triangle count: " + triangleCount + ", global clustering coefficient: " + getGlobalClusteringCoefficientScore(); }
@Override public Result getResult() { // each triangle is counted from each of the three vertices long numberOfTriangles = 3 * triangleCount.getResult(); return new Result(vertexMetrics.getResult().getNumberOfTriplets(), numberOfTriangles); }
@Override public Result getResult() { // each triangle is counted from each of the three vertices long numberOfTriangles = 3 * triangleCount.getResult(); return new Result(vertexMetrics.getResult().getNumberOfTriplets(), numberOfTriangles); }
@Override public String toPrintableString() { return "triplet count: " + tripletCount + ", triangle count: " + triangleCount + ", global clustering coefficient: " + getGlobalClusteringCoefficientScore(); }
@Override public String toString() { return toPrintableString(); }
@Override public String toPrintableString() { return "triplet count: " + tripletCount + ", triangle count: " + triangleCount + ", global clustering coefficient: " + getGlobalClusteringCoefficientScore(); }
@Override public Result getResult() { // each triangle is counted from each of the three vertices long numberOfTriangles = 3 * triangleCount.getResult(); return new Result(vertexMetrics.getResult().getNumberOfTriplets(), numberOfTriangles); }