- From: Pat Hayes <phayes@ihmc.us>
- Date: Wed, 21 Feb 2007 16:02:14 -0600
- To: ht@inf.ed.ac.uk (Henry S. Thompson)
- Cc: www-rdf-rules@w3.org
>-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA1 > >Ian MacLarty writes: > >> On Mon, Feb 19, 2007 at 12:10:14PM +0000, Henry S. Thompson wrote: > >>> . . . >>> Then some further work is required to axiomatise a useful >>> definition of List and/or Sequence. AtomList is also misleading as >>> a name in that there's no constraint that its members be atoms, >>> AFAIK! >>> >> The allValuesFrom(Atom) restriction on rdf:first ensures that all >> elements of AtomList are Atoms. > >Ah, thanks, I missed that. > >Still not clear why cons pairs are the right way to model lists of >anything, atoms or otherwise, in RDF. . . Well, the RDF WG went through a lot of possible designs. The clincher argument for this choice was so that one could make lis... , sorry, collections of *anything*, including the 'end-of-collection' marker. For some reason this seemed terribly important at the time. >The motivation for doing so in e.g. Lisp, way back when, were for the >_computational_ properties which resulted, in terms of inexpensive >addition and the possibility of shared tails. Oh, come on, it went a lot further than that. >Indeed calling the resulting data structure 'lists' at all is a bit >misleading, as the fact that they are ordered is often of no interest. > >'Sharable bag' would have been more accurate, but then McCarthy would >have had to call the language SheBangP or some such, which just >wouldn't have had the same impact :-). I kind of like SheBangP. For the record, the thingies you are talking about are in RDF, so they aren't called "lists", they are called "collections". (This is the first time I have thought that this choice of terminology might have been a good idea :-) Now, to a LISPer, they do seem awfully like S-expressions, to be sure: but there is a crucial difference, in that LISP is tasked with actually *computing* with these things, whereas RDF only has to *describe* them. And being RDF, it does so very partially; that is, it underspecifies them. (How could it be otherwise? To fully specify them, you would need recursion which takes you beyond first-order expressivity, and this is only RDF, for Gawds sake.) So RDF doesn't *rule out* such exotica as nils with cars and cdrs, but it also doesn't specify what they mean. And not that I want for a microsecond to intervene in Rules WG Business, I would respectfully suggest that it might be a good idea to follow LISP precedent, since that at least has some implementation experience behind it, and it provided the intuition behind the RDF collection design. So a collection ends when you find rdf:nil as the value of rdf:rest (no matter what else might be in the description); rdf:nil is an atom, if you like, but it's not an *element* of the collection unless its the value of rdf:first on some subcollection before the first rdf:nil value of an rdf:rest. That is how the functions were intended to be used. (The reason you can't specify this just by domains and ranges and restrictions is that there's no way to define 'first'.) Pat Hayes >ht >- -- > Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh > Half-time member of W3C Team > 2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440 > Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk > URL: http://www.ltg.ed.ac.uk/~ht/ >[mail really from me _always_ has this .sig -- mail without it is forged spam] >-----BEGIN PGP SIGNATURE----- >Version: GnuPG v1.2.6 (GNU/Linux) > >iD8DBQFF2wptkjnJixAXWBoRAlgRAJ4qYDTLnvw65i/FRG3139uBxDtxEwCdHHgS >/k5+udiGSt2b23MM+RFK4fE= >=6xBg >-----END PGP SIGNATURE----- -- --------------------------------------------------------------------- IHMC (850)434 8903 or (650)494 3973 home 40 South Alcaniz St. (850)202 4416 office Pensacola (850)202 4440 fax FL 32502 (850)291 0667 cell phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes
Received on Wednesday, 21 February 2007 22:02:29 UTC