- From: Patrick Stickler <patrick.stickler@nokia.com>
- Date: Sat, 21 Sep 2002 12:59:52 +0300
- To: "RDF Core" <w3c-rdfcore-wg@w3.org>, "ext Frank Manola" <fmanola@mitre.org>, Patrick Stickler <patrick.stickler@nokia.com>
_____________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