private void writeNodeFeatures()

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();
    }