private static NeptunePropertyGraphVertex create()

in src/main/java/software/amazon/neptune/csv2rdf/NeptuneCsvInputParser.java [308:351]


	private static NeptunePropertyGraphVertex create(NeptuneCsvVertexHeader header, CSVRecord record) {

		String id = header.getId() == null ? null : getValueIfExists(record, header.getId());
		NeptunePropertyGraphVertex vertex = new NeptunePropertyGraphVertex(id);

		for (NeptuneCsvUserDefinedColumn userDefinedType : header.getUserDefinedTypes()) {
			String fieldValue = getValueIfExists(record, userDefinedType.getIndex());
			if (fieldValue == null || fieldValue.isEmpty()) {
				continue;
			}
			switch (userDefinedType.getCardinality()) {
			case SINGLE:
				vertex.add(new NeptuneCsvSingleValuedUserDefinedProperty(userDefinedType.getName(),
						userDefinedType.getDataType(), fieldValue));
				break;
			case SET:
			case DEFAULT:
				if (userDefinedType.isArray()) {
					vertex.add(new NeptuneCsvUserDefinedArrayProperty(userDefinedType.getName(),
							userDefinedType.getDataType(), fieldValue));
				} else {
					vertex.add(new NeptuneCsvSetValuedUserDefinedProperty(userDefinedType.getName(),
							userDefinedType.getDataType(), fieldValue));
				}
				break;
			default:
				break;

			}
		}

		String labels = header.getLabel() == null ? null : getValueIfExists(record, header.getLabel());
		if (labels == null) {
			return vertex;
		}

		for (String labelValue : labels.split(NeptuneCsvUserDefinedColumn.ARRAY_VALUE_SEPARATOR)) {
			if (labelValue != null && !labelValue.isEmpty()) {
				vertex.add(labelValue);
			}
		}

		return vertex;
	}