File tree Expand file tree Collapse file tree 2 files changed +32
-2
lines changed
algorithms-compute-business-facade/src/main/java/org/neo4j/gds/community
algorithms-compute-facade/src/main/java/org/neo4j/gds/community Expand file tree Collapse file tree 2 files changed +32
-2
lines changed Original file line number Diff line number Diff line change 6666import org .neo4j .gds .triangle .LocalClusteringCoefficientResult ;
6767import org .neo4j .gds .triangle .TriangleCountParameters ;
6868import org .neo4j .gds .triangle .TriangleCountResult ;
69+ import org .neo4j .gds .triangle .TriangleResult ;
6970
7071import java .util .List ;
7172import java .util .Optional ;
7273import java .util .concurrent .CompletableFuture ;
74+ import java .util .stream .Stream ;
7375
7476public 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}
Original file line number Diff line number Diff line change 3838import org .neo4j .gds .conductance .Conductance ;
3939import org .neo4j .gds .conductance .ConductanceParameters ;
4040import org .neo4j .gds .conductance .ConductanceResult ;
41+ import org .neo4j .gds .core .JobId ;
4142import org .neo4j .gds .core .concurrency .Concurrency ;
4243import org .neo4j .gds .core .concurrency .DefaultPool ;
4344import org .neo4j .gds .core .concurrency .ParallelUtil ;
4445import org .neo4j .gds .core .utils .paged .dss .DisjointSetStruct ;
4546import org .neo4j .gds .core .utils .paged .dss .HugeAtomicDisjointSetStruct ;
46- import org .neo4j .gds .core .JobId ;
4747import org .neo4j .gds .hdbscan .HDBScan ;
4848import org .neo4j .gds .hdbscan .HDBScanParameters ;
4949import 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 (
You can’t perform that action at this time.
0 commit comments