in src/main/java/software/amazon/neptune/csv2rdf/UriPostTransformer.java [158:187]
private void transformResources(File file, String baseUri) {
log.info("--> Transforming resources in " + file.getName() + "...");
File transformedFile = new File(file.getParentFile(), "transformed." + file.getName());
try (FileOutputStream fos = new FileOutputStream(transformedFile);
FileInputStream fis = new FileInputStream(file)) {
final RDFWriter rdfWriter = Rio.createWriter(PropertyGraph2RdfConverter.RDF_FORMAT, fos);
rdfWriter.startRDF();
RDFParser rdfParser = Rio.createParser(PropertyGraph2RdfConverter.RDF_FORMAT);
rdfParser.setRDFHandler(new AbstractRDFHandler() {
@Override
public void handleStatement(Statement statement) {
Statement statement2 = transform(statement);
rdfWriter.handleStatement(statement2);
}
});
rdfParser.parse(fis, baseUri);
rdfWriter.endRDF();
} catch (UnsupportedRDFormatException | RDFHandlerException | RDFParseException | IOException e) {
throw new Csv2RdfException("Applying URI transformation to file " + file.getAbsolutePath() + " failed.", e);
}
if (!transformedFile.renameTo(file)) {
throw new Csv2RdfException("Transformed file " + transformedFile.getName() + " could not be renamed to: "
+ file.getAbsolutePath());
}
}