Skip to content

Commit 8aa0a6f

Browse files
Add k core decomposition to business facade
1 parent 2f7abf5 commit 8aa0a6f

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
@@ -39,6 +39,8 @@
3939
import org.neo4j.gds.hdbscan.Labels;
4040
import org.neo4j.gds.k1coloring.K1ColoringParameters;
4141
import org.neo4j.gds.k1coloring.K1ColoringResult;
42+
import org.neo4j.gds.kcore.KCoreDecompositionParameters;
43+
import org.neo4j.gds.kcore.KCoreDecompositionResult;
4244
import org.neo4j.gds.result.TimedAlgorithmResult;
4345
import org.neo4j.gds.results.ResultTransformerBuilder;
4446

@@ -217,5 +219,34 @@ public <TR> CompletableFuture<TR> k1Coloring(
217219
).thenApply(resultTransformerBuilder.build(graphResources));
218220
}
219221

222+
public <TR> CompletableFuture<TR> kCoreDecomposition(
223+
GraphName graphName,
224+
GraphParameters graphParameters,
225+
Optional<String> relationshipProperty,
226+
KCoreDecompositionParameters parameters,
227+
JobId jobId,
228+
boolean logProgress,
229+
ResultTransformerBuilder<TimedAlgorithmResult<KCoreDecompositionResult>, TR> resultTransformerBuilder
230+
) {
231+
// Fetch the Graph the algorithm will operate on
232+
var graphResources = graphStoreCatalogService.fetchGraphResources(
233+
graphName,
234+
graphParameters,
235+
relationshipProperty,
236+
new UndirectedOnlyGraphStoreValidation("K-Core-Decomposition"),
237+
Optional.empty(),
238+
user,
239+
databaseId
240+
);
241+
var graph = graphResources.graph();
242+
243+
return computeFacade.kCore(
244+
graph,
245+
parameters,
246+
jobId,
247+
logProgress
248+
249+
).thenApply(resultTransformerBuilder.build(graphResources));
250+
}
220251

221252
}

0 commit comments

Comments
 (0)