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