in src/main/java/com/amazonaws/services/neptune/profiles/neptune_ml/v1/PropertyGraphTrainingDataConfigWriterV1.java [413:439]
private void writeEdgeFeatures(Label label, Collection<PropertySchema> propertySchemas, LabelSchema labelSchema) throws IOException {
boolean arrayStartHasBeenWritten = false;
for (PropertySchema propertySchema : propertySchemas) {
if (!config.isEdgeClassificationPropertyForEdge(label, propertySchema.nameWithoutDataType())) {
if (!arrayStartHasBeenWritten) {
generator.writeArrayFieldStart("features");
arrayStartHasBeenWritten = true;
}
if (!propertySchema.isMultiValue()) {
if (!config.hasEdgeFeatureOverrideForEdgeProperty(label, propertySchema.nameWithoutDataType())) {
writeNumericalEdgeFeature(label, Collections.singletonList(propertySchema), Norm.min_max, labelSchema);
}
}
}
}
for (FeatureOverrideConfigV1 featureOverride : config.getEdgeFeatureOverrides(label)) {
writeEdgeFeatureOverride(label, featureOverride, propertySchemas, labelSchema);
}
if (arrayStartHasBeenWritten) {
generator.writeEndArray();
}
}