- From: Tim Berners-Lee <timbl@w3.org>
- Date: Thu, 18 Oct 2001 12:07:30 -0400
- To: <w3c-rdfcore-wg@w3.org>
Short version: "SHOULD" in literal equality considered dangerous. Long version: From http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Sep/att-0341/01-liter als.txt in http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Sep/0341.html [4] When comparing two RDF Literals, their Unicode strings MUST be equal for the RDF Literals to compare as equal. If both Literals have language tags, these tags MUST be equal for the Literals to be considered equal. If two Literals are found with equal Unicode strings but only one has a language tag, the Literals SHOULD NOT be considered equal. The idea of any "SHOULD" in the definition of equality for literals for any language give me the creeps. A weakness at the bottom of the foundation tends to imply bad things for the rest. I agent A's assertion that x=y can be translated into a belief by agent B that x may or not equal y depending on how agent A's author read the spec, then I find it difficult to see how we would build anything else on top of it. I would suggest to the group come clean one way or the other - if language tags are in, make their comparison mandatory. For example, I could see this becoming a security hole in anything built on top of RDF. Silly example: I give my name (labeled as French) to pay for something - the merchant checks it against my card, ignoring the language tag difference, but later I can't be made to pay the bill as the debt was by someone whose name was not my name. [Insert more realistic example here]. For all <span xml:lang="gr">x</span> there exists y such that y > x. I am nervous about the effects of langauge tags, I must say. I can see that we will instantly need Properties for dismantling the language and the string, so that rules can be written which ignore the tag if necessary. After all, 99.9% of the string processing going on in all the various languages, strings is strings, with no tags attached (and vice versa). I can see the hidden tag creeping up and bringing systems down - and I don't think SHOULD is an answer. I am wondering about all the strings I have written and whether they are really in English. (What about language tags, for example? :-) Presumably the alternative choices would have been to deprecate the language tags on RDF literals, in favor of either using XML with parsetype literal, <d:name rdf:parseType="literal"><span xml:lang="fr">chat</></> or RDF itself d:name [ lang:french "chat" ]; The latter I of course find by far the most manageable. But I am sure you have all been all around the options. -- Tim BL, as random member of RDF-IG
Received on Thursday, 18 October 2001 12:07:29 UTC