RE: xml:lang [was Re: Outstanding Issues ]

> From: Brian McBride [mailto:bwm@hplb.hpl.hp.com]:
>
> A good reason might have the form "If we do it as m&s says,
> problem x occurs".

This old thing again. Patrick, Jeremy and I did some work on this last
year, it seemed to raise more problems than it solved and annoy more
people than it was worth. If we stay as the M&S says, then I think we
have an obligation to explain, 

1) why the language is a part of a literal, and not say, a property of
it (I think we know the answer to this, but we need to just come out and
say it)?

2) what is meant by "part of"?

3) why only 2 parts?

I don't think that composing a literal of (string, lang) pairs is a
particularly good way of modelling a literal and I don't like giving
language special status, but...my answers:

1) literals can't have properties, but we find xml:lang in the syntax
very handy, so we made it part of a literal.

2) it means not a property of. 

3) the lang part is the only property we think we need at the moment.
Chances are future version of RDF will allow literals to have properties
so don't sweat it.


As an implementer, the para Brian took from the spec:

[[ (P221) The xml:lang attribute may be used as defined by [XML] to 
associate a language with the property value. There is no specific data 
model representation for xml:lang (i.e., it adds no triples to the data 
model); the language of a literal is considered by RDF to be a part of
the 
literal. An application may ignore language tagging of a string. All RDF

applications must specify whether or not language tagging in literals is

significant; that is, whether or not language is considered when
performing 
string matching or other processing.]]

needs to be fixed. There is no way specified way for an RDF application
to signal whether lang tags are significant, specifying MUST here is
ridiculous (what's an RDF application anyway?). Further, if language is
part of a literal why can it be blissfully ignored (why can't I ignore
the string). "An application may ignore language tagging of a string.":
I mean what's a string here? The M&S just moves freely from literal as
<string> with a language tag to literal as <string lang>. 

Please, we all know this is humbug and that lang is an odd man out;
no-one's asking why the string is a part of literal. It's simply that
the syntax is tied too closely to the model at this point in the M&S and
the lang tag is an XML artefact that's crept into the graph. 

If we're keeping literals as (string lang) pairs, then at least remove
the signalling constraint mentioned on applications, being not usefully
enforceable or testable. 

Bill de hÓra

Received on Tuesday, 12 February 2002 11:23:30 UTC