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

REPEAT: RDF Plain Literals and xsd:string

From: Brian McBride <bwm@hplb.hpl.hp.com>
Date: 24 Jul 2003 14:02:00 +0100
To: w3c-xml-schema-ig@w3.org, cmsmcq@acm.org, w3c-xml-schema-wg@w3.org
Cc: Pat Hayes <phayes@ai.uwf.edu>
Message-Id: <1059051719.2327.38.camel@dhcp-91-136.hpl.hp.com>

Ladies and Gentlemen,

Having received no response to my first posting of this question:

(please excuse me if I missed it) I am resending it and including the
schema WG list.  Please note that this is a matter of some urgency to
RDFCore and we would appreciate a quick response, even if its "dunno


RDFCore is being asked whether RDF plain literals [*] and xsd:string 
denote the same thing.  Intuitively it seems that they ought, but we 
held of stating this because we have been a little confused about how to 
interpret the XML Schema datatypes specification.

For example, whilst the value space of xsd:string is defined to be a 
sequence of characters, and the value spaceof xsd:anyURI is defined to 
be the set of URI references, which are defined by RFC 2396 to be 
sequences of characters, it has been stated that the value spaces of 
xsd:anyURI and xsd:string are disjoint.

As a result of such confusions we have postponed describing the RDF 
class hierarchy for xsd primitive types, lest it turn out, for example, 
that the value space of say xsd:string should properly be considered to 
be a pair, consisting of a primitive type identifier and the actual value.

Since the specific question of whether plain literals are the same thing 
as xsd:string values is the most commonly raised, I have been asked by 
the RDFCore WG to ask you, in the form of a test case for your opinion.

A plain literal in RDF is defined to be a string of characters.

The test case sets up two RDF statements, one with the plain literal 
consisting of the sequence of characters "foo" as its object, and the 
other with the xsd:string "foo" as its object.  The question is whether 
the objects of these two statements must denote the same value.

More formally, does:

<s1> <p1> "foo" .
<s2> <p2> "foo"^^<xsd:string> .


<s1> <p1> _:value .
<s2> <p2> _:value .

I regret that I have had to express the test case in RDF terms, but it 
was the only way I know to get the precision I am seeking.

Brian McBride
co-chair RDFCore

[*] I leave aside as irrelevant to this discussion the other form of 
plain literals that include a language tag
Received on Thursday, 24 July 2003 09:07:25 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 14:54:06 UTC