datatype explanations questions

With my Primer editor's hat on, I'm starting to think about how (and 
where) to describe datatyping in the Primer.  On looking over the 
existing proposal (i.e., Part 1, which we've broken up to go into our 
various specs) I find myself wondering about a few things in its 
explanation, which I'd like to find out about before trying to go too 
far in explaining datatyping.

As background, Part 1 says an rdfs:Datatype is a value space, and 
lexical space, and a datatype mapping, and its class extension is its 
value space.  We then talk about using datatypes (actually, "datatype 
class") in forming typed literals.

1. in forming local typed literals, i.e.,

<age rdf:type=&xsd;integer>25</age>

there is no explicit mention of rdfs (note that we're not making a 
global assertion usign rdfs:range here).  Are we assuming that if you 
use a form like this, you're referencing (defining?) an 
implicitly-specified "datatype class" (without needing to explicitly 
define such a datatype class in RDFS)?

1b.  Also, we need to say explicitly somewhere that all such classes are 
(implicitly or explicitly) instances of rdfs:Datatype, right?

1c.  Did we ever decide to use something other than rdf:type as the 
attribute?

2.  since there's no explicit mention of rdfs (i.e., the namespace), is 
this usage to be considered part of RDFS, or part of RDF?  This is 
partly my hobbyhorse about which language things go in, but also where I 
need to explain local typed literals.  A case could be made for 
introducing them before getting into RDFS, since there's no explicit 
syntactic connection.  On the other hand, is this something like 
rdf:type, where the full semantics don't become available without 
RDFS-awareness?

3.  Section 5 defines an RDF Schema for rdfs:Datatype, and defines it as 
a subclass of rdfs:Property.  This doesn't seem to match its description 
as having three components, nor the description of its class extension 
being the value space (since the extension of a property is a set of 
pairs).  This also doesn't seem to match the idea that we're using 
datatypes to define typed literals themselves (rather than properties of 
those literals), and also potentially makes for funny graphs in the 
global idiom (right now we define the range of age as an integer by 
having the range property point to a node;  should it point to an edge 
instead?).  So why is rdfs:Datatype a subclass of rdfs:Property?

3b.  If we're expecting people to explicitly define datatypes they use 
in RDFS declarations (as instances of rdfs:Datatype), we need to say so, 
and we need some examples, right?  (Presumably these would be RDF 
resources having an rdf:type of rdfs:Datatype, but people would also 
probably expect to have to specify other information about the data type 
as well, and want to know how).  If we're not expecting people to 
explicitly define datatypes in RDFS (i.e., instead they are implicitly 
defined by, say, referencing them in typed literals), we need to say 
that too, right?

--Frank







-- 
Frank Manola                   The MITRE Corporation
202 Burlington Road, MS A345   Bedford, MA 01730-1420
mailto:fmanola@mitre.org       voice: 781-271-8147   FAX: 781-271-875

Received on Friday, 20 September 2002 17:19:12 UTC