lang

On 12/12/13 11:16, Markus Lanthaler wrote:

> This is completely off-topic and I'm asking it just out of curiosity: What
> would break if we would have decided to define a datatype for each language.
> So instead of rdf:langString we would have had something like rdf:lang-xxx
> similar to the container membership properties rdf:_xx:
>
>    <> rdfs:comment "An explanation in English"^^rdf:lang-en
>

We ended up here, at least in part, because XML has language tag and 
they are not datatypes.

They are case-insensitive matches.

"An explanation in English"^^rdf:lang-en
owl:sameAs
"An explanation in English"^^rdf:lang-EN

and
RFC4647 "Matching of Language Tags"

Language tags can be compared in ways that classes can't

  "en-us" lang-matches "en"
  "en-us" lang-matches "en-*"

so inheritance-ishness in datatypes is needed, but it's not like XSD 
derived types on the same value space.

It seems to me that you end up with some additional machinery at which 
point the nice model of datatypes is a bit lost.

With rdf:langString, the language tag is the "additional machinery" in a 
way that does not leak out to other datatypes.

	Andy

Received on Thursday, 12 December 2013 12:10:03 UTC