From 6a804f176b5a977b199e9718a367a9839cbdf4ab Mon Sep 17 00:00:00 2001 From: Enrico Ottonello Date: Thu, 9 Jul 2020 16:35:04 +0200 Subject: [PATCH] removed extent and audience fields, empty values cause error on portal --- .../dnetlib/ariadneplus/elasticsearch/BulkUpload.java | 10 ++++++++++ .../elasticsearch/model/AriadneCatalogEntry.java | 4 ++-- .../ariadneplus/GraphDbReaderAndESIndexTest.java | 8 +++++--- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/BulkUpload.java b/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/BulkUpload.java index 51a0f66..7d0d86b 100644 --- a/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/BulkUpload.java +++ b/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/BulkUpload.java @@ -103,6 +103,16 @@ public class BulkUpload { testPublisher.setName("TEST"); ace.getPublisher().add(testPublisher); String[] splits = ace.getIdentifier().split("/"); + + if (ace.getAatSubjects() != null && ace.getDerivedSubject() != null) { + String aatSource = ace.getAatSubjects().get(0).getId(); + ace.getDerivedSubject().forEach(d -> { + d.setSource(aatSource); + }); + String [] aatSourceSplit = aatSource.split("/"); + String aatSubjectId = aatSourceSplit[aatSourceSplit.length-1]; + ace.getAatSubjects().forEach(s -> s.setId(aatSubjectId)); + } request.add(new IndexRequest(elasticSearchIndexName).id(splits[splits.length-1]) .source(ace.toJson(),XContentType.JSON)); BulkResponse bulkResponse = client.bulk(request, RequestOptions.DEFAULT); diff --git a/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/model/AriadneCatalogEntry.java b/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/model/AriadneCatalogEntry.java index 226edee..c817097 100644 --- a/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/model/AriadneCatalogEntry.java +++ b/dnet-ariadneplus-graphdb-publisher/src/main/java/eu/dnetlib/ariadneplus/elasticsearch/model/AriadneCatalogEntry.java @@ -40,9 +40,9 @@ public class AriadneCatalogEntry { private List temporal; private String accrualPeriodicity = new String(""); - private String audience = new String(""); + private String audience;// IF PRESENT, MUST CONTAIN A VALUE !! private String contactPoint = new String(""); - private String extent = new String(""); + private String extent;// IF PRESENT, MUST CONTAIN A VALUE !! private String providerId = new String(""); private String packageId = new String(""); private String placeName = new String(""); diff --git a/dnet-ariadneplus-graphdb-publisher/test/java/eu/dnetlib/ariadneplus/GraphDbReaderAndESIndexTest.java b/dnet-ariadneplus-graphdb-publisher/test/java/eu/dnetlib/ariadneplus/GraphDbReaderAndESIndexTest.java index d70d3ca..e7bbda0 100644 --- a/dnet-ariadneplus-graphdb-publisher/test/java/eu/dnetlib/ariadneplus/GraphDbReaderAndESIndexTest.java +++ b/dnet-ariadneplus-graphdb-publisher/test/java/eu/dnetlib/ariadneplus/GraphDbReaderAndESIndexTest.java @@ -53,13 +53,15 @@ public class GraphDbReaderAndESIndexTest { BulkUpload bulkUpload = new BulkUpload(); bulkUpload.init(appProps.getProperty("elasticsearch.hostname"),appProps.getProperty("elasticsearch.indexname")); runSPQRLQuery.setBulkUpload(bulkUpload); - String recordId = "https://ariadne-infrastructure.eu/aocat/Collection/ADS/849B1C0F-4C5F-3D8C-9082-CA60DBB4F557"; +// String recordId = "https://ariadne-infrastructure.eu/aocat/Collection/ADS/849B1C0F-4C5F-3D8C-9082-CA60DBB4F557"; + String recordId = "https://ariadne-infrastructure.eu/aocat/Resource/0320AA03-BED9-3F2B-AF5D-E31EE50CAE97"; String datasource = "ads"; String collectionId = "271"; List recordIds = Arrays.asList(recordId); - final ClassPathResource queryTemplateResource = new ClassPathResource("eu/dnetlib/ariadneplus/sparql/read_collection_data_template.sparql"); +// final ClassPathResource queryTemplateResource = new ClassPathResource("eu/dnetlib/ariadneplus/sparql/read_collection_data_template.sparql"); + final ClassPathResource queryTemplateResource = new ClassPathResource("eu/dnetlib/ariadneplus/sparql/read_record_data_template.sparql"); String queryTemplate = IOUtils.toString(queryTemplateResource.getInputStream(), StandardCharsets.UTF_8.name()); - runSPQRLQuery.executeMultipleQueryGraph(queryTemplate, recordIds, datasource, collectionId, true); + runSPQRLQuery.executeMultipleQueryGraph(queryTemplate, recordIds, datasource, collectionId, false); }