in src/main/java/software/amazon/neptune/csv2rdf/UriPostTransformer.java [201:237]
Statement transform(Statement statement) {
Resource newSubject = null;
IRI newPredicate = null;
Value newObject = null;
Resource newContext = null;
for (UriPostTransformation uriPostTransformation : uriPostTransformations) {
// register the URIs (may be a no-op)
if (newSubject == null && statement.getSubject() instanceof IRI) {
newSubject = uriPostTransformation.apply(statement.getSubject().stringValue());
}
if (newPredicate == null && statement.getPredicate() instanceof IRI) {
newPredicate = uriPostTransformation.apply(statement.getPredicate().stringValue());
}
if (newObject == null && statement.getObject() instanceof IRI) {
newObject = uriPostTransformation.apply(statement.getObject().stringValue());
}
if (newContext == null && statement.getContext() instanceof IRI) {
newContext = uriPostTransformation.apply(statement.getContext().stringValue());
}
}
if (newSubject == null && newPredicate == null && newObject == null && newContext == null) {
return statement;
}
Resource subject = newSubject == null ? statement.getSubject() : newSubject;
IRI predicate = newPredicate == null ? statement.getPredicate() : newPredicate;
Value object = newObject == null ? statement.getObject() : newObject;
Resource context = newContext == null ? statement.getContext() : newContext;
return vf.createStatement(subject, predicate, object, context);
}