- From: pat hayes <phayes@ai.uwf.edu>
- Date: Fri, 8 Nov 2002 11:47:33 -0600
- To: w3c-rdfcore-wg@w3.org
- Cc: pfps@research.bell-labs.com, herman.ter.horst@philips.com
1. There is a problem I mentioned earlier with literals like
"badnumber"^^xsd:integer . They have to denote something, but they
shouldn't denote a literal value (because they, er, don't, right?)
The trouble is that until we go ask the datatype, RDF can't tell the
difference between one of these and "12345"^^xsd:integer. So in the
basic RDF MT, we need to say that typed literals denote something but
we don't yet know even if its a literal value, so it has to be in IR,
not in LV (as at present).
So what do we do when we find out that it is bad? The current draft
invents an ad-hoc thingie (a triplet) to be the value in this case,
but that is not a good solution. Better would be to say that it
denotes some unknown but arbitrary thing which, whatever it is, is
not a literal value. This adds a slightly odd technical extension to
the definition of datatyped interpretation, which will now include a
new mapping IBL from datatyped literals to things in IR that are
*not* in LV, which are the 'things' that the literal will denote *if*
it is badly typed. So, just a warning, I am going to make this
change. It actually makes the semantic rules easier to state and the
Lbase translation more transparent.
2. Now that subClassOf and subPropertyOf have 'iff' semantics, that
raises a slight complication: it means that anything with an empty
class extension, which right now includes anything that isn't a
class, is a subclass of anything, and similarly for properties. That
has a lot of unintuitive consequences, and I propose to remove them
by *defining* classes to be things that are in rdfs:Class, similarly
properties and rdf:Property, and then restricting the 'iff'
definition of subClassOf to hold only between classes, and again
similarly for properties.
Summary of fix:
IP is defined to be {x: <x, I(rdf:Property)> in IEXT(I(rdf:type)) }
IC defined to be {x: <x, I(rdfs:Class)> in IEXT(I(rdf:type)) }
aaa rdfs:subClassOf bbb is true iff ///I(aaa), I(bbb) are both in IC
and /// x in ICEXT(I(aaa)) implies x in ICEXT(I(bbb))
and similarly for subproperty
The ///-/// marks the fix. This should not change any of the current
rdfs closure rules (though if it wasn't done they would need
changing.) It should have been done this way from the start, so this
is a technical fix of a bug, in effect, and I apologize for not
incorporating it into this draft in time.
3. Recent changes, including the above, require several changes to
some of the lemma proofs; these will be fixed. Herman ter Horst has
kindly checked through the proofs in detail and made several good
suggestions.
4. Does everyone agree that rdfs:member rdf:type
rdfs:ContainerMembershipProperty . ? I can go either way, but this
will require a small tweak.
Pat
--
---------------------------------------------------------------------
IHMC (850)434 8903 home
40 South Alcaniz St. (850)202 4416 office
Pensacola (850)202 4440 fax
FL 32501 (850)291 0667 cell
phayes@ai.uwf.edu http://www.coginst.uwf.edu/~phayes
s.pam@ai.uwf.edu for spam
Received on Friday, 8 November 2002 12:47:14 UTC