diff --git a/pom.xml b/pom.xml
index 4b499a8..5e5131c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -32,7 +32,7 @@
scm:git:gitea@code-repo.d4science.org:D-Net/dhp-schemas.git
scm:git:gitea@code-repo.d4science.org:D-Net/dhp-schemas.git
https://code-repo.d4science.org/D-Net/dhp-schemas/
- dhp-schemas-2.9.23
+ dhp-schemas-2.9.24
This module contains common schema classes meant to be used across the dnet-hadoop submodules
diff --git a/src/main/java/eu/dnetlib/dhp/schema/common/ModelSupport.java b/src/main/java/eu/dnetlib/dhp/schema/common/ModelSupport.java
index bf0eed1..1aa0d8f 100644
--- a/src/main/java/eu/dnetlib/dhp/schema/common/ModelSupport.java
+++ b/src/main/java/eu/dnetlib/dhp/schema/common/ModelSupport.java
@@ -158,6 +158,21 @@ public class ModelSupport {
}
}
+ /**
+ * Helper method: lookup relation inverse, given the direct relation encoding (case insensitive)
+ * @param encoding
+ * @return the relation inverse descriptor, throws @IllegalArgumentException when not found.
+ */
+ public static RelationInverse findInverse(String encoding) {
+ return ModelSupport.relationInverseMap
+ .entrySet()
+ .stream()
+ .filter(r -> encoding.equalsIgnoreCase(r.getKey()))
+ .findFirst()
+ .map(r -> r.getValue())
+ .orElseThrow(() -> new IllegalArgumentException("invalid relationship: " + encoding));
+ }
+
/**
* Helper method: fina a relation filtering by a relation name
* @param relationName
@@ -181,7 +196,7 @@ public class ModelSupport {
* @return
*/
public static String rel(String relType, String subRelType, String relClass) {
- return String.format("%s-%s-%s", relType, subRelType, relClass);
+ return String.format("%s_%s_%s", relType, subRelType, relClass);
}
private static final String schemeTemplate = "dnet:%s_%s_relations";