- From: Peter Ansell <ansell.peter@gmail.com>
- Date: Sat, 16 Jan 2010 10:39:00 +1000
- To: Pat Hayes <phayes@ihmc.us>
- Cc: Danny Ayers <danny.ayers@gmail.com>, jeremy@topquadrant.com, tai@g5n.co.uk, "semantic-web@w3.org" <semantic-web@w3.org>
2010/1/16 Pat Hayes <phayes@ihmc.us>: > > On Jan 15, 2010, at 4:57 AM, Danny Ayers wrote: >> >> literal subject - aside from quotations: >> >> "I can't really see how it would be useful" <x:saidBy> <#me> . > > "37"^^xsd:number rdf:type PrimeNumber . > > "42"^^xsd:number :playsRoleIn :HitchHIkersGuide . > > "66"^^xsd:number :greaterThan _:x . > _:x :age :PatHayes . > > (which is why I don't get a full SS pension this year). > > I'm sure I could think of others. > > But the main point is that allowing all this makes the language *simpler*. > the question should be, why the hell did we not allow it in the first place? If you are willing to store information like the entire set of Primes or the entire number line (including real and complex numbers??) in your database to make your computation simpler then you can afford to have the database bloat by a factor of two and do it the current way every other RDF application does it or you could use query time computation rather then declaration. In my view, RDF is based on the paradigm that the only things that can have properties assigned to them are universal and have a clear and distinct meaning. "66"^^xsd:number isn't actually that clear a meaning, as it is the same as "66"^^xsd:integer, but it does not have the same implications as "66.0000"xsd:float in all circumstances. In scientific applications the number of decimal places will have a material effect on the error statistics and the overall conclusions that you can make, although in logic terms there may be no distinction if numbers are considered universals. It may also be the same as "65.99...."^^xsd:float in most circumstances, not that RDF has a proper notation for repeating numbers as far as I know. If you just accept that a URI is conclusive then the use of the URI anywhere else has a distinct meaning. If you do something like allow literals which are imprecise as things that you can give properties to then the whole paradigm will fall down, even if the N3 file format will support what is left of the paradigm. The following is not ambiguous, in that someone could use <http://mydomain.org/precisionfloat:66.0000> somewhere else and not have any implication that it is exactly equivalent to <http://mydomain.org/integers:66> in all cases. <http://mydomain.org/integers:66> ex:integerValue "66"^^xsd:integer . <http://mydomain.org/precisionfloat:66.0000> ex:floatValue "66.0000"^^xsd:float . <http://mydomain.org/integers:66> :greaterThan _:x . :PatHayes :hasAge _:x . :myexperiment :hasOutcome <http://mydomain.org/precisionfloat:66.0000> . :myexperiment :doesNotHaveOutcome <http://mydomain.org/integers:66> . There is value in not making everything simpler just for the sake of it. Cheers, Peter
Received on Saturday, 16 January 2010 00:39:31 UTC