- From: Michael Schneider <m_schnei@gmx.de>
- Date: Fri, 10 Aug 2007 21:57:58 +0200
- To: garret@globalmentor.com
- CC: "semantic-web@w3.org >> W3C SWIG Mailing-List" <semantic-web@w3.org>
Hi, Garret!
Garret Wilson wrote:
> P.S. Yes, were I to propose changes to RDF, I would propose adding a
> language tag to typed literals of datatype xsd:string; and doing away
> with plain literals.
I once had the same idea, and here is what I learned:
The answer is that language tags for typed literals do not make much
sense, because they would only be useful for /strings/, not for other
types like numbers, booleans, or even custom types. One could counter
that then, there should only be language tags for xsd:string, and not
for any other type. Note, however, that from the RDF perspective, there
is nothing special about xsd:string. RDF does not know at all that the
typed literal "xxx"^^xsd:string is meant to be a string. The only things
RDF knows about this literal are that
* the whole expression actually /is/ some typed literal (RDF knows
this because the expression has the format "..."^^<URI>)
* the URI 'xsd:string' denotes some type (but RDF does not know
which type),
* and that the string "xxx" is (hopefully) a unique representation
for a datavalue of this type.
Concrete types, even the xsd types, are outside the specification of
RDF. This means, that a language tag, which exists for strings only,
cannot be defined within RDF in a meaningful way.
Please check my argumentation against the spec in
http://www.w3.org/TR/rdf-primer/#typedliterals
Garret Wilson wrote:
> Next question: how do plain literals differ semantically from typed
> literals with a datatype URI of xsd:string? Yes, I know that they are
> "different" in the URI abstract syntax, but that's begging the
> question---what does that *mean*.
I think I can see a semantical difference between plain and typed
literals, though it is a subtle one.
First, let me explain it for non-string literals, because the difference
is easier to see there. Consider the plain literal "42" and the typed
literal "42"^^xsd:integer. The plain literal denotes itself, i.e. it
denotes the string "42". The typed literal instead denotes the number
42. If the semantics of typed literals would also demand to denote
themself, what would this mean? Not perfectly clear on this, but at
least the following seems correct in my eyes: The typed literal above
consists of at least two informations:
* the string "42"
* the type INTEGER, denoted by xsd:integer
So, if "42"^^xsd:integer would denote itself, it's interpretation would
at least have to somehow (how?) contain these two informations. This is
obviously NOT the case.
I now carry these considerations over to the case of typed /string/
literals: Suppose that the typed literal "xxx"^^xsd:string would denote
itself. Than the interpretation of this typed literal would at least
have to consist of two informations: The string "xxx" AND the type
information (it is a STRING). But the typed literal actually denotes
/only/ the string "xxx".
What does this mean? I would say that the semantics of plain literals
and typed string literals are /different/: The semantics for plain
literals are given by the semantic interpretation function I_plain(.),
which maps each plain literal (seen as a syntactic expression) to the
string expressed by this plain literal (which happens to be itself). On
the other hand, the semantics for typed string literals are given by the
semantic interpretation function I_typed(.), which maps each typed
string literal (again, seen as a syntactic expression) to the string,
which builds the left hand side of the complete typed literal. We see:
While the interpretation function I_plain(.) equals the identity
function restricted to the set of all strings, the interpretation
function I_typed(.) is NOT the identity function for this set; in fact,
the domains of I_plain(.) and I_typed(.) even happen to be disjoint. So,
the interpretation functions for plain literals and typed string
literals are different. Thus, their semantics are different.
Cheers,
Michael
Received on Friday, 10 August 2007 19:58:09 UTC