Datatype proposal G (oh no!)

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:
     http://www.w3.org/2001/XMLSchema#foo
or
     http://www.w3.org/2001/XMLSchema-datatypes#foo

XML schema talks about a datatype having a value space and a lexical space 
(http://www.w3.org/TR/xmlschema-2/#datatype).


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
     http://www.w3.org/2001/XMLSchema-values#foo
     http://www.w3.org/2001/XMLSchema-mappings#foo
where:
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 
datatype.
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" .
      :
     (etc.)

     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.


#g


-------------------------
       __
      /\ \    Graham Klyne
     /  \ \   (GK@ACM.ORG)
    / /\ \ \
   / / /\ \ \
  / / /__\_\ \
/ / /________\
\/___________/

Received on Friday, 30 November 2001 07:26:03 UTC