Skip to content

Commit a441338

Browse files
Merge pull request #10296 from IoannisPanagiotas/remote-mutate-node-embeddings
Node embeddings remote mutate
2 parents 2b7134c + a4d3c47 commit a441338

File tree

16 files changed

+177
-177
lines changed

16 files changed

+177
-177
lines changed

pipeline/src/main/java/org/neo4j/gds/ml/pipeline/stubs/FastRPStub.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@
2626

2727
public class FastRPStub extends AbstractStub<FastRPMutateConfig, DefaultNodeEmbeddingMutateResult> {
2828
protected MutateStub<FastRPMutateConfig, DefaultNodeEmbeddingMutateResult> stub(AlgorithmsProcedureFacade facade) {
29-
return facade.nodeEmbeddings().fastRPMutateStub();
29+
return facade.nodeEmbeddings().stubs().fastRP();
3030
}
3131
}

pipeline/src/main/java/org/neo4j/gds/ml/pipeline/stubs/GraphSageStub.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@
2626

2727
public class GraphSageStub extends AbstractStub<GraphSageMutateConfig, DefaultNodeEmbeddingMutateResult> {
2828
protected MutateStub<GraphSageMutateConfig, DefaultNodeEmbeddingMutateResult> stub(AlgorithmsProcedureFacade facade) {
29-
return facade.nodeEmbeddings().graphSageMutateStub();
29+
return facade.nodeEmbeddings().stubs().graphSage();
3030
}
3131
}

pipeline/src/main/java/org/neo4j/gds/ml/pipeline/stubs/HashGnnStub.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@
2626

2727
public class HashGnnStub extends AbstractStub<HashGNNMutateConfig, DefaultNodeEmbeddingMutateResult> {
2828
protected MutateStub<HashGNNMutateConfig, DefaultNodeEmbeddingMutateResult> stub(AlgorithmsProcedureFacade facade) {
29-
return facade.nodeEmbeddings().hashGnnMutateStub();
29+
return facade.nodeEmbeddings().stubs().hashGnn();
3030
}
3131
}

pipeline/src/main/java/org/neo4j/gds/ml/pipeline/stubs/Node2VecStub.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,6 @@
2626

2727
public class Node2VecStub extends AbstractStub<Node2VecMutateConfig, Node2VecMutateResult> {
2828
protected MutateStub<Node2VecMutateConfig, Node2VecMutateResult> stub(AlgorithmsProcedureFacade facade) {
29-
return facade.nodeEmbeddings().node2VecMutateStub();
29+
return facade.nodeEmbeddings().stubs().node2Vec();
3030
}
3131
}

proc/embeddings/src/main/java/org/neo4j/gds/embeddings/fastrp/FastRPMutateProc.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public Stream<DefaultNodeEmbeddingMutateResult> mutate(
4444
@Name(value = "graphName") String graphName,
4545
@Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
4646
) {
47-
return facade.algorithms().nodeEmbeddings().fastRPMutateStub().execute(graphName, configuration);
47+
return facade.algorithms().nodeEmbeddings().fastRPMutate(graphName, configuration);
4848
}
4949

5050
@Procedure(value = "gds.fastRP.mutate.estimate", mode = READ)
@@ -53,6 +53,6 @@ public Stream<MemoryEstimateResult> estimate(
5353
@Name(value = "graphNameOrConfiguration") Object graphNameOrConfiguration,
5454
@Name(value = "algoConfiguration") Map<String, Object> algoConfiguration
5555
) {
56-
return facade.algorithms().nodeEmbeddings().fastRPMutateStub().estimate(graphNameOrConfiguration, algoConfiguration);
56+
return facade.algorithms().nodeEmbeddings().fastRPMutateEstimate(graphNameOrConfiguration, algoConfiguration);
5757
}
5858
}

proc/embeddings/src/main/java/org/neo4j/gds/embeddings/graphsage/GraphSageMutateProc.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public Stream<DefaultNodeEmbeddingMutateResult> mutate(
4545
@Name(value = "graphName") String graphName,
4646
@Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
4747
) {
48-
return facade.algorithms().nodeEmbeddings().graphSageMutateStub().execute(graphName, configuration);
48+
return facade.algorithms().nodeEmbeddings().graphSageMutate(graphName, configuration);
4949
}
5050

5151
@Procedure(value = "gds.beta.graphSage.mutate.estimate", mode = READ)
@@ -54,6 +54,6 @@ public Stream<MemoryEstimateResult> estimate(
5454
@Name(value = "graphNameOrConfiguration") Object graphNameOrConfiguration,
5555
@Name(value = "algoConfiguration") Map<String, Object> algoConfiguration
5656
) {
57-
return facade.algorithms().nodeEmbeddings().graphSageMutateStub().estimate(graphNameOrConfiguration, algoConfiguration);
57+
return facade.algorithms().nodeEmbeddings().graphSageMutateEstimate(graphNameOrConfiguration, algoConfiguration);
5858
}
5959
}

