Skip to content

Commit 035f107

Browse files
Add Louvain to business facade
1 parent 73b6a4c commit 035f107

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

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

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@
5151
import org.neo4j.gds.labelpropagation.LabelPropagationResult;
5252
import org.neo4j.gds.leiden.LeidenParameters;
5353
import org.neo4j.gds.leiden.LeidenResult;
54+
import org.neo4j.gds.louvain.LouvainParameters;
55+
import org.neo4j.gds.louvain.LouvainResult;
5456
import org.neo4j.gds.result.TimedAlgorithmResult;
5557
import org.neo4j.gds.results.ResultTransformerBuilder;
5658
import org.neo4j.gds.triangle.LocalClusteringCoefficientParameters;
@@ -382,6 +384,35 @@ public <TR> CompletableFuture<TR> leiden(
382384
).thenApply(resultTransformerBuilder.build(graphResources));
383385
}
384386

387+
public <TR> CompletableFuture<TR> louvain(
388+
GraphName graphName,
389+
GraphParameters graphParameters,
390+
Optional<String> relationshipProperty,
391+
LouvainParameters parameters,
392+
JobId jobId,
393+
boolean logProgress,
394+
ResultTransformerBuilder<TimedAlgorithmResult<LouvainResult>, TR> resultTransformerBuilder
395+
) {
396+
// Fetch the Graph the algorithm will operate on
397+
var graphResources = graphStoreCatalogService.fetchGraphResources(
398+
graphName,
399+
graphParameters,
400+
relationshipProperty,
401+
SeedPropertyGraphStoreValidation.create(parameters.seedProperty()),
402+
Optional.empty(),
403+
user,
404+
databaseId
405+
);
406+
var graph = graphResources.graph();
407+
408+
return computeFacade.louvain(
409+
graph,
410+
parameters,
411+
jobId,
412+
logProgress
413+
414+
).thenApply(resultTransformerBuilder.build(graphResources));
415+
}
385416

386417

387418
}

0 commit comments

Comments
 (0)