Re: Datatypes and xml:lang

Dave Beckett wrote:
> 
> Can the TDL / S authors say something about where they see how the
> xml:lang attribute will appear in the data type models.
> 
> Use this pseudo N-triples to talk about language-enabled literals:
>    "foo"(en)
>    "foo"        - no language

Dave,

language tagging seems indeed quite similar to datatyping. In effect, we
have a typed string which we possibly have to compare with other typed
strings using a different set of rules than just plain textual equality.
More specifically, language tagging can be viewed as some kind of local
typing, where xml:lang property is used for typing instead of rdf:type.

It is not easy to add xml:lang to graphs unintrusively. Below I'm
sketching one possibility (without exploring the implications in
sufficient depth...)

As I pointed out in the "Flower Power" posting [1], under "untidy"
parsing of

  <rdf:Description parseType="untidy">
    <prop>foo</prop>
  </rdf:Description>

you'd get the triples

  _:1 prop _:2
  _:2 rdf:value "foo"

(or

  _:1 prop <_:2, "foo">

if you like)

Assume that the RDF/XML content

  <rdf:Description>
    <prop xml:lang="en">foo</prop>
  </rdf:Description>

results in the graph

  _:1 prop _:2
  _:2 rdf:value "foo"
  _:2 xml:lang "en"

Now, if you ask for all properties with value "foo" e.g. using the query

  (X prop L) & (L rdf:value "foo")

[ or just  (X prop <L, "foo">)   ]

you'd get an equivalent answer in both cases, no matter whether language
tagging is present or not. If you care about language tagging, you could
ask explicitly for

  (X prop L) & (L rdf:value "foo") & (L xml:lang "en")

Then, of course, the query would succeed only in the first case. Similar
considerations apply with respect to comparing literals, although a more
careful analysis is needed, since bNodes may have different
interpretations. Well, just some preliminary thoughts...

Sergey

[1] http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2002Feb/0007.html

Received on Friday, 1 February 2002 14:48:35 UTC