Skip to content

Commit 4363df3

Browse files
committed
Move Node Embedding algorithm specifications to dedicated module
1 parent a4b8c4e commit 4363df3

37 files changed

+177
-108
lines changed

algorithm-specifications/build.gradle

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,11 @@ dependencies {
2020
implementation project(':community-configs')
2121
implementation project(':community-facade-api')
2222

23+
implementation project(':node-embeddings-configs')
24+
implementation project(':node-embeddings-facade-api')
25+
26+
implementation project(':path-finding-configs')
27+
2328
// `BaseConfig`
2429
implementation project(':config-api')
2530

@@ -28,6 +33,11 @@ dependencies {
2833

2934
implementation project(':executor')
3035

36+
// `TrainBaseConfig`
37+
implementation project(':ml-algo')
38+
39+
// implementation project(':model-catalog-api')
40+
3141
// `PageRank` and variants need this
3242
implementation project(':pregel')
3343

proc/embeddings/src/main/java/org/neo4j/gds/embeddings/fastrp/FastRPCompanion.java renamed to algorithm-specifications/src/main/java/org/neo4j/gds/embeddings/fastrp/Constants.java

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,10 @@
1919
*/
2020
package org.neo4j.gds.embeddings.fastrp;
2121

22-
import org.neo4j.gds.api.properties.nodes.EmptyFloatArrayNodePropertyValues;
23-
import org.neo4j.gds.api.properties.nodes.NodePropertyValues;
24-
import org.neo4j.gds.api.properties.nodes.NodePropertyValuesAdapter;
25-
import org.neo4j.gds.executor.ComputationResult;
26-
27-
final class FastRPCompanion {
22+
final class Constants {
2823

2924
static final String FASTRP_DESCRIPTION = "Random Projection produces node embeddings via the fastrp algorithm";
3025

31-
private FastRPCompanion() {}
32-
33-
static <CONFIG extends FastRPBaseConfig> NodePropertyValues nodeProperties(ComputationResult<FastRP, FastRPResult, CONFIG> computationResult) {
34-
return computationResult.result()
35-
.map(result -> NodePropertyValuesAdapter.adapt(result.embeddings()))
36-
.orElse(EmptyFloatArrayNodePropertyValues.INSTANCE);
37-
}
38-
39-
static NodePropertyValues nodeProperties(FastRPResult result) {
40-
return NodePropertyValuesAdapter.adapt(result.embeddings());
41-
}
26+
private Constants() {}
4227

4328
}

proc/embeddings/src/main/java/org/neo4j/gds/embeddings/fastrp/FastRPMutateSpec.java renamed to algorithm-specifications/src/main/java/org/neo4j/gds/embeddings/fastrp/FastRPMutateSpec.java

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

3232
import static org.neo4j.gds.executor.ExecutionMode.MUTATE_NODE_PROPERTY;
3333

34-
@GdsCallable(name = "gds.fastRP.mutate", description = FastRPCompanion.FASTRP_DESCRIPTION, executionMode = MUTATE_NODE_PROPERTY)
34+
@GdsCallable(name = "gds.fastRP.mutate", description = Constants.FASTRP_DESCRIPTION, executionMode = MUTATE_NODE_PROPERTY)
3535
public class FastRPMutateSpec implements AlgorithmSpec<FastRP, FastRPResult, FastRPMutateConfig, Stream<DefaultNodeEmbeddingMutateResult>, FastRPFactory<FastRPMutateConfig>> {
3636
@Override
3737
public String name() {

proc/embeddings/src/main/java/org/neo4j/gds/embeddings/fastrp/FastRPStatsSpec.java renamed to algorithm-specifications/src/main/java/org/neo4j/gds/embeddings/fastrp/FastRPStatsSpec.java

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

3232
import static org.neo4j.gds.executor.ExecutionMode.STATS;
3333

34-
@GdsCallable(name = "gds.fastRP.stats", description = "Random Projection produces node embeddings via the fastrp algorithm", executionMode = STATS)
34+
@GdsCallable(name = "gds.fastRP.stats", description = Constants.FASTRP_DESCRIPTION, executionMode = STATS)
3535
public class FastRPStatsSpec implements AlgorithmSpec<FastRP, FastRPResult, FastRPStatsConfig, Stream<FastRPStatsResult>, FastRPFactory<FastRPStatsConfig>> {
3636
@Override
3737
public String name() {

proc/embeddings/src/main/java/org/neo4j/gds/embeddings/fastrp/FastRPStreamSpec.java renamed to algorithm-specifications/src/main/java/org/neo4j/gds/embeddings/fastrp/FastRPStreamSpec.java

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

3232
import static org.neo4j.gds.executor.ExecutionMode.STREAM;
3333

34-
@GdsCallable(name = "gds.fastRP.stream", description = FastRPCompanion.FASTRP_DESCRIPTION, executionMode = STREAM)
34+
@GdsCallable(name = "gds.fastRP.stream", description = Constants.FASTRP_DESCRIPTION, executionMode = STREAM)
3535
public class FastRPStreamSpec implements AlgorithmSpec<FastRP, FastRPResult, FastRPStreamConfig, Stream<FastRPStreamResult>, FastRPFactory<FastRPStreamConfig>> {
3636
@Override
3737
public String name() {

proc/embeddings/src/main/java/org/neo4j/gds/embeddings/fastrp/FastRPWriteSpec.java renamed to algorithm-specifications/src/main/java/org/neo4j/gds/embeddings/fastrp/FastRPWriteSpec.java

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

3131
import java.util.stream.Stream;
3232

33-
import static org.neo4j.gds.embeddings.fastrp.FastRPCompanion.FASTRP_DESCRIPTION;
33+
import static org.neo4j.gds.embeddings.fastrp.Constants.FASTRP_DESCRIPTION;
3434

3535
@GdsCallable(name = "gds.fastRP.write", description = FASTRP_DESCRIPTION, executionMode = ExecutionMode.WRITE_NODE_PROPERTY)
3636
public class FastRPWriteSpec implements AlgorithmSpec<FastRP, FastRPResult, FastRPWriteConfig, Stream<DefaultNodeEmbeddingsWriteResult>, FastRPFactory<FastRPWriteConfig>> {
Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,10 @@
1919
*/
2020
package org.neo4j.gds.embeddings.graphsage;
2121

22-
import org.neo4j.gds.api.properties.nodes.EmptyDoubleArrayNodePropertyValues;
23-
import org.neo4j.gds.api.properties.nodes.NodePropertyValues;
24-
import org.neo4j.gds.api.properties.nodes.NodePropertyValuesAdapter;
25-
import org.neo4j.gds.embeddings.graphsage.algo.GraphSageResult;
26-
27-
import java.util.Optional;
28-
29-
public final class GraphSageCompanion {
22+
final class Constants {
3023

3124
static final String GRAPH_SAGE_DESCRIPTION = "The GraphSage algorithm inductively computes embeddings for nodes based on a their features and neighborhoods.";
3225

33-
private GraphSageCompanion() {}
26+
private Constants() {}
3427

35-
static NodePropertyValues nodePropertyValues(Optional<GraphSageResult> graphSageResult) {
36-
return graphSageResult
37-
.map(GraphSageResult::embeddings)
38-
.map(embeddings -> NodePropertyValuesAdapter.adapt(embeddings))
39-
.orElse(EmptyDoubleArrayNodePropertyValues.INSTANCE);
40-
}
4128
}

proc/embeddings/src/main/java/org/neo4j/gds/embeddings/graphsage/GraphSageMutateSpec.java renamed to algorithm-specifications/src/main/java/org/neo4j/gds/embeddings/graphsage/GraphSageMutateSpec.java

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

3535
import java.util.stream.Stream;
3636

37-
import static org.neo4j.gds.embeddings.graphsage.GraphSageCompanion.GRAPH_SAGE_DESCRIPTION;
37+
import static org.neo4j.gds.embeddings.graphsage.Constants.GRAPH_SAGE_DESCRIPTION;
3838
import static org.neo4j.gds.executor.ExecutionMode.MUTATE_NODE_PROPERTY;
3939

4040
@GdsCallable(name = "gds.beta.graphSage.mutate", description = GRAPH_SAGE_DESCRIPTION, executionMode = MUTATE_NODE_PROPERTY)

proc/embeddings/src/main/java/org/neo4j/gds/embeddings/graphsage/GraphSageStreamSpec.java renamed to algorithm-specifications/src/main/java/org/neo4j/gds/embeddings/graphsage/GraphSageStreamSpec.java

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

3535
import java.util.stream.Stream;
3636

37-
import static org.neo4j.gds.embeddings.graphsage.GraphSageCompanion.GRAPH_SAGE_DESCRIPTION;
37+
import static org.neo4j.gds.embeddings.graphsage.Constants.GRAPH_SAGE_DESCRIPTION;
3838
import static org.neo4j.gds.executor.ExecutionMode.STREAM;
3939

4040
@GdsCallable(name = "gds.beta.graphSage.stream", description = GRAPH_SAGE_DESCRIPTION, executionMode = STREAM)

0 commit comments

Comments
 (0)