Re: datatype explanations questions

_____________Original message ____________
Subject:	datatype explanations questions
Sender:	ext Frank Manola <fmanola@mitre.org>
Date:		Sat, 21 Sep 2002 12:05:01 +0300


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)?

	You are not defining the datatype class, only referring
	to it. It's actual definition is outside the scope of both
	RDF and RDFS.

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

	There is a similar relationship between the purely
	syntactic attribute rdf:datatype and the class rdfs:Datatype 
	as there is between rdf:resource and rdf:Resource.

	Thus, just as every resource denoted by the uriref value
	of rdf:resource is taken to be a member of rdf:Resource,
	likewise every resource denoted by the uriref value of
	rdf:datatype is taken to be a member of rdfs:Datatype.

	(I wonder whether the class should be rdf:Datatype, in the
	RDF namespace, since datatypes and datatyping are now
	part of the core model, eh?...)

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

	rdf:datatype

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?

	As I hinted at above, I'm wondering whether the class of
	datatypes should live in the RDF namespace rather than
	the RDFS namespac, now that it is no longer a distinct
	layer.

3.  Section 5 defines an RDF Schema for rdfs:Datatype, and defines it as 
a subclass of rdfs:Property. 

	That is a bug, residue from an earlier draft that I forgot
	to remove. rdfs:Datatype is not a subclass of rdfs:Property,
	but a subclass of rdfs:Class.


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? 

	I don't think it is necessary to explicitly declare datatypes
	used for typed literals, as the "implicit range" of the rdf:datatype
	attribute is rdfs:Datatype.

	But in the case of datatypes being asserted globally by 
	rdfs:range assertions, then yes, it is probably a good idea
	to state which classes are datatypes.

 (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). 

	Well, it is concievable that ontologies would be devised
	for saying things about the internal structure and
	semantics of datatype classes, but that would be
	application level knowledge and not provided for by
	the core RDF/S MT and other machinery.

 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?

	We should say both, that datatypes are implicitly declared
	as rdf:type edfs:Datatype when referenced in a typed
	literal, and also, it's probably wise to explicitly declare
	datatype classes known to a given application or system
	as such.

	Patrick







-- 
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 Saturday, 21 September 2002 06:00:52 UTC