- From: Sergey Melnik <melnik@db.stanford.edu>
- Date: Mon, 12 Aug 2002 14:02:13 +0200
- To: Patrick.Stickler@nokia.com
- CC: w3c-rdfcore-wg@w3.org, phayes@ai.uwf.edu
Patrick, thanks for a quick feedback! A general comment: it seems that the examples that you give below deal with long range datatyping only. Are there in your opinion any *other* important use cases? Further comments below. Patrick.Stickler@nokia.com wrote: > >>-----Original Message----- >>From: ext Sergey Melnik [mailto:melnik@db.stanford.edu] >>Sent: 12 August, 2002 13:19 >>To: RDF Core; pat hayes; Stickler Patrick (NRC/Tampere) >>Subject: Any use cases for untidy literals except long range >>datatyping? >> >> >>I'd like to restate the questions, which Jan raised recently, more >>explicitly. >> >>Much of the ongoing discussion about tidy/untidy literals amounts to >>arguing about different readings of a given piece of RDF/XML >>or NTriples >>syntax. From what I can tell, both tidy and untidy literals are >>implementable, so we have to pick one and wrap up. >> >>To my knowledge, untidy literals have been first suggested in the >>context of long range datatyping (aka implicit/global idiom). >>Specifically, untidy literals provide a shortcut for using a >>bNode with >>a property (two triples are essentially merged into one). >> >>Is this shortcut so fundamental that there is value of making >>it part of >>the spec? >> > > Yes. It mirrors common practice both in programming languages > as in XML Schema. > > Just as one may say > > int age; > age = 10; Please see Grahams clarification to that point below (I think he replied offline, his answer is appended). > ... >>Is there an appealing use case for untidy literals that is not long >>range datatyping (aka implicit/global idiom)? >> > > Even if datatyping is not asserted for inlined, non-local typed > literals at the RDF level, they still have untidy semantics > at *some* level, and to impose tidy semantics at the RDF level > is IMO misleading and will conflict with common sense when > looking at the big picture -- at the whole stack. > > Having tidy semantics at the RDF level and untidy semantics > at the application level seems a fundamental contradiction > that will come back to bite us (and users) again and again. > > Take CC/PP as an example. Datatyping is globally asserted for > properties (at present, by the application, since it can't > yet be done in RDF) and the interpretation of the same literal > string as the value of two properties with different datatyping > is untidy, depending on the property datatype. > > Now, if such literals are tidy in the RDF MT, then the MT > is saying that those two statements "mean" one thing at > the RDF level, but something else at the CC/PP application > level. Now, though one might wriggle around that with all > kinds of smoke and mirrors, I'd prefer to see the same meaning > at both levels, with the property values being the datatype > values. The above example does not address the question raised in the subject of this email ;) Still a comment: in the latest proposal, there are no "levels" of interpretation etc. Typed literals have a fixed interpretation with consistent meaning... >>Are we closing off any important extensibility paths if we go >>for tidy >>literals? >> > > If literals (non-datatyped literals) are tidy, then if later > we allow literals to be subjects, they are far, far less > interesting than if they are denoting the datatype value > which they (contextually) represent. > > Patrick I don't understand. If, later on, a URI scheme (or a bNode-based mechanism) for RDF datatyping is introduced, it would be possible to use resources/bNodes as subjects. Such resources/bNodes would denote literals. Could you rephrase your concern? Sergey Graham Klyne wrote: > At 02:46 PM 8/11/02 +0200, Sergey Melnik wrote: > >> Mike Dean wrote: >> >>> Sergey, >>> Below is my example of why I see Java (and C++) as employing >>> global implicit typing. I can use the same literal >>> (constant) value with a variety of numeric types, and don't >>> have to change it if the type changes among the numeric >>> types. >>> Mike >>> lass globalimplicit >>> { >>> public static void main(String args[]) >>> { >>> short s; >>> int i; >>> float f; >>> double d; >>> s = 5; >>> i = 5; >>> f = 5; >>> d = 5; >>> } >>> } >> > > Mike, > > I beg to disagree: what Java offers is (limited) implicit type > coercion, not implicit typing of literals. In every case, above, the 5 > represents an integer typed value. Exactly the same result would be > obtained with the following code: > > public static void main(String args[]) > { > static int five = 5 ; > short s; > int i; > float f; > double d; > s = five; > i = five; > f = five; > d = five; > } > > #g > > > ------------------- > Graham Klyne > <GK@NineByNine.org>
Received on Monday, 12 August 2002 08:02:16 UTC