in src/main/java/software/amazon/neptune/csv2rdf/NeptuneCsvInputParser.java [274:297]
private static NeptunePropertyGraphEdge create(NeptuneCsvEdgeHeader header, CSVRecord record) {
String id = header.getId() == null ? null : getValueIfExists(record, header.getId());
String from = getValueIfExists(record, header.getFrom());
String to = getValueIfExists(record, header.getTo());
String label = getValueIfExists(record, header.getLabel());
NeptunePropertyGraphEdge edge = new NeptunePropertyGraphEdge(id, from, to, label);
for (NeptuneCsvUserDefinedColumn userDefinedType : header.getUserDefinedTypes()) {
if (userDefinedType.getCardinality() == Cardinality.SET) {
throw new Csv2RdfException("Set-valued types are not allowed for edges: " + userDefinedType.getName());
}
String fieldValue = getValueIfExists(record, userDefinedType.getIndex());
if (fieldValue == null || fieldValue.isEmpty()) {
continue;
}
edge.add(new NeptuneCsvSingleValuedUserDefinedProperty(userDefinedType.getName(),
userDefinedType.getDataType(), fieldValue));
}
return edge;
}