- From: Henry Story <henry.story@bblfish.net>
- Date: Mon, 6 Feb 2012 14:08:32 +0100
- To: public-rdf-comments@w3.org
In your latest draft you have a lang tag iri be the same as
http://www.w3.org/1999/02/22-rdf-syntax-ns#langString
[[
A language-tagged string is any literal whose datatype IRI is equal to http://www.w3.org/1999/02/22-rdf-syntax-ns#langString. In addition tolexical form and datatype IRI, a language-tagged string also has:
• 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.
]]
This is great, as it simplifies the model a lot. Now we can have just one simple
notion of a literal, with different notations.
But perhaps it would be better to use a different URI, one dedicated completely to
language tags. Supposing it were for example
http://www.w3.org/1999/02/22-rdf-syntax-ns/lang/
Then it would be extremely easy when looking at a URL to tell if it
was a language tag, and so move back to the @ notation. On the other hand
if you use the rdf syntax notation then testing urls for language
tags is a lot more difficult, because one also has to keep track of other
symbols defined in the rdf namespace.
Ie in one case the test can be
if ( iri startsWith "http://www.w3.org/1999/02/22-rdf-syntax-ns/lang/") new Lang(iri)
else new IRI(iri)
In the other it has to be
if (iri startsWith " http://www.w3.org/1999/02/22-rdf-syntax-ns/" && iri != rdf:type && ... )
else new IRI(iri)
Also language types are bound to be evolving, so that it is not really worth hardcoding a
full list.
Henry
Social Web Architect
http://bblfish.net/
Received on Monday, 6 February 2012 14:59:44 UTC