diff --git a/src/main/java/com/smartharvester/service/MappingService.java b/src/main/java/com/smartharvester/service/MappingService.java index 9291a2dcd5a099417b35d84f9ffa21ed9e20f08b..26dab59f0c4bf2a6d4fd2c8f02318462ba53049f 100644 --- a/src/main/java/com/smartharvester/service/MappingService.java +++ b/src/main/java/com/smartharvester/service/MappingService.java @@ -108,6 +108,8 @@ public class MappingService { case "dct:modified": property += indentifier + " \"" + value + "\"^^xsd:dateTime;\n"; break; + case "dct:publisher": + property += indentifier + "[ a foaf:Agent; foaf:name \"" + value + "\"];\n"; default: property += indentifier + " \"" + value + "\";\n"; break; @@ -137,6 +139,10 @@ public class MappingService { .filter(e -> e.getProperty().equals("dct:hasVersion")).collect(Collectors.toList()).size() == 0) { datasetProperties += "dct:hasVersion \"null\";\n"; } + if (paths.stream().filter(e -> e.getDcatClass().equals("dcat:dataset")) + .filter(e -> e.getProperty().equals("dct:publisher")).collect(Collectors.toList()).size() == 0) { + datasetProperties += "dct:publisher [ a foaf:Agent; foaf:name \"unedefined\"];\n"; + } distributionProperties += "dct:hasVersion \"null\";\n"; for (Path path : paths) { try {