diff --git a/service/kg-search-ebrains/src/main/java/eu/ebrains/kg/projects/ebrains/source/DatasetVersionV3.java b/service/kg-search-ebrains/src/main/java/eu/ebrains/kg/projects/ebrains/source/DatasetVersionV3.java index 5c0c85b4..89299578 100644 --- a/service/kg-search-ebrains/src/main/java/eu/ebrains/kg/projects/ebrains/source/DatasetVersionV3.java +++ b/service/kg-search-ebrains/src/main/java/eu/ebrains/kg/projects/ebrains/source/DatasetVersionV3.java @@ -161,6 +161,7 @@ public static class StudiedSpecimen { @Setter public static class StudiedState { private String id; + private String internalIdentifier; private List descendedFrom; private List type; private String additionalRemarks; diff --git a/service/kg-search-ebrains/src/main/java/eu/ebrains/kg/projects/ebrains/translators/utils/SpecimenTranslator.java b/service/kg-search-ebrains/src/main/java/eu/ebrains/kg/projects/ebrains/translators/utils/SpecimenTranslator.java index 32e4a4cc..60270b14 100644 --- a/service/kg-search-ebrains/src/main/java/eu/ebrains/kg/projects/ebrains/translators/utils/SpecimenTranslator.java +++ b/service/kg-search-ebrains/src/main/java/eu/ebrains/kg/projects/ebrains/translators/utils/SpecimenTranslator.java @@ -141,9 +141,12 @@ private static FullNameRef undefinedFullnameRef() { return fullNameRef; } - private static String getLabel(int index) { + private static String getLabel(int index, DatasetVersionV3.StudiedState studiedState) { int base = 'A'; //TODO fix for index > 26 + if (StringUtils.isNotBlank(studiedState.getInternalIdentifier())) { + return studiedState.getInternalIdentifier().trim(); + } return String.valueOf((char) (base + index)); } @@ -185,9 +188,9 @@ private BasicHierarchyElement translateToBasicHierarchyElement(DatasetVe final String parentLabel = translator.calculateLabel(studiedState.getParent()); String label; if (attachRootElementAsChild && StringUtils.isNotBlank(parentLabel)) { - label = getFullStateLabel(translator, getLabel(order), studiedState); + label = getFullStateLabel(translator, getLabel(order, studiedState), studiedState); } else { - label = String.format("State %s", getLabel(order)); + label = String.format("State %s", getLabel(order, studiedState)); } elState.setTitle(label); elState.setData(translator.translateState(studiedState, label)); diff --git a/service/kg-search-ebrains/src/main/resources/queries/datasetVersion.json b/service/kg-search-ebrains/src/main/resources/queries/datasetVersion.json index f2b8b2cf..7154be5f 100644 --- a/service/kg-search-ebrains/src/main/resources/queries/datasetVersion.json +++ b/service/kg-search-ebrains/src/main/resources/queries/datasetVersion.json @@ -1300,6 +1300,10 @@ "propertyName": "query:id", "path": "@id" }, + { + "propertyName": "query:internalIdentifier", + "path": "https://openminds.ebrains.eu/vocab/internalIdentifier" + }, { "propertyName": "query:descendedFrom", "path": [ @@ -1940,6 +1944,10 @@ "propertyName": "query:id", "path": "@id" }, + { + "propertyName": "query:internalIdentifier", + "path": "https://openminds.ebrains.eu/vocab/internalIdentifier" + }, { "propertyName": "query:descendedFrom", "path": [