W3C home > Mailing lists > Public > public-rdf-comments@w3.org > June 2013

Re: What do the resolutions on language tags mean for equality of tagged strings?

From: Gregg Kellogg <gregg@greggkellogg.net>
Date: Sun, 9 Jun 2013 15:48:00 -0700
Cc: <public-rdf-comments@w3.org>
Message-Id: <0246A693-3A56-44DA-854B-2C03673A02CE@greggkellogg.net>
To: Peter Occil <poccil14@gmail.com>
On Jun 9, 2013, at 3:39 PM, Peter Occil <poccil14@gmail.com> wrote:

> I’m referring to the current Editor’s Draft [1], not the current Working Draft.  See section 3.3 of the current Editor’s Draft, in particular the changed definition of “language tag” and “literal equality” (now called “literal term equality”, which is why I used “term equality” and “value equality”).  One of the changes “[i]mplemented [a resolution] regarding rdf:langString case sensitivity” [2].

That resolution just clarifies that the value-space for the language tag is always in lower case. I don't see that that contradicts the current WD, and I don't believe that was the intent. If the value space is always in lower case, then @FR and @fr will compare identically.

This version does make a weaker statement, though, which captures actual practice. RDF 1.0 requires that language tags be normalized to lower case, while RDF 1.1 just says that the value-space is lower case, giving room for implementations to actually store the language tag in the original case, as long as the comparison is performed case-insensitively. IMO, this SHOULD mean that they are the same term, and a store will only have a single triple, where multiple triples would vary only in the case of the language tag.

Gregg

> [1]: https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#
> [2]: https://dvcs.w3.org/hg/rdf/file/0d21aa9127d0/rdf-concepts/index.html
>  
>  
> From: Gregg Kellogg
> Sent: Sunday, June 09, 2013 6:08 PM
> To: Peter Occil
> Cc: public-rdf-comments@w3.org
> Subject: Re: What do the resolutions on language tags mean for equality of tagged strings?
>  
> On Jun 9, 2013, at 7:03 AM, Peter Occil <poccil14@gmail.com> wrote:
> 
>> I see that most of the issues involving language tags have been resolved. I need clarification though about term-equality and "value equality" of language-tagged strings.
>>  
>> First, literal term equality: Are the following literals considered term-equal?
>>  
>>     "chat"@FR
>>     "chat"@fr
>>    
>> I don't think so, since the language tags have different case. I do believe, though, that those two literals have the same value, since both have the string value "chat" and the lower-cased language tag "fr" (only lower-case language tags are in the value space). Am I right?
>  
> RDF Concepts says that [[[two terms are equal if and only if the two lexical forms, the two datatype IRIs, and the two language tags (if any) compare equal character by character]]] [1]. It also says that language tags MUST be normalized to lowercase. I believe this means that the two literals are, in fact, the same term. Furthermore, if a concrete syntax allowed it, I would say that "chat"@fr^^rdf:langString was also the same term, just as "chat" and "chat"^^xsd:string are the same term.
>  
> As it happens, I think that my implementation currently keeps the original case of the language; a future update for RDF 1.1 will likely normalize on creation and gain some performance on comparison.
> 
>> --Peter
> 
>  
> Gregg
>  
> [1] http://www.w3.org/TR/rdf11-concepts/#section-Graph-Literal
Received on Sunday, 9 June 2013 22:48:30 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:29:57 UTC