W3C home > Mailing lists > Public > public-rdf-comments@w3.org > August 2012

Re: Language-tagged strings

From: Richard Cyganiak <richard@cyganiak.de>
Date: Sat, 11 Aug 2012 18:47:11 +0100
Cc: public-rdf-comments@w3.org
Message-Id: <BB5D723B-C5B3-44F8-96AA-6E8369146855@cyganiak.de>
To: Antoine Zimmermann <antoine.zimmermann@emse.fr>
Hi Antoine,

Thanks for taking the time to draft a proposal. I find the current version more concise and more comprehensible than the proposed rewording. Since no one else has spoken up on this issue, I will exercise editorial discretion and keep the current wording. If you strongly disagree with this, please open an issue so that the chairs can allocate some WG time to this at some point.

Best,
Richard


On 11 Aug 2012, at 13:45, Antoine Zimmermann wrote:
> I understand your concerns but currently, the pattern is:
> 
> """
> An 'X' consists of 'A', 'B'.
> A 'Y' is an 'X' with 'B'=123 and it has an additional 'C'.
> """
> 
> These are two definitions, where the second refers to the first and contradicts it.
> 
> It should be, as you said:
> 
> "An X consists of A, B, and, if and only if B=123, C."
> 
> It is, I admit, difficult to phrase it in a way that is neither verbose nor unclear.
> 
> This is a proposal, I don't know if it's good enough:
> 
> """
> A literal in an RDF graph consists of:
> - a lexical form being a Unicode [UNICODE] string, which should be in Normal Form C [NFC],
> - a datatype IRI being an IRI that establishes the literal value.
> - and, if only if the datatype IRI is equal to http://www.w3.org/1999/02/22-rdf-syntax-ns#langString, a non-empty language tag as defined by [BCP47]. The language tag must be well-formed according to section 2.2.9 of [BCP47], and must be normalized to lowercase.
> 
> A literal that has a language tag is called a "language-tagged string".
> """
> 
> One more sentence could be added to ensure that the "if and only if" is well understood, for instance:
> 
> "So, a literal always has a lexical form and a datatype IRI, but does not have a language tag unless it is a language-tagged string, in which case it MUST have a language tag and the datatype IRI MUST be http://www.w3.org/1999/02/22-rdf-syntax-ns#langString."
> 
> I'm not sure it is necessary, though. I'm not either completely satisfied by the wording.
> 
> 
> I hope this helps.
> AZ.
> 
> 
> Le 10/08/2012 19:18, Richard Cyganiak a écrit :
>> Hi Antoine,
>> 
>> On 10 Aug 2012, at 17:08, Antoine Zimmermann wrote:
>>> The current Editor's draft of RDF Concept (as of 5th June 2012 [1])
>>> defines a language-tagged string as literal [2]. By the definition
>>> of literal above, this means that a language-tagged string consists
>>> of: - a lexical form being a UNICODE string; - a datatype IRI.
>>> 
>>> But it immediately contradicts this by saying that, in addition to
>>> lexical form and datatype IRI, it also has a non-empty language
>>> tag.
>> 
>> It doesn't contradict itself. You have just stopped reading halfway
>> through the definition of "literal".
> >
>> The form of the statement is: "An X consists of A, B, and, if and
>> only if B=123, C." You only read: "An X consists of A, B", and then
>> claimed that the rest is contradictory.
> >
>> Now it could be rephrased to: "An X is either an X1 or an X2. An X1
>> consists of A and B; and B must not be equal to 123. An X2 consists
>> of A, B, and C; and B must be equal to 123." This would be as precise
>> as can be, but would be unnecessarily verbose and complicated, for a
>> net loss in clarity. I don't see the point.
>> 
>>> Literal equality indicates that the definition of literals should
>>> rather be:
>>> 
>>> A literal in an RDF graph consists of: - a lexical form, - a
>>> datatype IRI, - and an optional language tag.
>> 
>> No, because this definition omits the essential fact that a language
>> tag is present if and only if the datatype IRI is rdf:langString.
> >
>>> It would also be possible to simply include the language tag inside
>>> the lexical form like this:
>>> 
>>> A literal in an RDF graph consists of: - a lexical form being a
>>> UNICODE string or a pair <UNICODE-string,BCP47-tag>, - a datatype
>>> IRI.
>>> 
>>> where only the literals with type rdf:langString can have a
>>> language tag.
>> 
>> Incorrect, because rdf:langString *must* have a language tag. And
>> lacks a definition of "language-tagged string".
>> 
>> Can you come up with better wording that is correct, complete, and
>> concise?
>> 
>> Best, Richard
>> 
>> 
>> 
>> 
>>> Then equality would be defined like this:
>>> 
>>> Literal equality: Two literals are equal if and only if the two
>>> lexical forms (including possibly the language tag) and the two
>>> datatype IRIs compare equal, character by character.
>>> 
>>> 
>>> [1] RDF 1.1 Concepts and Abstract Syntax - W3C Editor's Draft 05
>>> June 2012.
>>> http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html
>>> [2] 3.3 Literals, in [1].
>>> http://dvcs.w3.org/hg/rdf/raw-file/default/rdf-concepts/index.html#section-Graph-Literal
>>> 
>>> 
> -- 
>>> Antoine Zimmermann ISCOD / LSTI - Institut Henri Fayol École
>>> Nationale Supérieure des Mines de Saint-Étienne 158 cours Fauriel
>>> 42023 Saint-Étienne Cedex 2 France Tél:+33(0)4 77 42 66 03
>>> Fax:+33(0)4 77 42 66 66 http://zimmer.aprilfoolsreview.com/
>>> 
>> 
>> 
>> 
> 
> 
> -- 
> Antoine Zimmermann
> ISCOD / LSTI - Institut Henri Fayol
> École Nationale Supérieure des Mines de Saint-Étienne
> 158 cours Fauriel
> 42023 Saint-Étienne Cedex 2
> France
> Tél:+33(0)4 77 42 83 36
> Fax:+33(0)4 77 42 66 66
> http://zimmer.aprilfoolsreview.com/
> 
Received on Saturday, 11 August 2012 17:47:36 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:29:53 UTC