Skip to content

Commit 0be494c

Browse files
authored
Merge pull request #9908 from lassewesth/diespecs17
migrate estimation cli toundirected to application layer
2 parents 7df101f + 327b131 commit 0be494c

File tree

8 files changed

+35
-207
lines changed

8 files changed

+35
-207
lines changed

algo/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ dependencies {
8080

8181
testImplementation project(':centrality-algorithms')
8282
testImplementation project(':community-algorithms')
83+
testImplementation project(':miscellaneous-algorithms')
8384
testImplementation project(':node-embedding-algorithms')
8485
testImplementation project(':path-finding-algorithms')
8586
testImplementation project(':similarity-algorithms')

algo/src/main/java/org/neo4j/gds/undirected/ToUndirectedAlgorithmFactory.java

Lines changed: 0 additions & 61 deletions
This file was deleted.

algo/src/test/java/org/neo4j/gds/undirected/ToUndirectedTest.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,15 @@
2626
import org.neo4j.gds.RelationshipType;
2727
import org.neo4j.gds.api.Graph;
2828
import org.neo4j.gds.api.GraphStore;
29+
import org.neo4j.gds.applications.algorithms.machinery.ProgressTrackerCreator;
30+
import org.neo4j.gds.applications.algorithms.machinery.RequestScopedDependencies;
31+
import org.neo4j.gds.applications.algorithms.miscellaneous.MiscellaneousAlgorithms;
2932
import org.neo4j.gds.core.Aggregation;
3033
import org.neo4j.gds.core.concurrency.DefaultPool;
3134
import org.neo4j.gds.core.loading.SingleTypeRelationships;
3235
import org.neo4j.gds.core.utils.progress.EmptyTaskRegistryFactory;
3336
import org.neo4j.gds.core.utils.progress.tasks.ProgressTracker;
37+
import org.neo4j.gds.core.utils.warnings.EmptyUserLogRegistryFactory;
3438
import org.neo4j.gds.extension.GdlExtension;
3539
import org.neo4j.gds.extension.GdlGraph;
3640
import org.neo4j.gds.extension.Inject;
@@ -312,22 +316,24 @@ void shouldAggregateWithPropertiesAndLocalAggregation() {
312316
@Test
313317
void shouldLogProgress() {
314318
var log = new GdsTestLog();
319+
var requestScopedDependencies = RequestScopedDependencies.builder()
320+
.taskRegistryFactory(EmptyTaskRegistryFactory.INSTANCE)
321+
.terminationFlag(TerminationFlag.RUNNING_TRUE)
322+
.userLogRegistryFactory(EmptyUserLogRegistryFactory.INSTANCE)
323+
.build();
324+
var progressTrackerCreator = new ProgressTrackerCreator(log, requestScopedDependencies);
325+
var miscellaneousAlgorithms = new MiscellaneousAlgorithms(
326+
progressTrackerCreator,
327+
requestScopedDependencies.terminationFlag()
328+
);
315329

316330
var config = ToUndirectedConfigImpl
317331
.builder()
318332
.concurrency(4)
319333
.relationshipType("T1")
320334
.mutateRelationshipType("T2")
321335
.build();
322-
323-
ToUndirected toUndirected = new ToUndirectedAlgorithmFactory().build(
324-
directedGraphStore,
325-
config,
326-
log,
327-
EmptyTaskRegistryFactory.INSTANCE
328-
);
329-
330-
toUndirected.compute();
336+
miscellaneousAlgorithms.toUndirected(directedGraphStore, config);
331337

332338
var messagesInOrder = log.getMessages(INFO);
333339

algorithm-specifications/src/main/java/org/neo4j/gds/undirected/Constants.java

Lines changed: 0 additions & 26 deletions
This file was deleted.

algorithm-specifications/src/main/java/org/neo4j/gds/undirected/ToUndirectedSpec.java

Lines changed: 0 additions & 84 deletions
This file was deleted.

applications/algorithms/miscellaneous-algorithms/src/main/java/org/neo4j/gds/applications/algorithms/miscellaneous/MiscellaneousAlgorithms.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -50,13 +50,13 @@
5050
import java.util.Set;
5151
import java.util.stream.Collectors;
5252

53-
class MiscellaneousAlgorithms {
53+
public class MiscellaneousAlgorithms {
5454
private final AlgorithmMachinery algorithmMachinery = new AlgorithmMachinery();
5555

5656
private final ProgressTrackerCreator progressTrackerCreator;
5757
private final TerminationFlag terminationFlag;
5858

59-
MiscellaneousAlgorithms(ProgressTrackerCreator progressTrackerCreator, TerminationFlag terminationFlag) {
59+
public MiscellaneousAlgorithms(ProgressTrackerCreator progressTrackerCreator, TerminationFlag terminationFlag) {
6060
this.progressTrackerCreator = progressTrackerCreator;
6161
this.terminationFlag = terminationFlag;
6262
}
@@ -150,7 +150,7 @@ ScalePropertiesResult scaleProperties(Graph graph, ScalePropertiesBaseConfig con
150150
);
151151
}
152152

153-
SingleTypeRelationships toUndirected(GraphStore graphStore, ToUndirectedConfig configuration) {
153+
public SingleTypeRelationships toUndirected(GraphStore graphStore, ToUndirectedConfig configuration) {
154154
var task = Tasks.task(
155155
AlgorithmLabel.ToUndirected.asString(),
156156
Tasks.leaf("Create Undirected Relationships", graphStore.nodeCount()),

applications/algorithms/miscellaneous-algorithms/src/main/java/org/neo4j/gds/applications/algorithms/miscellaneous/MiscellaneousApplicationsEstimationModeBusinessFacade.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,21 @@ public MemoryEstimateResult scaleProperties(
7777
}
7878

7979
public MemoryEstimation toUndirected(ToUndirectedConfig configuration) {
80-
return new ToUndirectedMemoryEstimateDefinition(ToUndirectedConfigTransformer.toMemoryEstimateParameters(configuration)).memoryEstimation();
80+
var parameters = ToUndirectedConfigTransformer.toMemoryEstimateParameters(configuration);
81+
82+
return new ToUndirectedMemoryEstimateDefinition(parameters).memoryEstimation();
83+
}
84+
85+
public MemoryEstimateResult toUndirected(
86+
ToUndirectedConfig configuration,
87+
Object graphNameOrConfiguration
88+
) {
89+
var memoryEstimation = toUndirected(configuration);
90+
91+
return algorithmEstimationTemplate.estimate(
92+
configuration,
93+
graphNameOrConfiguration,
94+
memoryEstimation
95+
);
8196
}
8297
}

procedures/facade-api/miscellaneous-facade-api/src/main/java/org/neo4j/gds/procedures/algorithms/miscellaneous/ToUndirectedMutateResult.java

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
import org.neo4j.gds.applications.algorithms.machinery.AlgorithmProcessingTimings;
2323
import org.neo4j.gds.procedures.algorithms.results.StandardMutateResult;
24-
import org.neo4j.gds.result.AbstractResultBuilder;
2524

2625
import java.util.Map;
2726

@@ -57,26 +56,4 @@ public static ToUndirectedMutateResult emptyFrom(
5756
configurationMap
5857
);
5958
}
60-
61-
public static class Builder extends AbstractResultBuilder<ToUndirectedMutateResult> {
62-
private long inputRelationships;
63-
64-
public Builder withInputRelationships(long inputRelationships) {
65-
this.inputRelationships = inputRelationships;
66-
return this;
67-
}
68-
69-
@Override
70-
public ToUndirectedMutateResult build() {
71-
return new ToUndirectedMutateResult(
72-
preProcessingMillis,
73-
computeMillis,
74-
mutateMillis,
75-
0,
76-
inputRelationships,
77-
relationshipsWritten,
78-
config.toMap()
79-
);
80-
}
81-
}
8259
}

0 commit comments

Comments
 (0)