Skip to content

Commit d13f1d8

Browse files
Remove more dependencies from algo module
1 parent e815ea8 commit d13f1d8

File tree

15 files changed

+73
-75
lines changed

15 files changed

+73
-75
lines changed

algo/build.gradle

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ dependencies {
3636
implementation project(':community-configs')
3737
implementation project(':ml-configs')
3838
implementation project(':node-embeddings-configs')
39-
implementation project(':path-finding-configs')
4039

4140
implementation project(':collections-memory-estimation')
4241
implementation project(':config-api')
@@ -61,7 +60,6 @@ dependencies {
6160

6261
// TEST DEPENDENCIES
6362
testAnnotationProcessor project(':annotations')
64-
testAnnotationProcessor project(':config-generator')
6563

6664
testImplementation project(':edition-api')
6765
testImplementation project(':test-utils')

algo/src/main/java/org/neo4j/gds/paths/yens/Yens.java

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.neo4j.gds.paths.dijkstra.Dijkstra;
3030
import org.neo4j.gds.paths.dijkstra.PathFindingResult;
3131
import org.neo4j.gds.paths.dijkstra.SingleTarget;
32-
import org.neo4j.gds.paths.yens.config.ShortestPathYensBaseConfig;
3332
import org.neo4j.gds.termination.TerminationFlag;
3433

3534
import java.util.ArrayList;
@@ -47,34 +46,6 @@ public final class Yens extends Algorithm<PathFindingResult> {
4746
private final int k;
4847
private final Concurrency concurrency;
4948

50-
/**
51-
* Configure Yens to compute at most one source-target shortest path.
52-
*/
53-
@Deprecated(forRemoval = true)
54-
public static Yens sourceTarget(
55-
Graph graph,
56-
ShortestPathYensBaseConfig config,
57-
ProgressTracker progressTracker,
58-
TerminationFlag terminationFlag
59-
) {
60-
// If the input graph is a multi-graph, we need to track
61-
// parallel relationships ids. This is necessary since shortest
62-
// paths can visit the same nodes via different relationships.
63-
//If not, we need to track which is the next neighbor.
64-
boolean shouldTrackRelationships = graph.isMultiGraph();
65-
66-
return new Yens(
67-
graph,
68-
shouldTrackRelationships,
69-
graph.toMappedNodeId(config.sourceNode()),
70-
graph.toMappedNodeId(config.targetNode()),
71-
config.k(),
72-
config.concurrency(),
73-
progressTracker,
74-
terminationFlag
75-
);
76-
}
77-
7849
/**
7950
* Configure Yens to compute at most one source-target shortest path.
8051
*/

algo/src/test/java/org/neo4j/gds/embeddings/node2vec/Node2VecMemoryEstimateDefinitionTest.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.junit.jupiter.api.Test;
2323
import org.neo4j.gds.assertions.MemoryEstimationAssert;
2424
import org.neo4j.gds.core.concurrency.Concurrency;
25-
import org.neo4j.gds.traversal.WalkParameters;
2625

2726
import static org.mockito.Mockito.mock;
2827
import static org.mockito.Mockito.when;
@@ -31,11 +30,16 @@ class Node2VecMemoryEstimateDefinitionTest {
3130

3231
@Test
3332
void shouldEstimateMemory() {
34-
var configMock = mock(Node2VecBaseConfig.class);
35-
when(configMock.embeddingDimension()).thenReturn(128);
36-
when(configMock.walkParameters()).thenReturn(new WalkParameters(10, 80, 1.0, 1.0));
3733

38-
var memoryEstimation = new Node2VecMemoryEstimateDefinition(Node2VecConfigTransformer.node2VecParameters(configMock)).memoryEstimation();
34+
var trainParams = mock(TrainParameters.class);
35+
when(trainParams.embeddingDimension()).thenReturn(128);
36+
var samplingWalkParameters = new SamplingWalkParameters(null,10, 80, 1.0, 1.0,1,1,1);
37+
38+
var params = mock(Node2VecParameters.class);
39+
when(params.samplingWalkParameters()).thenReturn(samplingWalkParameters);
40+
when(params.trainParameters()).thenReturn(trainParams);
41+
42+
var memoryEstimation = new Node2VecMemoryEstimateDefinition(params).memoryEstimation();
3943

4044
MemoryEstimationAssert.assertThat(memoryEstimation)
4145
.memoryRange(1000, new Concurrency(1))

algo/src/test/java/org/neo4j/gds/embeddings/node2vec/Node2VecTest.java

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -482,8 +482,33 @@ void shouldLogProgressForNode2Vec() {
482482

483483
var unweighted = graphStore.getGraph(RelationshipType.of("REL"), Optional.empty());
484484

485-
var configuration = Node2VecStreamConfigImpl.builder().embeddingDimension(128).build();
486-
var params = Node2VecConfigTransformer.node2VecParameters(configuration);
485+
var walkParameters = new SamplingWalkParameters(
486+
NO_SOURCE_NODES,
487+
10,
488+
80,
489+
1.0,
490+
1.0,
491+
0.01,
492+
0.75,
493+
1000
494+
);
495+
496+
var trainParameters = new TrainParameters(
497+
0.025,
498+
0.0001,
499+
1,
500+
10,
501+
5,
502+
10,
503+
EmbeddingInitializer.UNIFORM
504+
);
505+
506+
var params = new Node2VecParameters(
507+
walkParameters,
508+
trainParameters,
509+
new Concurrency(4),
510+
Optional.empty()
511+
);
487512

488513
var progressTrackerWithLog = TestProgressTrackerHelper.create(
489514
new NodeEmbeddingsAlgorithmTasks().node2Vec(unweighted, params),
@@ -517,8 +542,33 @@ void shouldLogProgressForNode2Vec() {
517542
@Test
518543
void shouldLogProgressForNode2VecWithRelationshipWeights() {
519544

520-
var configuration = Node2VecStreamConfigImpl.builder().embeddingDimension(128).build();
521-
var params = Node2VecConfigTransformer.node2VecParameters(configuration);
545+
var walkParameters = new SamplingWalkParameters(
546+
NO_SOURCE_NODES,
547+
10,
548+
80,
549+
1.0,
550+
1.0,
551+
0.01,
552+
0.75,
553+
1000
554+
);
555+
556+
var trainParameters = new TrainParameters(
557+
0.025,
558+
0.0001,
559+
1,
560+
10,
561+
5,
562+
10,
563+
EmbeddingInitializer.UNIFORM
564+
);
565+
566+
var params = new Node2VecParameters(
567+
walkParameters,
568+
trainParameters,
569+
new Concurrency(4),
570+
Optional.empty()
571+
);
522572

523573
var progressTrackerWithLog = TestProgressTrackerHelper.create(
524574
new NodeEmbeddingsAlgorithmTasks().node2Vec(graph, params),

algo/src/test/java/org/neo4j/gds/paths/bellmanford/BellmanFordTest.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import org.neo4j.gds.extension.Inject;
3838
import org.neo4j.gds.extension.TestGraph;
3939
import org.neo4j.gds.logging.GdsTestLog;
40-
import org.neo4j.gds.paths.delta.config.AllShortestPathsDeltaStreamConfigImpl;
4140
import org.neo4j.gds.paths.dijkstra.DijkstraFactory;
4241
import org.neo4j.gds.termination.TerminationFlag;
4342

@@ -292,11 +291,6 @@ void shouldGiveSameResultsAsDijkstra() {
292291
.build()
293292
.generate();
294293

295-
var config = AllShortestPathsDeltaStreamConfigImpl.builder()
296-
.concurrency(concurrency)
297-
.sourceNode(start)
298-
.build();
299-
300294
var bellmanFord = new BellmanFord(
301295
newGraph,
302296
ProgressTracker.NULL_TRACKER,
@@ -312,7 +306,7 @@ void shouldGiveSameResultsAsDijkstra() {
312306
var dijkstraAlgo = DijkstraFactory
313307
.singleSource(
314308
newGraph,
315-
config.sourceNode(),
309+
start,
316310
true,
317311
Optional.empty(),
318312
ProgressTracker.NULL_TRACKER,

algo/src/test/java/org/neo4j/gds/paths/traverse/DFSMemoryEstimateDefinitionTest.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,11 @@
2323
import org.neo4j.gds.assertions.MemoryEstimationAssert;
2424
import org.neo4j.gds.core.concurrency.Concurrency;
2525

26-
import static org.mockito.Mockito.mock;
27-
2826
class DFSMemoryEstimateDefinitionTest {
2927

3028
@Test
3129
void testMemoryEstimation(){
3230

33-
var config = mock(DfsBaseConfig.class);
34-
3531
var memoryEstimation = new DfsMemoryEstimateDefinition();
3632

3733
MemoryEstimationAssert.assertThat(memoryEstimation.memoryEstimation())

algo/src/test/java/org/neo4j/gds/paths/yens/YensParallelEdgesTest.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,12 @@
2727
import org.neo4j.gds.extension.GdlGraph;
2828
import org.neo4j.gds.extension.IdFunction;
2929
import org.neo4j.gds.extension.Inject;
30-
import org.neo4j.gds.paths.yens.config.ShortestPathYensStreamConfigImpl;
3130
import org.neo4j.gds.termination.TerminationFlag;
3231

3332
import static org.assertj.core.api.Assertions.assertThat;
3433

3534
@GdlExtension
3635
class YensParallelEdgesTest {
37-
static ShortestPathYensStreamConfigImpl.Builder defaultSourceTargetConfigBuilder() {
38-
return ShortestPathYensStreamConfigImpl.builder().concurrency(1);
39-
}
4036

4137
@GdlGraph
4238
private static final String DB_CYPHER =

algo/src/test/java/org/neo4j/gds/paths/yens/YensTest.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141
import org.neo4j.gds.logging.GdsTestLog;
4242
import org.neo4j.gds.paths.ImmutablePathResult;
4343
import org.neo4j.gds.paths.PathResult;
44-
import org.neo4j.gds.paths.yens.config.ShortestPathYensStreamConfigImpl;
4544
import org.neo4j.gds.termination.TerminationFlag;
4645
import org.s1ck.gdl.GDLHandler;
4746
import org.s1ck.gdl.model.Edge;
@@ -59,9 +58,6 @@
5958

6059
@GdlExtension
6160
class YensTest {
62-
static ShortestPathYensStreamConfigImpl.Builder defaultSourceTargetConfigBuilder(int concurrency) {
63-
return ShortestPathYensStreamConfigImpl.builder().concurrency(concurrency);
64-
}
6561

6662
// https://en.wikipedia.org/wiki/Yen%27s_algorithm#/media/File:Yen's_K-Shortest_Path_Algorithm,_K=3,_A_to_F.gif
6763
@GdlGraph(aggregation = Aggregation.SINGLE)

algo/src/test/java/org/neo4j/gds/wcc/WccBaseConfigTest.java renamed to procedures/facade-api/configs/community-configs/src/test/java/org/neo4j/gds/wcc/WccBaseConfigTest.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import org.junit.jupiter.api.Test;
2323
import org.junit.jupiter.params.ParameterizedTest;
2424
import org.junit.jupiter.params.provider.ValueSource;
25-
import org.neo4j.gds.annotation.Configuration;
2625
import org.neo4j.gds.core.CypherMapWrapper;
2726

2827
import java.util.Map;
@@ -39,7 +38,7 @@ void testThreshold() {
3938
"relationshipWeightProperty", "threshold"
4039
));
4140

42-
var config = TestWccBaseConfig.of(map);
41+
var config = WccStreamConfig.of(map);
4342
assertThat(config.threshold()).isEqualTo(3.14);
4443
}
4544

@@ -50,7 +49,7 @@ void testIntegerThreshold() {
5049
"relationshipWeightProperty", "threshold"
5150
));
5251

53-
var config = TestWccBaseConfig.of(map);
52+
var config = WccStreamConfig.of(map);
5453
assertThat(config.threshold()).isEqualTo(3);
5554
}
5655

@@ -61,7 +60,7 @@ void testConsecutiveIds(boolean consecutiveIds) {
6160
"consecutiveIds", consecutiveIds
6261
));
6362

64-
var config = TestWccBaseConfig.of(map);
63+
var config = WccStreamConfig.of(map);
6564
assertThat(config.consecutiveIds()).isEqualTo(consecutiveIds);
6665
}
6766

@@ -72,7 +71,7 @@ void testFailSeedingAndConsecutiveIds() {
7271
"seedProperty", "seed"
7372
));
7473

75-
assertThatThrownBy(() -> TestWccBaseConfig.of(map))
74+
assertThatThrownBy(() -> WccStreamConfig.of(map))
7675
.hasMessageContaining("Seeding and the `consecutiveIds` option cannot be used at the same time.")
7776
.isInstanceOf(IllegalArgumentException.class);
7877
}
@@ -83,16 +82,11 @@ void testFailThresholdWithoutRelationshipWeight() {
8382
"threshold", 3.14
8483
));
8584

86-
assertThatThrownBy(() -> TestWccBaseConfig.of(map))
85+
assertThatThrownBy(() -> WccStreamConfig.of(map))
8786
.hasMessageContaining("Specifying a threshold requires `relationshipWeightProperty` to be set")
8887
.isInstanceOf(IllegalArgumentException.class);
8988
}
9089

91-
@Configuration
92-
interface TestWccBaseConfig extends WccBaseConfig {
93-
static TestWccBaseConfig of(CypherMapWrapper map) {
94-
return new TestWccBaseConfigImpl(map);
95-
}
96-
}
90+
9791

9892
}
File renamed without changes.

0 commit comments

Comments
 (0)