RE: Rethinking how literals are defined

On Monday, November 18, 2013 7:35 PM, Andy Seaborne wrote:
> On 18/11/13 14:38, Markus Lanthaler wrote:
> > One more thing :-)
> >
> > On Monday, November 18, 2013 3:33 PM, Markus Lanthaler wrote:
> >> --------------%<-----------------------
> >> Literals are used for values such as strings, numbers, and dates.
> >>
> > [...]
> >>
> >> A literal is a language-tagged string if the third element is present.
> >> Lexical representations of language tags MAY be converted to lower
> >> case.
> >> The value space of language tags is always in lower case.
> >
> > A literal is a *typed value* if its datatype IRI does not equal
> > rdf:langString.
> 
> ?? It's always typed in RDF 1.1

Right. Literals consist of language-tagged strings and things that are
literals but not language-tagged strings. I would like to give those things
a name and proposed "typed value".


> I think it's clearer if we say that literals always have a datatype.

Isn't that obvious from the description in the other email ("A literal in an
RDF graph consists of two or three elements...")?


> > This would make it much easier to talk about "literals which are not
> > language-tagged strings".
> 
> Previous email:
> >  - if and only if the datatype IRI is rdf:langString, optionally a
> >    non-empty language tag as defined by [BCP47]. The language tag MUST
be
> >    well-formed according to section 2.2.9 of [BCP47].
> 
> If it has a datatype of rdf:langString then it must have a language
> tag.
> 
> We ought to be clear about:
> 
> "foo"^^rdf:langString

This is not a language-tagged string but still a literal as far as I
understand it. Is that correct?


--
Markus Lanthaler
@markuslanthaler

Received on Monday, 18 November 2013 19:48:48 UTC