diff --git a/CHANGELOG.md b/CHANGELOG.md index 500e748ff..3c0e55007 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,12 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [1.13.2] + +### Fixed + +- Harvest also `fdp-o:MetadataService` in FDP Index + ## [1.13.1] ### Changed diff --git a/pom.xml b/pom.xml index 9fe7df1f7..04c9031ee 100644 --- a/pom.xml +++ b/pom.xml @@ -10,7 +10,7 @@ nl.dtls fairdatapoint - 1.13.1 + 1.13.2 jar FairDataPoint diff --git a/src/main/java/nl/dtls/fairdatapoint/service/index/event/MetadataRetrievalUtils.java b/src/main/java/nl/dtls/fairdatapoint/service/index/event/MetadataRetrievalUtils.java index b4ee686a8..502156f3a 100644 --- a/src/main/java/nl/dtls/fairdatapoint/service/index/event/MetadataRetrievalUtils.java +++ b/src/main/java/nl/dtls/fairdatapoint/service/index/event/MetadataRetrievalUtils.java @@ -30,6 +30,8 @@ import nl.dtls.fairdatapoint.entity.index.http.ExchangeDirection; import nl.dtls.fairdatapoint.entity.index.http.ExchangeState; import nl.dtls.fairdatapoint.service.index.entry.IndexEntryService; +import nl.dtls.fairdatapoint.vocabulary.FDP; +import nl.dtls.fairdatapoint.vocabulary.R3D; import org.eclipse.rdf4j.model.IRI; import org.eclipse.rdf4j.model.Resource; import org.eclipse.rdf4j.model.Statement; @@ -54,6 +56,7 @@ import java.time.Duration; import java.time.Instant; import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.Optional; @@ -63,18 +66,17 @@ public class MetadataRetrievalUtils { private static final Integer VERSION = 1; - private static final IRI REPOSITORY = SimpleValueFactory.getInstance().createIRI("http://www.re3data" + - ".org/schema/3-0#Repository"); - - private static final IRI COUNTRY = SimpleValueFactory.getInstance().createIRI("http://www.re3data" + - ".org/schema/3-0#institutionCountry"); + private static final List REPOSITORY_TYPES = List.of( + R3D.REPOSITORY, + FDP.METADATASERVICE + ); private static final Map MAPPING = Map.of( DCTERMS.TITLE, "title", DCTERMS.DESCRIPTION, "description", DCTERMS.HAS_VERSION, "version", DCTERMS.PUBLISHER, "publisher", - COUNTRY, "country" + R3D.COUNTRY, "country" ); private static final HttpClient client = HttpClient.newBuilder() @@ -181,7 +183,7 @@ private static RepositoryMetadata extractRepositoryMetadata(ArrayList private static Optional findRepository(ArrayList statements) { for (Statement st : statements) { - if (st.getPredicate().equals(RDF.TYPE) && st.getObject().equals(REPOSITORY)) { + if (st.getPredicate().equals(RDF.TYPE) && REPOSITORY_TYPES.stream().anyMatch(st.getObject()::equals)) { return Optional.of(st.getSubject()); } } diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 24f6bbe58..7964fa1e7 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -59,7 +59,7 @@ metadataProperties: openapi: title: FAIR Data Point API - version: 1.13.1 + version: 1.13.2 description: "The reference implementation of the metadata registration service: A service implementing the API specification. It contains an authentication system to allow maintainers to define and update metadata. Read-only access to the data is public." contact: name: Luiz Bonino