W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > November 2001

Datatype proposal G (oh no!)

From: Graham Klyne <GK@NineByNine.org>
Date: Fri, 30 Nov 2001 12:19:50 +0000
Message-Id: <>
To: RDF core WG <w3c-rdfcore-wg@w3.org>
This isn't really a new proposal, so much as some extra definitions that I 
see as allowing proposal S to work with some naive usage of RDF.  It is my 
attempt to pull together comments from other messages into a single place 
for consideration.

My understanding is that at the heart of proposal S is the idea that RDF 
literals denote strings.  What I want to propose here is an account of how 
XML schema datatypes can be used with RDF, scheme S handling of literals, 
and the original model theory from F2F.

(I'm basing much of my understanding of S on Sergey's message at 
http://lists.w3.org/Archives/Public/w3c-rdfcore-wg/2001Nov/0312.html and 
sliding around the datatype-as-property aspect.)

Let 'foo' be an XML schema datatype (e.g. 'integer').  The URI derived from 
the XML schema specification for this would be:

XML schema talks about a datatype having a value space and a lexical space 

My proposal is that additional datatype-related URIs be defined, based on 
the XML schema space, such as:
http://www.w3.org/2001/XMLSchema-datatypes#foo denotes the lexical space of 
the datatype.
http://www.w3.org/2001/XMLSchema-values#foo denotes the value space of the 
http://www.w3.org/2001/XMLSchema-mappings#foo denotes an RDF property that 
relates the value space to its lexical space

Thus, in N3, we might have:

     @prefix xsd-lex: <http://www.w3.org/2001/XMLSchema-datatypes#> .
     @prefix xsd-val: <http://www.w3.org/2001/XMLSchema-values#> .
     @prefix xsd-map: <http://www.w3.org/2001/XMLSchema-mappings#> .
     @prefix ex: <http://example.org/> .

     xsd-lex:integer a rdfs:Class .
     xsd-val:integer a rdfs:Class .
     xsd-map:integer a rdf:property .
     xsd-map:integer rdfs:domain xsd-val:integer .
     xsd-map:integer rdfs:range  xsd-lex:integer .

     _:number0 rdf:type xsd-val:integer .
     _:number0 rdf:xsd-map "0" .
     _:number1 rdf:type xsd-val:integer .
     _:number1 rdf:xsd-map "1" .

     ex:person ex:age_in_years_as_string "10" .
     ex:age rdfs:range xsd-lex:integer .

     ex:person ex:age_in_years
        [ a xsd-val:integer ; xsd-map:integer "10" ] .


What all this means is that there's nothing new to define for RDF.  The 
idiom for dealing in detail with values and their lexical representation is 
pretty much as indicated by S.  But the naive approach of using strings 
directly is also supported, with a clear migration path (i.e. use new 
properties) from the naive approach to the more precise form that is the 
preferred idiom.


      /\ \    Graham Klyne
     /  \ \   (GK@ACM.ORG)
    / /\ \ \
   / / /\ \ \
  / / /__\_\ \
/ / /________\
Received on Friday, 30 November 2001 07:26:03 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:24:06 UTC