More ways to do sequences (lists) in RDF

In http://lists.w3.org/Archives/Public/www-rdf-interest/2001Apr/0058.html
(mid:200104100044.f3A0iJ701421@daniel.hawke.org) I gave a survey of
ways to handle sequences (lists) in the RDF model.   I'm personally
comfortable with first/rest/empty lists, but I was trying to gather
the options.

Jos De Roo followed up at the time with a :list operator (which I
*think* only works with his extended unflattenable interpretation of
n3 contexts; ie not in the pure RDF model) and with Difference Lists.

Difference Lists are indeed another nice form.  They have the same
first/rest structure as daml:lists, but instead of indicating the end
of the list with the object "empty", you indicate it with any object.
The "difference list" is then identified by the pair of the leading
node (which has the first element as its "first") and the trailing
node (which is pointed to as "rest" by the last data node, the one
whose "first" is the last element in the list.)  

Anyway, I forgot Curry lists, which I think are similar to daml lists
in most ways, except they use only N+1 RDF statements instead of 2*N
to represent a list of N element.  They are just a little weird in
heavily using predicates as subjects, which may make some tools
uncomfortable.    I'm not sure how to express the range of the
Currying predicate, for instance.   

I discuss this from another perspective in
http://lists.w3.org/Archives/Public/www-rdf-logic/2001Jun/0153.html

    -- sandro

Received on Thursday, 7 June 2001 17:03:02 UTC