44
44
public interface LinkPredictionPredictPipelineBaseConfig extends AlgoBaseConfig , SingleThreadedRandomSeedConfig , ModelConfig {
45
45
46
46
double DEFAULT_THRESHOLD = 0.0 ;
47
- String MISSING_INITIAL_SAMPLER = "MISSING_VALUE" ;
48
47
49
48
//TODO make this a parameter
50
49
String graphName ();
@@ -76,19 +75,12 @@ default double sampleRate() {
76
75
@ Configuration .IntegerRange (min = 0 )
77
76
Optional <Integer > randomJoins ();
78
77
79
- default String initialSampler () {
80
- return MISSING_INITIAL_SAMPLER ;
81
- }
78
+ Optional <String > initialSampler ();
82
79
83
80
@ Value .Derived
84
81
@ Configuration .Ignore
85
- default Optional <KnnSampler .SamplerType > derivedSampler () {
86
- String sampler = initialSampler ();
87
- if (sampler .equals (MISSING_INITIAL_SAMPLER )) {
88
- return Optional .empty ();
89
- }
90
-
91
- return KnnSampler .SamplerType .parseToOptional (sampler );
82
+ default Optional <KnnSampler .SamplerType > derivedInitialSampler () {
83
+ return initialSampler ().map (KnnSampler .SamplerType ::parse );
92
84
}
93
85
94
86
@ Value .Check
@@ -105,7 +97,7 @@ default void validateParameterCombinations() {
105
97
"deltaThreshold" , deltaThreshold ().isPresent (),
106
98
"maxIterations" , maxIterations ().isPresent (),
107
99
"randomJoins" , randomJoins ().isPresent (),
108
- "initialSampler" , derivedSampler ().isPresent ());
100
+ "initialSampler" , derivedInitialSampler ().isPresent ());
109
101
validateStrategySpecificParameters (approximateStrategyParameters , "less than 1" );
110
102
111
103
topN ().orElseThrow (()-> MissingParameterExceptions .missingValueFor ("topN" , Collections .emptyList ()));
@@ -147,7 +139,7 @@ default KnnBaseConfig approximateConfig() {
147
139
deltaThreshold ().ifPresent (knnBuilder ::deltaThreshold );
148
140
maxIterations ().ifPresent (knnBuilder ::maxIterations );
149
141
randomJoins ().ifPresent (knnBuilder ::randomJoins );
150
- derivedSampler ().ifPresent (knnBuilder ::initialSampler );
142
+ derivedInitialSampler ().ifPresent (knnBuilder ::initialSampler );
151
143
randomSeed ().ifPresent (knnBuilder ::randomSeed );
152
144
153
145
return knnBuilder .build ();
0 commit comments