From e0a5f55183b86353d93349058a3406a32f6eb355 Mon Sep 17 00:00:00 2001 From: mereolog Date: Mon, 5 Feb 2024 08:27:19 +0100 Subject: [PATCH 1/2] add fix to lang tag renaming to allow private tags Signed-off-by: mereolog --- .../org/edmcouncil/rdf_toolkit/runner/RdfToolkitRunner.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/edmcouncil/rdf_toolkit/runner/RdfToolkitRunner.java b/src/main/java/org/edmcouncil/rdf_toolkit/runner/RdfToolkitRunner.java index 4463d10..22edb7d 100644 --- a/src/main/java/org/edmcouncil/rdf_toolkit/runner/RdfToolkitRunner.java +++ b/src/main/java/org/edmcouncil/rdf_toolkit/runner/RdfToolkitRunner.java @@ -130,7 +130,7 @@ private void runOnFile(RdfToolkitOptions rdfToolkitOptions) throws Exception { if (lang.isPresent() && lang.get().contains("-")) { String langString = lang.get(); String[] langTab = langString.split("-"); - langTab[1] = langTab[1].toUpperCase(); + if (!"x".equals(langTab[1])) {langTab[1] = langTab[1].toUpperCase();} langString = String.join("-", langTab); String label = ((Literal) modelObject).getLabel(); modelObject = valueFactory.createLiteral(label, langString); From 00493651d3aecb4be90deefa3218a04c6ccfdd42 Mon Sep 17 00:00:00 2001 From: Marcin Kowalski Date: Thu, 22 Feb 2024 12:37:04 +0100 Subject: [PATCH 2/2] fix second part of lang renaming to uppercase --- .../rdf_toolkit/runner/RdfToolkitRunner.java | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/edmcouncil/rdf_toolkit/runner/RdfToolkitRunner.java b/src/main/java/org/edmcouncil/rdf_toolkit/runner/RdfToolkitRunner.java index 22edb7d..ada6967 100644 --- a/src/main/java/org/edmcouncil/rdf_toolkit/runner/RdfToolkitRunner.java +++ b/src/main/java/org/edmcouncil/rdf_toolkit/runner/RdfToolkitRunner.java @@ -126,15 +126,7 @@ private void runOnFile(RdfToolkitOptions rdfToolkitOptions) throws Exception { IRI replacedPredicate = st.getPredicate(); //Replaced language serialization if (modelObject instanceof Literal) { - Optional lang = ((Literal) modelObject).getLanguage(); - if (lang.isPresent() && lang.get().contains("-")) { - String langString = lang.get(); - String[] langTab = langString.split("-"); - if (!"x".equals(langTab[1])) {langTab[1] = langTab[1].toUpperCase();} - langString = String.join("-", langTab); - String label = ((Literal) modelObject).getLabel(); - modelObject = valueFactory.createLiteral(label, langString); - } + modelObject = secondPartOfLangToUpperCaseIfNotX(modelObject); } // Do any URI replacements if (isIriPatternAndIriReplacementNotNull) { @@ -220,6 +212,20 @@ private void runOnFile(RdfToolkitOptions rdfToolkitOptions) throws Exception { targetWriter.close(); } + private Value secondPartOfLangToUpperCaseIfNotX(Value modelObject) { + Optional lang = ((Literal) modelObject).getLanguage(); + if (lang.isPresent() && lang.get().contains("-")) { + String langString = lang.get(); + String[] langTab = langString.split("-"); + // Convert the second part of the language string to uppercase, except if the entire second part is 'x' + if (!langTab[1].equals("x")) { langTab[1] = langTab[1].toUpperCase(); } + langString = String.join("-", langTab); + String label = ((Literal) modelObject).getLabel(); + modelObject = valueFactory.createLiteral(label, langString); + } + return modelObject; + } + private Model readModel(RdfToolkitOptions rdfToolkitOptions) { Model sourceModel = null; try {