Skip to content

Commit 0d81834

Browse files
Add modularity optimization to business facade
1 parent 9da8d55 commit 0d81834

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

algorithms-compute-business-facade/src/main/java/org/neo4j/gds/community/CommunityComputeBusinessFacade.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@
5555
import org.neo4j.gds.louvain.LouvainResult;
5656
import org.neo4j.gds.modularity.ModularityParameters;
5757
import org.neo4j.gds.modularity.ModularityResult;
58+
import org.neo4j.gds.modularityoptimization.ModularityOptimizationParameters;
59+
import org.neo4j.gds.modularityoptimization.ModularityOptimizationResult;
5860
import org.neo4j.gds.result.TimedAlgorithmResult;
5961
import org.neo4j.gds.results.ResultTransformerBuilder;
6062
import org.neo4j.gds.triangle.LocalClusteringCoefficientParameters;
@@ -444,5 +446,35 @@ public <TR> CompletableFuture<TR> modularity(
444446
).thenApply(resultTransformerBuilder.build(graphResources));
445447
}
446448

449+
public <TR> CompletableFuture<TR> modularityOptimization(
450+
GraphName graphName,
451+
GraphParameters graphParameters,
452+
Optional<String> relationshipProperty,
453+
ModularityOptimizationParameters parameters,
454+
JobId jobId,
455+
boolean logProgress,
456+
ResultTransformerBuilder<TimedAlgorithmResult<ModularityOptimizationResult>, TR> resultTransformerBuilder
457+
) {
458+
// Fetch the Graph the algorithm will operate on
459+
var graphResources = graphStoreCatalogService.fetchGraphResources(
460+
graphName,
461+
graphParameters,
462+
relationshipProperty,
463+
SeedPropertyGraphStoreValidation.create(parameters.seedProperty().orElse(null)),
464+
Optional.empty(),
465+
user,
466+
databaseId
467+
);
468+
var graph = graphResources.graph();
469+
470+
return computeFacade.modularityOptimization(
471+
graph,
472+
parameters,
473+
jobId,
474+
logProgress
475+
476+
).thenApply(resultTransformerBuilder.build(graphResources));
477+
}
478+
447479

448480
}

0 commit comments

Comments
 (0)