- From: Graham Klyne <Graham.Klyne@MIMEsweeper.com>
- Date: Fri, 15 Mar 2002 11:52:41 +0000
- To: Patrick Stickler <patrick.stickler@nokia.com>
- Cc: Pat Hayes <phayes@ai.uwf.edu>, RDF Core <w3c-rdfcore-wg@w3.org>
This is a long-ish message. The main part explores this key question: according to [1], what can we say about the relational extension of ex:age (IEXT(I(ex:age)) given: ex:age rdfs:drange datatype:decimal . [1] http://www.coginst.uwf.edu/users/phayes/simpledatatype23-02-2002.html At 09:56 AM 3/14/02 +0200, Patrick Stickler wrote: >On 2002-03-13 18:56, "ext Graham Klyne" <Graham.Klyne@MIMEsweeper.com> >wrote: > > > > Yes, I missed your point. > > > > Let me see if I get it now. Given: > > > > Bob age "35" . > > age rdfs:range datatype:decimal . > > > > you say there is a range type inconsistency? > > > > I agree that there is an inconsistency here. I don't agree that it is a > > problem. Effectively, by saying that: > > > > age rdfs:range datatype:decimal . > > > > (and assuming that the value space of datatype:decimal does not include > > literal values) then I think you are saying that literals should not be > > used with this property. > >Fair enough, if that is what folks want to say. > >My concern was that, without any rdfs:range constraint at all, >one cannot utilize a generic RDFS validator to test explicitly >typed datatype values, but if rdfs:range is used for that >purpose, it excludes use of the inline idiom which always will >conflict with any rdfs:range statement with a datatype object. > >And thus, this means that in a practical setting, where either >idiom may and should be permitted to occur, rdfs:range is useless >for datatyped properties since it eliminates cohabitability between >the global and local idioms. > >Maybe that's just the way it goes. But it seems like we're losing >alot of useful functionality from generic RDFS validation. Ah... I was going to say that I would expect a generic RDFS validator to also know enough about datatypes, but I think I see your point now. Condidering: ex:age rdfs:drange datatype:decimal . ex:Jenny ex:age "10" . ex:Jenny ex:age _:x . _:x datatype:decimal "10" . the second part is consistent with: ex:age rdfs:range datatype:decimal . but the former is not. Hmmm. ... Reviewing the model theory for datatypes [1] I find that I cannot tell what the relational extension for ex:age is intended to be. I think it only works if: ex:age rdfs:drange datatype:decimal . means that: <I(ex:Jenny),"10"> in IEXT(I(ex:age)) (where "10" is the sequence of two characters) and ex:age rdfs:range datatype:decimal . means that: <I(ex:Jenny),10> in IEXT(I(ex:age)) (where 10 is the integer value) This seems to be saying that rdfs:drange allows datatype lexical-space members in the relational extension of a property, and rdfs:range allows the corresponding datatype value-space members in the relational extension. I wonder if that is what Pat intended? ... [1] http://www.coginst.uwf.edu/users/phayes/simpledatatype23-02-2002.html I'm thinking there may be a problem with the datatype proposal [1]. Consider: ex:age rdfs:drange datatype:decimal . According to section 5 of [1], taking account that literals denote themselves, this means that <x,y> in IEXT(I(ex:age)) => z=L2V(I(datatype:decimal))(y) for some z [i.e. y in the lexical space of datatype:decimal] But later in section 5 we see that [[[ ex:age rdfs:drange xsd:number Jimmy ex:age _:x . _:x rdfs:dlex "35" . ]]] means that Jimmy's age is the number 35, which requires that <I(Jimmy),35> in IEXT(I(ex:age)) but the number 35 is not in the lexical space of datatype:decimal, so we appear to have a contradiction. As far as I can tell, this is a problem with [1]. More likely (I hope), I'm overlooking something. #g -- [1] http://www.coginst.uwf.edu/users/phayes/simpledatatype23-02-2002.html ------------------- Graham Klyne <GK@NineByNine.org>
Received on Friday, 15 March 2002 07:18:14 UTC