- From: Graham Klyne <GK@NineByNine.org>
- Date: Fri, 30 Nov 2001 12:19:50 +0000
- 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:
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