W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > October 2001

Re: 2001-09-07#5 Literals

From: Pat Hayes <phayes@ai.uwf.edu>
Date: Mon, 22 Oct 2001 18:27:04 -0500
Message-Id: <p0510103cb7fa597838b9@[205.160.76.193]>
To: "Tim Berners-Lee" <timbl@w3.org>
Cc: 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].

I hope that couldn't possibly happen. The 'equality' being discussed 
above is SYNTACTIC equality, ie whether or not those two strings 
should be treated as the very same string. (It would be better to 
call it something else, "identity" or something.) So for example is 
"Paris" in French the same string as "Paris" in English? (Its not 
pronounced the same way, for example.) But whether you say it is or 
it isn't, it still *means* the same French city in French or in 
English. Similarly you, the guy with the card debt, might well have 
more than one name. So the only case that might be a problem would be 
where the same character sequence had a different meaning in two 
different languages and some dumb engine thought that the two strings 
were identical. But then it would clearly be the engine's fault for 
making unreasonable assumptions :-)

Pat
-- 
---------------------------------------------------------------------
IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax
phayes@ai.uwf.edu 
http://www.coginst.uwf.edu/~phayes
Received on Monday, 22 October 2001 19:27:13 EDT

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:41:09 EDT