Currently the literal factory returns xsd:String-literals for strings (the
literal factory only produces typed literals). By contrast EasyGraph (which
is imported by default on the shell converts to Plain Literals as the
following Tests shows:
@Test
def useStringAsObject {
val t = new TripleImpl(new UriRef(("http://example.org/subject")),
new UriRef(("http://example.org/predicate")), "a value")
Assert.assertEquals(new PlainLiteralImpl("a value"), t.getObject)
}
I think for strings that are not natural language it is better to use
xsd:String, so I suggest only to convert literals with a specified language
implicitly to plain literals and use xsd:String otherwise.
Any other opinion on this?
Cheers,
Reto