Re: language-tagged literal datatypes

On 22 Aug 2011, at 20:56, Pierre-Antoine Champin wrote:
> On 08/22/2011 07:55 PM, Richard Cyganiak wrote:
>> On 22 Aug 2011, at 17:59, Pierre-Antoine Champin wrote:
>>>> Terminology question. What's the “lexical form” of a language-tagged string?
>>>> 
>>>> a) it's a pair of string and language tag
>>>> b) it's just the string; the language tag is not considered part of the lexical form
>>>> c) it doesn't have one, only typed literals have a lexical form
>>>> 
>>>> My preference would be b), because it seems nicely consistent with the use of the term for typed literals.
>>> 
>>> well, the notion of "lexical form" only makes sense in the context of a
>>> datatype, and in relation with a "value".
>> 
>> Why are you saying that? In RDF 2004, plain literals have a lexical form, despite not having a datatype [1].
> 
> oops, my bad...
> from that perspective, I concur that my proposal 2c may sound a bit
> strange...
> but then I sympathize with Pat: I also find strange that a
> language-tagged string would have a lexical form and a value, but that
> the mapping between the two would not be a L2V mapping... :-/

Again: it's just like RDF 2004 plain literals, which have a lexical form and a value, but no L2V mapping is involved.

(The asymmetry is that rdf:LangString would have a *datatype IRI*, but the datatype's L2V mapping would *not* be used to translate from its abstract syntax form to its value. But all the proposals have *some* asymmetry here.)

> Then, I don't know which one is the more cumbersome: 2b, a single
> magical datatype that maps lexical forms to values without any L2V
> mapping, or 3a, an infinite collection of anonymous datatypes with their
> own L2V mappings (which are *not* the identity mapping, as they map
> "chat" to ("chat", "fr") or ("chat", "en") respectively).

Remember that in this case, rdf:LangString is not a datatype. So I don't see how it's better than the proposal of just making rdf:LangString a class, and making DATATYPE("foo"@en)==rdf:LangString work via an exception in the SPARQL spec.

> In fact, I see both as two interpretations of the same trick.

Almost, but not quite, see above.

Best,
Richard



> 
> So I guess we are converging :-)
> 
>  pa
> 
>> And a typed literal still has a lexical form even if its datatype IRI doesn't actually name a datatype.
>> 
>>> In your proposal,
>>> rdf:LangString is not a real datatype, and there is no L2V mapping, so
>>> at this stage, speaking of the "lexical form" of the language-tagged
>>> string seems pointless to me...
>>> 
>>> I'd rather swallow it all and consider that there is no lexical form,
>> 
>> That would be yet another terminology change from RDF 2004, and I don't see the benefit of that change.
>> 
>> Quoting from [1]:
>> 
>> [[
>> Plain literals have a lexical form and optionally a language tag […].
>> ]]
>> 
>> This reinforces my preference for b) above. The lexical form of "foo"@en in RDF 1.1 should still be the same as the lexical form of "foo"@en in RDF 2004.
>> 
>>> (which, in a sense, is already the case for xsd:string as L2V is the
>>> identity mapping).
>> 
>> Not really. Lexical form and value are identical. That doesn't mean it has no lexical form.
>> 
>>> Note that, if you really want language-tagged strings to have a lexical
>>> value (that does not embed the language tag), you might be interested in
>>> my proposal 3a from another sub-thread...
>> 
>> I don't much like 3 nor 3a. There's lots of mechanics there that just complicate the spec and don't actually *do* anything except mapping A to A, and still it misses the original goal of making DATATYPE("foo"@en) in SPARQL a datatype. Your 2c proposal is simpler and better.
>> 
>> Best,
>> Richard
>> 
>> [1] http://www.w3.org/TR/rdf-concepts/#section-Graph-Literal
>>> 
>>> pa
>>> 
>>>> 
>>>> Best,
>>>> Richard
>>> 
>>> 
>> 
> 
> 

Received on Tuesday, 23 August 2011 09:21:48 UTC