Skip to content

Commit 2603921

Browse files
authored
Merge pull request #65 from edmcouncil/github_60
Add fix to to allow private language tags
2 parents 586d02d + 0049365 commit 2603921

File tree

1 file changed

+15
-9
lines changed

1 file changed

+15
-9
lines changed

src/main/java/org/edmcouncil/rdf_toolkit/runner/RdfToolkitRunner.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -126,15 +126,7 @@ private void runOnFile(RdfToolkitOptions rdfToolkitOptions) throws Exception {
126126
IRI replacedPredicate = st.getPredicate();
127127
//Replaced language serialization
128128
if (modelObject instanceof Literal) {
129-
Optional<String> lang = ((Literal) modelObject).getLanguage();
130-
if (lang.isPresent() && lang.get().contains("-")) {
131-
String langString = lang.get();
132-
String[] langTab = langString.split("-");
133-
langTab[1] = langTab[1].toUpperCase();
134-
langString = String.join("-", langTab);
135-
String label = ((Literal) modelObject).getLabel();
136-
modelObject = valueFactory.createLiteral(label, langString);
137-
}
129+
modelObject = secondPartOfLangToUpperCaseIfNotX(modelObject);
138130
}
139131
// Do any URI replacements
140132
if (isIriPatternAndIriReplacementNotNull) {
@@ -220,6 +212,20 @@ private void runOnFile(RdfToolkitOptions rdfToolkitOptions) throws Exception {
220212
targetWriter.close();
221213
}
222214

215+
private Value secondPartOfLangToUpperCaseIfNotX(Value modelObject) {
216+
Optional<String> lang = ((Literal) modelObject).getLanguage();
217+
if (lang.isPresent() && lang.get().contains("-")) {
218+
String langString = lang.get();
219+
String[] langTab = langString.split("-");
220+
// Convert the second part of the language string to uppercase, except if the entire second part is 'x'
221+
if (!langTab[1].equals("x")) { langTab[1] = langTab[1].toUpperCase(); }
222+
langString = String.join("-", langTab);
223+
String label = ((Literal) modelObject).getLabel();
224+
modelObject = valueFactory.createLiteral(label, langString);
225+
}
226+
return modelObject;
227+
}
228+
223229
private Model readModel(RdfToolkitOptions rdfToolkitOptions) {
224230
Model sourceModel = null;
225231
try {

0 commit comments

Comments
 (0)