diff --git a/dhp-workflows/dhp-rdfconverter/src/main/java/eu/dnetlib/dhp/rdfconverter/utils/RDFConverter.java b/dhp-workflows/dhp-rdfconverter/src/main/java/eu/dnetlib/dhp/rdfconverter/utils/RDFConverter.java index 3822648a3..7908b481e 100644 --- a/dhp-workflows/dhp-rdfconverter/src/main/java/eu/dnetlib/dhp/rdfconverter/utils/RDFConverter.java +++ b/dhp-workflows/dhp-rdfconverter/src/main/java/eu/dnetlib/dhp/rdfconverter/utils/RDFConverter.java @@ -254,6 +254,18 @@ public class RDFConverter { }); }); + dataciteProteins + .stream() + .filter(d -> (d.getSubjects() != null && !d.getSubjects().isEmpty())) + .forEach(d -> { + Map cleanedSubjects = new HashMap<>(); + d.getSubjects().stream().forEach(s -> { + cleanedSubjects.putIfAbsent(s.getValue(), s); + }); + d.getSubjects().clear(); + d.setSubjects(cleanedSubjects.values().stream().collect(Collectors.toList())); + }); + dataciteProteins.forEach(d -> { DataciteProtein.Title title = new DataciteProtein.Title(); title.setTitle(d.getId() + " - ".concat(mainTitles.get(0)));