W3C home > Mailing lists > Public > www-rdf-rules@w3.org > February 2007

Re: AtomList infinite or cyclic in all models

From: Pat Hayes <phayes@ihmc.us>
Date: Wed, 21 Feb 2007 16:02:14 -0600
Message-Id: <p06230907c2026b3e1525@[]>
To: ht@inf.ed.ac.uk (Henry S. Thompson)
Cc: www-rdf-rules@w3.org

>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 

Pat Hayes

>- --
>  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]
>Version: GnuPG v1.2.6 (GNU/Linux)

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

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:46:20 UTC