Skip to content

Commit 4d4bd0f

Browse files
Add triangles to business facade
1 parent 50ec1d6 commit 4d4bd0f

File tree

2 files changed

+32
-2
lines changed

2 files changed

+32
-2
lines changed

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

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,12 @@
6666
import org.neo4j.gds.triangle.LocalClusteringCoefficientResult;
6767
import org.neo4j.gds.triangle.TriangleCountParameters;
6868
import org.neo4j.gds.triangle.TriangleCountResult;
69+
import org.neo4j.gds.triangle.TriangleResult;
6970

7071
import java.util.List;
7172
import java.util.Optional;
7273
import java.util.concurrent.CompletableFuture;
74+
import java.util.stream.Stream;
7375

7476
public class CommunityComputeBusinessFacade {
7577

@@ -541,5 +543,33 @@ public <TR> CompletableFuture<TR> triangleCount(
541543
).thenApply(resultTransformerBuilder.build(graphResources));
542544
}
543545

546+
public <TR> CompletableFuture<TR> triangles(
547+
GraphName graphName,
548+
GraphParameters graphParameters,
549+
Optional<String> relationshipProperty,
550+
TriangleCountParameters parameters,
551+
JobId jobId,
552+
boolean logProgress,
553+
ResultTransformerBuilder<TimedAlgorithmResult<Stream<TriangleResult>>, TR> resultTransformerBuilder
554+
) {
555+
// Fetch the Graph the algorithm will operate on
556+
var graphResources = graphStoreCatalogService.fetchGraphResources(
557+
graphName,
558+
graphParameters,
559+
relationshipProperty,
560+
TriangleCountGraphStoreValidation.create(parameters.labelFilter()),
561+
Optional.empty(),
562+
user,
563+
databaseId
564+
);
565+
var graph = graphResources.graph();
566+
567+
return computeFacade.triangles(
568+
graph,
569+
parameters,
570+
jobId
571+
).thenApply(resultTransformerBuilder.build(graphResources));
572+
}
573+
544574

545575
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,12 @@
3838
import org.neo4j.gds.conductance.Conductance;
3939
import org.neo4j.gds.conductance.ConductanceParameters;
4040
import org.neo4j.gds.conductance.ConductanceResult;
41+
import org.neo4j.gds.core.JobId;
4142
import org.neo4j.gds.core.concurrency.Concurrency;
4243
import org.neo4j.gds.core.concurrency.DefaultPool;
4344
import org.neo4j.gds.core.concurrency.ParallelUtil;
4445
import org.neo4j.gds.core.utils.paged.dss.DisjointSetStruct;
4546
import org.neo4j.gds.core.utils.paged.dss.HugeAtomicDisjointSetStruct;
46-
import org.neo4j.gds.core.JobId;
4747
import org.neo4j.gds.hdbscan.HDBScan;
4848
import org.neo4j.gds.hdbscan.HDBScanParameters;
4949
import org.neo4j.gds.hdbscan.Labels;
@@ -605,7 +605,7 @@ CompletableFuture<TimedAlgorithmResult<Stream<TriangleResult>>> triangles(
605605
JobId jobId) {
606606

607607
if (graph.isEmpty()) {
608-
return CompletableFuture.completedFuture(TimedAlgorithmResult.empty( Stream.empty()));
608+
return CompletableFuture.completedFuture(TimedAlgorithmResult.empty(Stream.empty()));
609609
}
610610

611611
var algorithm = TriangleStream.create(

0 commit comments

Comments
 (0)