Re: [OK?] Re: [SPARQL] i18n comment: Modification in description of langMatches operator

Oops - I hadn't read the whole thread.

I will wait and see what Addison says next ...

As is, the comment is being addressed to my satisfaction.

Jeremy

Jeremy Carroll wrote:
> 
> I would be happy with changes as suggested by Addison
> 
> Jeremy
> 
> Addison Phillips wrote:
>> All,
>>
>> I sent comments that were apparently similar to Jeremy's to Felix 
>> privately. The following changes are better, but still not quite right 
>> in my opinion.
>>
>> You have currently proposed:
>>
>> -- 
>> Returns true if language-range (second argument) matches language-tag 
>> (first argument). language-range is a basic language range per 
>> Matching of Language Tags [RFC4647] section 2.1 and the matching 
>> scheme is basic filtering defined in [RFC4647] section 3.3.1. A 
>> language-range of "*" matches any non-empty language-tag string.
>> -- 
>>
>> I observe:
>>
>> 1. Language matching in RFC 4647 is defined in terms of "language 
>> priority lists" made up of "language ranges". It may be useful to 
>> incorporate this concept into SPARQL query. If necessary, you may 
>> limit the list to a single range.
>>
>> 2. The special range "*" usually matches all language tags, including 
>> the empty tag. If it didn't, you would have the problem of not being 
>> able to select contents with no tag except explicitly. That is, to 
>> select everything, you'd need two queries: one for "*" and one for the 
>> empty tag. (Obviously, omitting the langmatches statement has the same 
>> effect, so your current text may be by design??)
>>
>> 3. You don't have a way of specifying the empty tag, or at least you 
>> don't enumerate it. The empty tag only matches itself. That is:
>>
>>  FILTER langMatches( lang(?title), "")
>>
>> only matches items with an xml:lang=""
>>
>> You should call this fact out.
>>
>> I would thus propose that you change your text to something like this:
>>
>> -- 
>> Returns true if the language priority list in the second argument 
>> matches the language tag in the first argument according to the Basic 
>> Filter matching scheme in Matching of Language Tags [RFC 4647] Section 
>> 3.3.1. The language range may consist of one or more basic language 
>> ranges (RFC 4647 Section 2.1) separated by commas or the empty string. 
>> The special range "*" matches all language tag values, including the 
>> empty value, while the empty string matches only items whose language 
>> tag is the empty string.
>> -- 
>>
>> Addison
>>
> 

-- 
Hewlett-Packard Limited
registered Office: Cain Road, Bracknell, Berks RG12 1HN
Registered No: 690597 England

Received on Monday, 23 April 2007 11:00:32 UTC