W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > July 2003

Proposal 2

From: Patrick Stickler <patrick.stickler@nokia.com>
Date: Fri, 11 Jul 2003 12:11:03 +0300
Message-ID: <005b01c3478c$5ef8e7f0$810fa20a@NOE.Nokia.com>
To: <bwm@hplb.hpl.hp.com>, "ext Martin Duerst" <duerst@w3.org>
Cc: <w3c-rdfcore-wg@w3.org>, <w3c-i18n-ig@w3.org>

----- Original Message -----
From: "ext Martin Duerst" <duerst@w3.org>
To: <Patrick.Stickler@nokia.com>; <bwm@hplb.hpl.hp.com>
Cc: <w3c-rdfcore-wg@w3.org>; <w3c-i18n-ig@w3.org>
Sent: 11 July, 2003 01:54
Subject: Re: Proposal


> ...
> But more than that, I think it collapses two things that should
> be distinct: Strings that happen to look like XML fragments, and
> strings that are actually XML fragments. XML makes a clear distinction
> between these, but the above would blur this distinction. It would
> most probably lead to a great deal of confusion among a wide range
> of users. It would also not help with a natural transition from
> 'plain' to 'xml' literals.

OK, here's a second (and I think last) alternative to consider, which is
actually an option that has been on the table a few times:

Changes:

1. The datatype rdf:XMLLiteral is discarded (or at least optional).

2. There are three types of literals: plain, XML, and typed.

3. The attribute rdf:datatype can co-occur with rdf:parseType="Literal".

   a. The combination of these two attributes
       together is similar to the present interpretation of
       rdf:parseType="Literal" alone, but now requires the
       explicit specification of a datatype rather than
       being implicitly taken to be of type rdf:XMLLiteral.

    b. The presence of only rdf:parseType="Literal" results
        in the creation of an XML literal in the graph, distinct
        from a plain literal, but allowing association of a
        lang tag.

4. Comparison of XML literals is based on canonicalization as
    presently defined, and optionally, if rdf:XMLLiteral remains
    defined by the spec, then equality of XML literals without
    lang tag and typed literals of type rdf:XMLLiteral can be
    defined in terms of canonicalization. An XML literal with
    lang tag is guarunteed to be equal to no value denoted by
    a typed literal of datatype rdf:XMLLiteral.

--

Thus, given a context of

   <rdf:RDF ... xml:lang="fi">
      ...
   </rdf:RDF>

both of the following:

1. <rdf:Description rdf:about="#x">
      <ex:foo>bar</ex:foo>
   </rdf:Description>

2. <rdf:Description rdf:about="#x" ex:foo="bar"/>

generate the same triple:

  <#x> ex:foo "bar"@fi .

--

Whereas the following:

3. <rdf:Description rdf:about="#x">
      <ex:foo rdf:parseType="Literal">bar</ex:foo>
   </rdf:Description>

generates the triple:

  <#x> ex:foo xml"bar"@fi .

** Note: a distinct XML literal, with lang tag

--

Both of the following:

4. <rdf:Description rdf:about="#x">
      <ex:foo>&lt;xhtml:b&gt;bar&lt;/xhtml:b&gt;</ex:foo>
   </rdf:Description>

5. <rdf:Description rdf:about="#x"
ex:foo="&lt;xhtml:b&gt;bar&lt;/xhtml:b&gt;"/>

generate the same triple:

   <#x> ex:foo "<xhtml:b>bar</xhtml:b>"@fi .

** Note: no distinct XML literal. Just a plain literal that coincidentally
has XML markup.

--

whereas the following

6. <rdf:Description rdf:about="#x">
      <ex:foo rdf:parseType="Literal"><xhtml:b>bar</xhtml:b></ex:foo>
   </rdf:Description>

generates the triple:

   <#x> ex:foo xml"<xhtml:b>bar</xhtml:b>"@fi .

--

Both of the following:

7. <rdf:Description rdf:about="#x">
      <ex:foo rdf:datatype="&ex;blargh">bar</ex:foo>
   </rdf:Description>

8. <rdf:Description rdf:about="#x">
      <ex:foo rdf:datatype="&ex;blargh" rdf:parseType="Literal">bar</ex:foo>
   </rdf:Description>

generate the same triple:

   <#x> ex:foo "bar"^^ex:blargh .

--

And both of the following:

9. <rdf:Description rdf:about="#x">
      <ex:foo rdf:datatype="&ex;blargh"
rdf:parseType="Literal"><xhtml:b>bar</xhtml:b></ex:foo>
   </rdf:Description>

10.<rdf:Description rdf:about="#x">
      <ex:foo
rdf:datatype="&ex;blargh">&lt;xhtml:b&gt;bar&lt;/xhtml:b&gt;</ex:foo>
   </rdf:Description>

generate the same triple:

   <#x> ex:foo "<xhtml:b>bar</xhtml:b>"^^ex:blargh .

--

As an aside, if this particular alternative is chosen, I would strongly
recommend that rdf:parseType="Literal" be changed to something
a bit clearer such as rdf:parseType="XML".

Regards,

Patrick

--
Patrick Stickler
Nokia, Finland
patrick.stickler@nokia.com
Received on Friday, 11 July 2003 05:11:19 EDT

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