Skip to content

Commit 9dd1fd4

Browse files
authored
Merge pull request #10319 from vnickolov/remote-community-write
remote community write
2 parents 16e962e + 2820f35 commit 9dd1fd4

File tree

3 files changed

+33
-138
lines changed

3 files changed

+33
-138
lines changed

procedures/facade-api/community-facade-api/src/main/java/org/neo4j/gds/procedures/algorithms/community/K1ColoringWriteResult.java

Lines changed: 10 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -23,38 +23,16 @@
2323

2424
import java.util.Map;
2525

26-
public class K1ColoringWriteResult {
27-
public final long preProcessingMillis;
28-
public final long computeMillis;
29-
public final long writeMillis;
30-
31-
public final long nodeCount;
32-
public final long colorCount;
33-
public final long ranIterations;
34-
public final boolean didConverge;
35-
36-
public Map<String, Object> configuration;
37-
38-
public K1ColoringWriteResult(
39-
long preProcessingMillis,
40-
long computeMillis,
41-
long writeMillis,
42-
long nodeCount,
43-
long colorCount,
44-
long ranIterations,
45-
boolean didConverge,
46-
Map<String, Object> configuration
47-
) {
48-
this.preProcessingMillis = preProcessingMillis;
49-
this.computeMillis = computeMillis;
50-
this.writeMillis = writeMillis;
51-
this.nodeCount = nodeCount;
52-
this.colorCount = colorCount;
53-
this.ranIterations = ranIterations;
54-
this.didConverge = didConverge;
55-
this.configuration = configuration;
56-
}
57-
26+
public record K1ColoringWriteResult(
27+
long preProcessingMillis,
28+
long computeMillis,
29+
long writeMillis,
30+
long nodeCount,
31+
long colorCount,
32+
long ranIterations,
33+
boolean didConverge,
34+
Map<String, Object> configuration
35+
) {
5836
static K1ColoringWriteResult emptyFrom(AlgorithmProcessingTimings timings, Map<String, Object> configurationMap) {
5937
return new K1ColoringWriteResult(
6038
timings.preProcessingMillis,

procedures/facade-api/community-facade-api/src/main/java/org/neo4j/gds/procedures/algorithms/community/KCoreDecompositionWriteResult.java

Lines changed: 10 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -20,28 +20,19 @@
2020
package org.neo4j.gds.procedures.algorithms.community;
2121

2222
import org.neo4j.gds.applications.algorithms.machinery.AlgorithmProcessingTimings;
23-
import org.neo4j.gds.procedures.algorithms.results.StandardWriteResult;
24-
import org.neo4j.gds.result.AbstractResultBuilder;
23+
import org.neo4j.gds.procedures.algorithms.results.WriteNodePropertiesResult;
2524

2625
import java.util.Map;
2726

28-
public class KCoreDecompositionWriteResult extends StandardWriteResult {
29-
public final long nodePropertiesWritten;
30-
public final long degeneracy;
31-
32-
public KCoreDecompositionWriteResult(
33-
long nodePropertiesWritten,
34-
long degeneracy,
35-
long preProcessingMillis,
36-
long computeMillis,
37-
long postProcessingMillis,
38-
long writeMillis,
39-
Map<String, Object> configuration
40-
) {
41-
super(preProcessingMillis, computeMillis, postProcessingMillis, writeMillis, configuration);
42-
this.nodePropertiesWritten = nodePropertiesWritten;
43-
this.degeneracy = degeneracy;
44-
}
27+
public record KCoreDecompositionWriteResult(
28+
long nodePropertiesWritten,
29+
long degeneracy,
30+
long preProcessingMillis,
31+
long computeMillis,
32+
long postProcessingMillis,
33+
long writeMillis,
34+
Map<String, Object> configuration
35+
) implements WriteNodePropertiesResult {
4536

4637
static KCoreDecompositionWriteResult emptyFrom(
4738
AlgorithmProcessingTimings timings,
@@ -57,25 +48,4 @@ static KCoreDecompositionWriteResult emptyFrom(
5748
configurationMap
5849
);
5950
}
60-
61-
public static final class Builder extends AbstractResultBuilder<KCoreDecompositionWriteResult> {
62-
private long degeneracy;
63-
64-
public Builder withDegeneracy(long degeneracy) {
65-
this.degeneracy = degeneracy;
66-
return this;
67-
}
68-
69-
public KCoreDecompositionWriteResult build() {
70-
return new KCoreDecompositionWriteResult(
71-
nodePropertiesWritten,
72-
degeneracy,
73-
preProcessingMillis,
74-
computeMillis,
75-
-1L,
76-
writeMillis,
77-
config.toMap()
78-
);
79-
}
80-
}
8151
}

procedures/facade-api/community-facade-api/src/main/java/org/neo4j/gds/procedures/algorithms/community/ModularityOptimizationWriteResult.java

Lines changed: 13 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -19,51 +19,24 @@
1919
*/
2020
package org.neo4j.gds.procedures.algorithms.community;
2121

22-
import org.neo4j.gds.api.ProcedureReturnColumns;
2322
import org.neo4j.gds.applications.algorithms.machinery.AlgorithmProcessingTimings;
24-
import org.neo4j.gds.core.concurrency.Concurrency;
2523

2624
import java.util.Collections;
2725
import java.util.Map;
2826

29-
public class ModularityOptimizationWriteResult {
30-
public final long preProcessingMillis;
31-
public final long computeMillis;
32-
public final long writeMillis;
33-
public final long postProcessingMillis;
34-
public final long nodes;
35-
public boolean didConverge;
36-
public long ranIterations;
37-
public double modularity;
38-
public final long communityCount;
39-
public final Map<String, Object> communityDistribution;
40-
public final Map<String, Object> configuration;
41-
42-
public ModularityOptimizationWriteResult(
43-
long preProcessingMillis,
44-
long computeMillis,
45-
long postProcessingMillis,
46-
long writeMillis,
47-
long nodes,
48-
boolean didConverge,
49-
long ranIterations,
50-
double modularity,
51-
long communityCount,
52-
Map<String, Object> communityDistribution,
53-
Map<String, Object> configuration
54-
) {
55-
this.preProcessingMillis = preProcessingMillis;
56-
this.computeMillis = computeMillis;
57-
this.writeMillis = writeMillis;
58-
this.postProcessingMillis = postProcessingMillis;
59-
this.nodes = nodes;
60-
this.didConverge = didConverge;
61-
this.ranIterations = ranIterations;
62-
this.modularity = modularity;
63-
this.communityCount = communityCount;
64-
this.communityDistribution = communityDistribution;
65-
this.configuration = configuration;
66-
}
27+
public record ModularityOptimizationWriteResult(
28+
long preProcessingMillis,
29+
long computeMillis,
30+
long postProcessingMillis,
31+
long writeMillis,
32+
long nodes,
33+
boolean didConverge,
34+
long ranIterations,
35+
double modularity,
36+
long communityCount,
37+
Map<String, Object> communityDistribution,
38+
Map<String, Object> configuration
39+
) {
6740

6841
static ModularityOptimizationWriteResult emptyFrom(
6942
AlgorithmProcessingTimings timings,
@@ -83,30 +56,4 @@ static ModularityOptimizationWriteResult emptyFrom(
8356
configurationMap
8457
);
8558
}
86-
87-
public static class Builder extends ModularityOptimizationResultBuilder<ModularityOptimizationWriteResult> {
88-
public Builder(
89-
ProcedureReturnColumns returnColumns,
90-
Concurrency concurrency
91-
) {
92-
super(returnColumns, concurrency);
93-
}
94-
95-
@Override
96-
protected ModularityOptimizationWriteResult buildResult() {
97-
return new ModularityOptimizationWriteResult(
98-
preProcessingMillis,
99-
computeMillis,
100-
postProcessingDuration,
101-
writeMillis,
102-
nodeCount,
103-
didConverge,
104-
ranIterations,
105-
modularity,
106-
maybeCommunityCount.orElse(0),
107-
communityHistogramOrNull(),
108-
config.toMap()
109-
);
110-
}
111-
}
11259
}

0 commit comments

Comments
 (0)