in src/main/java/com/amazonaws/services/neptune/profiles/neptune_ml/v2/PropertyGraphTrainingDataConfigWriterV2.java [202:251]
private void writeNodeFeatures(LabelSchema labelSchema) throws IOException {
Label label = labelSchema.label();
Collection<PropertySchema> propertySchemas = labelSchema.propertySchemas();
generator.writeArrayFieldStart("features");
ElementConfig nodeConfig = config.nodeConfig();
for (PropertySchema propertySchema : propertySchemas) {
String column = propertySchema.nameWithoutDataType();
if (nodeConfig.hasClassificationSpecificationForProperty(label, column)) {
continue;
}
if (!config.allowFeatureEncoding()) {
writeNoneFeature(propertySchema);
} else {
if (nodeConfig.allowAutoInferFeature(label, column)) {
writeAutoInferredFeature(propertySchema);
}
if (nodeConfig.hasNoneFeatureSpecification(label, column)) {
writeNoneFeature(propertySchema);
}
if (nodeConfig.hasTfIdfSpecification(label, column)) {
writeTfIdfFeature(propertySchema, nodeConfig.getTfIdfSpecification(label, column));
}
if (nodeConfig.hasDatetimeSpecification(label, column)) {
writeDatetimeFeature(propertySchema, nodeConfig.getDatetimeSpecification(label, column));
}
if (nodeConfig.hasWord2VecSpecification(label, column)) {
writeWord2VecFeature(propertySchema, nodeConfig.getWord2VecSpecification(label, column));
}
if (nodeConfig.hasFastTextSpecification(label, column)) {
writeFastTextFeature(propertySchema, nodeConfig.getFastTextSpecification(label, column));
}
if (nodeConfig.hasSbertSpecification(label, column)) {
writeSbertFeature(propertySchema, nodeConfig.getSbertSpecification(label, column));
}
if (nodeConfig.hasNumericalBucketSpecification(label, column)) {
writeNumericalBucketFeature(propertySchema, nodeConfig.getNumericalBucketSpecification(label, column));
}
}
}
for (FeatureOverrideConfigV2 featureOverride : nodeConfig.getFeatureOverrides(label)) {
writeFeatureOverride(labelSchema, featureOverride, nodeConfig);
}
generator.writeEndArray();
}