diff --git a/common/rdf/src/main/java/dev/enola/rdf/RdfThingConverter.java b/common/rdf/src/main/java/dev/enola/rdf/RdfThingConverter.java index b84526028..1dbce709a 100644 --- a/common/rdf/src/main/java/dev/enola/rdf/RdfThingConverter.java +++ b/common/rdf/src/main/java/dev/enola/rdf/RdfThingConverter.java @@ -134,11 +134,11 @@ private static dev.enola.thing.Value.Builder convert( if (CoreDatatype.XSD.STRING.getIri().equals(datatype)) { value.setString(rdfValue.stringValue()); - } else if (optLang.isPresent()) { - var langString = dev.enola.thing.Value.LangString.newBuilder(); - langString.setText(rdfLiteral.stringValue()); - langString.setLang(optLang.get()); - value.setLangString(langString); + // } else if (optLang.isPresent()) { + // var langString = dev.enola.thing.Value.LangString.newBuilder(); + // langString.setText(rdfLiteral.stringValue()); + // langString.setLang(optLang.get()); + // value.setLangString(langString); } else { var literal = dev.enola.thing.Value.Literal.newBuilder(); diff --git a/common/rdf/src/main/java/dev/enola/rdf/ThingRdfConverter.java b/common/rdf/src/main/java/dev/enola/rdf/ThingRdfConverter.java index 8bd9ba327..6bf1cc6ab 100644 --- a/common/rdf/src/main/java/dev/enola/rdf/ThingRdfConverter.java +++ b/common/rdf/src/main/java/dev/enola/rdf/ThingRdfConverter.java @@ -27,7 +27,6 @@ import dev.enola.common.convert.ConverterInto; import dev.enola.thing.Thing; import dev.enola.thing.ThingOrBuilder; -import dev.enola.thing.Value.LangString; import org.eclipse.rdf4j.model.BNode; import org.eclipse.rdf4j.model.IRI; @@ -118,10 +117,11 @@ yield singleton( vf.createLiteral(literal.getValue(), createIRI(literal.getDatatype()))); } - case LANG_STRING -> { - LangString langString = value.getLangString(); - yield singleton(vf.createLiteral(langString.getText(), langString.getLang())); - } + // case LANG_STRING -> { + // LangString langString = value.getLangString(); + // yield singleton(vf.createLiteral(langString.getText(), + // langString.getLang())); + // } case STRUCT -> { BNode bNode; diff --git a/common/rdf/src/test/resources/picasso.thing.yaml b/common/rdf/src/test/resources/picasso.thing.yaml index c5b18937f..7ac7b1764 100644 --- a/common/rdf/src/test/resources/picasso.thing.yaml +++ b/common/rdf/src/test/resources/picasso.thing.yaml @@ -16,7 +16,7 @@ iri: http://example.enola.dev/Picasso fields: - http://www.w3.org/ns/locn#location: { lang_string: { text: "Spain", lang: en } } + http://www.w3.org/ns/locn#location: { string: "Spain" } # { lang_string: { text: "Spain", lang: en } } # TODO http://www.w3.org/ns/locn#location: { lang_string: { text: "España", lang: es } } http://xmlns.com/foaf/0.1/firstName: { string: "Pablo" } http://www.w3.org/1999/02/22-rdf-syntax-ns#type: { link: { iri: "http://example.enola.dev/Artist" } } diff --git a/common/thing/thing.proto b/common/thing/thing.proto index 757c9df3d..488d4b8fc 100644 --- a/common/thing/thing.proto +++ b/common/thing/thing.proto @@ -54,7 +54,7 @@ message Value { // TODO Keep or remove this? See // https://github.com/enola-dev/enola/pull/540... - LangString lang_string = 4; + // LangString lang_string = 4; // Sub-structure (contained) Thing. Thing struct = 18; @@ -105,13 +105,13 @@ message Value { // TODO Keep or remove this? See // https://github.com/enola-dev/enola/pull/540... - message LangString { - // Text, for humans. - string text = 1; - - // BCP 47 “language tag” (e.g. “de-ch”) of the text. - string lang = 2; - } + // message LangString { + // // Text, for humans. + // string text = 1; + // + // // BCP 47 “language tag” (e.g. “de-ch”) of the text. + // string lang = 2; + // } message List { repeated Value values = 1; diff --git a/t b/t new file mode 100644 index 000000000..444ed9e2b --- /dev/null +++ b/t @@ -0,0 +1,110 @@ + +Δ common/rdf/src/main/java/dev/enola/rdf/RdfThingConverter.java +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + +────────────────────────────────────────────────────────────────────────────────────┐ +• 134: class RdfThingConverter implements Converter<Model, Stream<Thing.Builder>> { │ +────────────────────────────────────────────────────────────────────────────────────┘ + if (CoreDatatype.XSD.STRING.getIri().equals(datatype)) { + value.setString(rdfValue.stringValue()); + + } else if (optLang.isPresent()) { + var langString = dev.enola.thing.Value.LangString.newBuilder(); + langString.setText(rdfLiteral.stringValue()); + langString.setLang(optLang.get()); + value.setLangString(langString); +  // } else if (optLang.isPresent()) { + // var langString = dev.enola.thing.Value.LangString.newBuilder(); + // langString.setText(rdfLiteral.stringValue()); + // langString.setLang(optLang.get()); + // value.setLangString(langString); + + } else { + var literal = dev.enola.thing.Value.Literal.newBuilder(); + +Δ common/rdf/src/main/java/dev/enola/rdf/ThingRdfConverter.java +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + +─────────────────────────────────────────────────┐ +• 27: import dev.enola.common.convert.Converter; │ +─────────────────────────────────────────────────┘ +import dev.enola.common.convert.ConverterInto; +import dev.enola.thing.Thing; +import dev.enola.thing.ThingOrBuilder; +import dev.enola.thing.Value.LangString; + +import org.eclipse.rdf4j.model.BNode; +import org.eclipse.rdf4j.model.IRI; + +───────────────────────────────┐ +• 117: class ThingRdfConverter │ +───────────────────────────────┘ + vf.createLiteral(literal.getValue(), createIRI(literal.getDatatype()))); + } + + case LANG_STRING -> { + LangString langString = value.getLangString(); + yield singleton(vf.createLiteral(langString.getText(), langString.getLang())); + } +  // case LANG_STRING -> { + // LangString langString = value.getLangString(); + // yield singleton(vf.createLiteral(langString.getText(), + // langString.getLang())); +  // } + + case STRUCT -> { + BNode bNode; + +Δ common/rdf/src/test/resources/picasso.thing.yaml +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + +──────┐ +• 16: │ +──────┘ + +iri: http://example.enola.dev/Picasso +fields: + http://www.w3.org/ns/locn#location: { lang_string: { text: "Spain", lang: en } } + http://www.w3.org/ns/locn#location: { string: "Spain" } # { lang_string: { text: "Spain", lang: en } } + # TODO http://www.w3.org/ns/locn#location: { lang_string: { text: "España", lang: es } } + http://xmlns.com/foaf/0.1/firstName: { string: "Pablo" } + http://www.w3.org/1999/02/22-rdf-syntax-ns#type: { link: { iri: "http://example.enola.dev/Artist" } } + +Δ common/thing/thing.proto +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + +──────────────────────┐ +• 54: message Value { │ +──────────────────────┘ + + // TODO Keep or remove this? See + // https://github.com/enola-dev/enola/pull/540... + LangString lang_string = 4; + // LangString lang_string = 4; + + // Sub-structure (contained) Thing. + Thing struct = 18; + +───────────────────────┐ +• 105: message Value { │ +───────────────────────┘ + + // TODO Keep or remove this? See + // https://github.com/enola-dev/enola/pull/540... + message LangString { + // Text, for humans. + string text = 1; + + // BCP 47 “language tag” (e.g. “de-ch”) of the text. + string lang = 2; + } + // message LangString { + //  // Text, for humans. + //  string text = 1; + // + //  // BCP 47 “language tag” (e.g. “de-ch”) of the text. + //  string lang = 2; + // } + + message List { + repeated Value values = 1;