Skip to content

Commit e43ebc8

Browse files
Add wcc to business facade
1 parent def2bd0 commit e43ebc8

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
@@ -43,6 +43,7 @@
4343
import org.neo4j.gds.core.loading.validation.NodePropertyTypeGraphStoreValidation;
4444
import org.neo4j.gds.core.loading.validation.SeedPropertyGraphStoreValidation;
4545
import org.neo4j.gds.core.loading.validation.UndirectedOnlyGraphStoreValidation;
46+
import org.neo4j.gds.core.utils.paged.dss.DisjointSetStruct;
4647
import org.neo4j.gds.hdbscan.HDBScanParameters;
4748
import org.neo4j.gds.hdbscan.Labels;
4849
import org.neo4j.gds.k1coloring.K1ColoringParameters;
@@ -70,6 +71,7 @@
7071
import org.neo4j.gds.triangle.TriangleCountParameters;
7172
import org.neo4j.gds.triangle.TriangleCountResult;
7273
import org.neo4j.gds.triangle.TriangleResult;
74+
import org.neo4j.gds.wcc.WccParameters;
7375

7476
import java.util.List;
7577
import java.util.Optional;
@@ -603,5 +605,35 @@ public <TR> CompletableFuture<TR> triangles(
603605
).thenApply(resultTransformerBuilder.build(graphResources));
604606
}
605607

608+
public <TR> CompletableFuture<TR> wcc(
609+
GraphName graphName,
610+
GraphParameters graphParameters,
611+
Optional<String> relationshipProperty,
612+
WccParameters parameters,
613+
JobId jobId,
614+
boolean logProgress,
615+
ResultTransformerBuilder<TimedAlgorithmResult<DisjointSetStruct>, TR> resultTransformerBuilder
616+
) {
617+
// Fetch the Graph the algorithm will operate on
618+
var graphResources = graphStoreCatalogService.fetchGraphResources(
619+
graphName,
620+
graphParameters,
621+
relationshipProperty,
622+
SeedPropertyGraphStoreValidation.create(parameters.seedProperty().orElse(null)),
623+
Optional.empty(),
624+
user,
625+
databaseId
626+
);
627+
var graph = graphResources.graph();
628+
629+
return computeFacade.wcc(
630+
graph,
631+
parameters,
632+
jobId,
633+
logProgress
634+
635+
).thenApply(resultTransformerBuilder.build(graphResources));
636+
}
637+
606638

607639
}

0 commit comments

Comments
 (0)