Skip to content

Commit 67e7904

Browse files
Add scc to business facade
1 parent 0d81834 commit 67e7904

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
@@ -28,6 +28,7 @@
2828
import org.neo4j.gds.approxmaxkcut.ApproxMaxKCutResult;
2929
import org.neo4j.gds.cliqueCounting.CliqueCountingResult;
3030
import org.neo4j.gds.cliquecounting.CliqueCountingParameters;
31+
import org.neo4j.gds.collections.ha.HugeLongArray;
3132
import org.neo4j.gds.community.validation.ApproxMaxKCutValidation;
3233
import org.neo4j.gds.community.validation.UndirectedAndSeedableGraphStoreValidation;
3334
import org.neo4j.gds.conductance.ConductanceParameters;
@@ -59,6 +60,7 @@
5960
import org.neo4j.gds.modularityoptimization.ModularityOptimizationResult;
6061
import org.neo4j.gds.result.TimedAlgorithmResult;
6162
import org.neo4j.gds.results.ResultTransformerBuilder;
63+
import org.neo4j.gds.scc.SccParameters;
6264
import org.neo4j.gds.triangle.LocalClusteringCoefficientParameters;
6365
import org.neo4j.gds.triangle.LocalClusteringCoefficientResult;
6466

@@ -476,5 +478,34 @@ public <TR> CompletableFuture<TR> modularityOptimization(
476478
).thenApply(resultTransformerBuilder.build(graphResources));
477479
}
478480

481+
public <TR> CompletableFuture<TR> scc(
482+
GraphName graphName,
483+
GraphParameters graphParameters,
484+
Optional<String> relationshipProperty,
485+
SccParameters parameters,
486+
JobId jobId,
487+
boolean logProgress,
488+
ResultTransformerBuilder<TimedAlgorithmResult<HugeLongArray>, TR> resultTransformerBuilder
489+
) {
490+
// Fetch the Graph the algorithm will operate on
491+
var graphResources = graphStoreCatalogService.fetchGraphResources(
492+
graphName,
493+
graphParameters,
494+
relationshipProperty,
495+
new NoAlgorithmValidation(),
496+
Optional.empty(),
497+
user,
498+
databaseId
499+
);
500+
var graph = graphResources.graph();
501+
502+
return computeFacade.scc(
503+
graph,
504+
parameters,
505+
jobId,
506+
logProgress
507+
508+
).thenApply(resultTransformerBuilder.build(graphResources));
509+
}
479510

480511
}

0 commit comments

Comments
 (0)