- From: Felix Sasaki <fsasaki@w3.org>
- Date: Mon, 23 Apr 2007 09:21:09 +0900
- To: Addison Phillips <addison@inter-locale.com>
- CC: eric@w3.org, jjc@hpl.hp.com, public-rdf-dawg-comments@w3.org, public-i18n-core@w3.org
I think Addison's mail did unfortunately not reach the lists, so I'm sending it here again. Sorry for being late, Addison. Felix 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 >
Received on Monday, 23 April 2007 00:21:16 UTC