proc/embeddings/src/main/java/org/neo4j/gds/embeddings/hashgnn/HashGNNMutateProc.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public Stream<DefaultNodeEmbeddingMutateResult> mutate(
4545
@Name(value = "graphName") String graphName,
4646
@Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
4747
) {
48-
return facade.algorithms().nodeEmbeddings().hashGnnMutateStub().execute(graphName, configuration);
48+
return facade.algorithms().nodeEmbeddings().hashGnnMutate(graphName, configuration);
4949
}
5050

5151
@Internal
@@ -70,7 +70,7 @@ public Stream<MemoryEstimateResult> estimate(
7070
@Name(value = "graphNameOrConfiguration") Object graphNameOrConfiguration,
7171
@Name(value = "algoConfiguration") Map<String, Object> algoConfiguration
7272
) {
73-
return facade.algorithms().nodeEmbeddings().hashGnnMutateStub().estimate(
73+
return facade.algorithms().nodeEmbeddings().hashGnnMutateEstimate(
7474
graphNameOrConfiguration,
7575
algoConfiguration
7676
);

proc/embeddings/src/main/java/org/neo4j/gds/embeddings/node2vec/Node2VecMutateProc.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public Stream<Node2VecMutateResult> mutate(
4545
@Name(value = "graphName") String graphName,
4646
@Name(value = "configuration", defaultValue = "{}") Map<String, Object> configuration
4747
) {
48-
return facade.algorithms().nodeEmbeddings().node2VecMutateStub().execute(graphName, configuration);
48+
return facade.algorithms().nodeEmbeddings().node2VecMutate(graphName, configuration);
4949
}
5050

5151
@Procedure(value = "gds.node2vec.mutate.estimate", mode = READ)
@@ -54,7 +54,7 @@ public Stream<MemoryEstimateResult> estimate(
5454
@Name(value = "graphNameOrConfiguration") Object graphNameOrConfiguration,
5555
@Name(value = "algoConfiguration") Map<String, Object> algoConfiguration
5656
) {
57-
return facade.algorithms().nodeEmbeddings().node2VecMutateStub().estimate(graphNameOrConfiguration, algoConfiguration);
57+
return facade.algorithms().nodeEmbeddings().node2VecMutateEstimate(graphNameOrConfiguration, algoConfiguration);
5858
}
5959

6060
@Procedure(value = "gds.beta.node2vec.mutate", mode = READ, deprecatedBy = "gds.node2vec.mutate")

procedures/algorithms-facade/src/main/java/org/neo4j/gds/procedures/algorithms/embeddings/LocalNodeEmbeddingsProcedureFacade.java

Lines changed: 71 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,11 @@
4040
import org.neo4j.gds.embeddings.node2vec.Node2VecStreamConfig;
4141
import org.neo4j.gds.embeddings.node2vec.Node2VecWriteConfig;
4242
import org.neo4j.gds.procedures.algorithms.configuration.UserSpecificConfigurationParser;
43-
import org.neo4j.gds.procedures.algorithms.embeddings.stubs.FastRPMutateStub;
44-
import org.neo4j.gds.procedures.algorithms.embeddings.stubs.GraphSageMutateStub;
45-
import org.neo4j.gds.procedures.algorithms.embeddings.stubs.HashGnnMutateStub;
4643
import org.neo4j.gds.procedures.algorithms.embeddings.stubs.LocalFastRPMutateStub;
4744
import org.neo4j.gds.procedures.algorithms.embeddings.stubs.LocalGraphSageMutateStub;
4845
import org.neo4j.gds.procedures.algorithms.embeddings.stubs.LocalHashGnnMutateStub;
4946
import org.neo4j.gds.procedures.algorithms.embeddings.stubs.LocalNode2VecMutateStub;
50-
import org.neo4j.gds.procedures.algorithms.embeddings.stubs.Node2VecMutateStub;
47+
import org.neo4j.gds.procedures.algorithms.embeddings.stubs.NodeEmbeddingsStubs;
5148
import org.neo4j.gds.procedures.algorithms.stubs.GenericStub;
5249

5350
import java.util.Map;
@@ -56,25 +53,17 @@
5653

5754
public final class LocalNodeEmbeddingsProcedureFacade implements NodeEmbeddingsProcedureFacade {
5855

59-
private final FastRPMutateStub fastRPMutateStub;
60-
private final GraphSageMutateStub graphSageMutateStub;
61-
private final HashGnnMutateStub hashGnnMutateStub;
62-
private final Node2VecMutateStub node2VecMutateStub;
63-
56+
private final NodeEmbeddingsStubs stubs;
6457
private final NodeEmbeddingAlgorithmsEstimationModeBusinessFacade estimationModeBusinessFacade;
6558
private final NodeEmbeddingAlgorithmsStatsModeBusinessFacade statsModeBusinessFacade;
6659
private final NodeEmbeddingAlgorithmsStreamModeBusinessFacade streamModeBusinessFacade;
6760
private final NodeEmbeddingAlgorithmsTrainModeBusinessFacade trainModeBusinessFacade;
6861
private final NodeEmbeddingAlgorithmsWriteModeBusinessFacade writeModeBusinessFacade;
69-
7062
private final UserSpecificConfigurationParser configurationParser;
7163
private final User user;
7264

7365
private LocalNodeEmbeddingsProcedureFacade(
74-
FastRPMutateStub fastRPMutateStub,
75-
GraphSageMutateStub graphSageMutateStub,
76-
HashGnnMutateStub hashGnnMutateStub,
77-
Node2VecMutateStub node2VecMutateStub,
66+
NodeEmbeddingsStubs stubs,
7867
NodeEmbeddingAlgorithmsEstimationModeBusinessFacade estimationModeBusinessFacade,
7968
NodeEmbeddingAlgorithmsStatsModeBusinessFacade statsModeBusinessFacade,
8069
NodeEmbeddingAlgorithmsStreamModeBusinessFacade streamModeBusinessFacade,
@@ -83,10 +72,7 @@ private LocalNodeEmbeddingsProcedureFacade(
8372
UserSpecificConfigurationParser configurationParser,
8473
User user
8574
) {
86-
this.fastRPMutateStub = fastRPMutateStub;
87-
this.graphSageMutateStub = graphSageMutateStub;
88-
this.hashGnnMutateStub = hashGnnMutateStub;
89-
this.node2VecMutateStub = node2VecMutateStub;
75+
this.stubs = stubs;
9076
this.estimationModeBusinessFacade = estimationModeBusinessFacade;
9177
this.statsModeBusinessFacade = statsModeBusinessFacade;
9278
this.streamModeBusinessFacade = streamModeBusinessFacade;
@@ -128,10 +114,12 @@ public static NodeEmbeddingsProcedureFacade create(
128114
);
129115

130116
return new LocalNodeEmbeddingsProcedureFacade(
131-
fastRPMutateStub,
132-
graphSageMutateStub,
133-
hashGnnMutateStub,
134-
node2VecMutateStub,
117+
new NodeEmbeddingsStubs(
118+
fastRPMutateStub,
119+
graphSageMutateStub,
120+
hashGnnMutateStub,
121+
node2VecMutateStub
122+
),
135123
applicationsFacade.nodeEmbeddings().estimate(),
136124
applicationsFacade.nodeEmbeddings().stats(),
137125
applicationsFacade.nodeEmbeddings().stream(),
@@ -142,9 +130,10 @@ public static NodeEmbeddingsProcedureFacade create(
142130
);
143131
}
144132

133+
145134
@Override
146-
public FastRPMutateStub fastRPMutateStub() {
147-
return fastRPMutateStub;
135+
public NodeEmbeddingsStubs stubs() {
136+
return stubs;
148137
}
149138

150139
@Override
@@ -200,6 +189,20 @@ public Stream<MemoryEstimateResult> fastRPStreamEstimate(
200189
return Stream.of(result);
201190
}
202191

192+
@Override
193+
public Stream<DefaultNodeEmbeddingMutateResult> fastRPMutate(String graphName, Map<String, Object> configuration) {
194+
return stubs.fastRP().execute(graphName,configuration);
195+
}
196+
197+
@Override
198+
public Stream<MemoryEstimateResult> fastRPMutateEstimate(
199+
Object graphNameOrConfiguration,
200+
Map<String, Object> algorithmConfiguration
201+
) {
202+
return stubs.fastRP().estimate(graphNameOrConfiguration, algorithmConfiguration);
203+
204+
}
205+
203206
@Override
204207
public Stream<DefaultNodeEmbeddingsWriteResult> fastRPWrite(
205208
String graphName,
@@ -226,10 +229,6 @@ public Stream<MemoryEstimateResult> fastRPWriteEstimate(
226229
return Stream.of(result);
227230
}
228231

229-
@Override
230-
public GraphSageMutateStub graphSageMutateStub() {
231-
return graphSageMutateStub;
232-
}
233232

234233
@Override
235234
public Stream<DefaultNodeEmbeddingsStreamResult> graphSageStream(
@@ -267,6 +266,22 @@ public Stream<MemoryEstimateResult> graphSageStreamEstimate(
267266
return Stream.of(result);
268267
}
269268

269+
@Override
270+
public Stream<DefaultNodeEmbeddingMutateResult> graphSageMutate(
271+
String graphName,
272+
Map<String, Object> configuration
273+
) {
274+
return stubs.graphSage().execute(graphName,configuration);
275+
}
276+
277+
@Override
278+
public Stream<MemoryEstimateResult> graphSageMutateEstimate(
279+
Object graphNameOrConfiguration,
280+
Map<String, Object> algorithmConfiguration
281+
) {
282+
return stubs.graphSage().estimate(graphNameOrConfiguration, algorithmConfiguration);
283+
}
284+
270285
@Override
271286
public Stream<GraphSageTrainResult> graphSageTrain(
272287
String graphName,
@@ -336,10 +351,6 @@ public Stream<MemoryEstimateResult> graphSageWriteEstimate(
336351
return Stream.of(result);
337352
}
338353

339-
@Override
340-
public HashGnnMutateStub hashGnnMutateStub() {
341-
return hashGnnMutateStub;
342-
}
343354

344355
@Override
345356
public Stream<DefaultNodeEmbeddingsStreamResult> hashGnnStream(
@@ -368,13 +379,27 @@ public Stream<MemoryEstimateResult> hashGnnStreamEstimate(
368379
return Stream.of(result);
369380
}
370381

382+
@Override
383+
public Stream<DefaultNodeEmbeddingMutateResult> hashGnnMutate(String graphName, Map<String, Object> configuration) {
384+
return stubs.hashGnn().execute(graphName,configuration);
385+
}
386+
387+
@Override
388+
public Stream<MemoryEstimateResult> hashGnnMutateEstimate(
389+
Object graphNameOrConfiguration,
390+
Map<String, Object> algorithmConfiguration
391+
) {
392+
return stubs.hashGnn().estimate(graphNameOrConfiguration,algorithmConfiguration);
393+
}
394+
371395
@Override
372396
public Stream<DefaultNodeEmbeddingsWriteResult> hashGnnWrite(String graphName, Map<String, Object> configuration) {
373397
var resultBuilder = new HashGNNResultBuilderForWriteMode();
374398
return writeModeBusinessFacade.hashGnn(
375399
GraphName.parse(graphName),
376400
configurationParser.parseConfiguration(configuration, HashGNNWriteConfig::of),
377-
resultBuilder);
401+
resultBuilder
402+
);
378403
}
379404

380405
@Override
@@ -389,11 +414,6 @@ public Stream<MemoryEstimateResult> hashGnnWriteEstimate(
389414
return Stream.of(result);
390415
}
391416

392-
@Override
393-
public Node2VecMutateStub node2VecMutateStub() {
394-
return node2VecMutateStub;
395-
}
396-
397417
@Override
398418
public Stream<DefaultNodeEmbeddingsStreamResult> node2VecStream(
399419
String graphName,
@@ -420,6 +440,19 @@ public Stream<MemoryEstimateResult> node2VecStreamEstimate(
420440
return Stream.of(result);
421441
}
422442

443+
@Override
444+
public Stream<Node2VecMutateResult> node2VecMutate(String graphName, Map<String, Object> configuration) {
445+
return stubs.node2Vec().execute(graphName, configuration);
446+
}
447+
448+
@Override
449+
public Stream<MemoryEstimateResult> node2VecMutateEstimate(
450+
Object graphNameOrConfiguration,
451+
Map<String, Object> algorithmConfiguration
452+
) {
453+
return stubs.node2Vec().estimate(graphNameOrConfiguration, algorithmConfiguration);
454+
}
455+
423456
@Override
424457
public Stream<Node2VecWriteResult> node2VecWrite(
425458
String graphName,

procedures/algorithms-facade/src/main/java/org/neo4j/gds/procedures/algorithms/embeddings/stubs/GraphSageResultBuilderForMutateMode.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
import java.util.Optional;
3131

32-
class GraphSageResultBuilderForMutateMode implements ResultBuilder<GraphSageMutateConfig, GraphSageResult, DefaultNodeEmbeddingMutateResult, NodePropertiesWritten> {
32+
public class GraphSageResultBuilderForMutateMode implements ResultBuilder<GraphSageMutateConfig, GraphSageResult, DefaultNodeEmbeddingMutateResult, NodePropertiesWritten> {
3333
@Override
3434
public DefaultNodeEmbeddingMutateResult build(
3535
Graph graph,

0 commit comments

Comments
 (0)