- From: Sean B. Palmer <sean@miscoranda.com>
- Date: Thu, 11 Oct 2007 17:40:48 +0100
- To: public-cwm-bugs@w3.org
I think I've found a problem with handling lists. I can get the last element of a list using list:last (whose documentation is wrong; see the bottom of this email for details), but I can't get the sublist that the last element is the rdf:first of: $ cat testlists.n3 @prefix : <http://example.org/test#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix list: <http://www.w3.org/2000/10/swap/list#> . @prefix string: <http://www.w3.org/2000/10/swap/string#> . { ?LIST a :TestList; list:last ?LAST } => { ?LIST :last ?LAST } . { ?LIST a :TestList; list:last ?LAST . ?SUBLIST rdf:first ?LAST } => { ?LIST :lastList ?SUBLIST } . ([ :p :q ] [ :r :s ]) a :TestList . $ cwm testlists.n3 --think #Processed by Id: cwm.py,v 1.189 2006/08/02 16:59:14 syosi Exp # Notation3 generation by # notation3.py,v 1.191 2006/08/01 01:14:04 syosi Exp @prefix : <#> . @prefix list: <http://www.w3.org/2000/10/swap/list#> . @prefix log: <http://www.w3.org/2000/10/swap/log#> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix test: <http://example.org/test#> . @forAll :LAST, :LIST, :SUBLIST. @forSome :_g0, :_g1 . ( :_g0 :_g1 ) a test:TestList; test:last :_g1 . :_g0 test:p test:q . :_g1 test:r test:s . { :LIST a test:TestList; list:last :LAST . } log:implies {:LIST test:last :LAST . } . { :LIST a test:TestList; list:last :LAST . :SUBLIST rdf:first :LAST . } log:implies {:LIST test:lastList :SUBLIST . } . #ENDS Also, the documentation for the list:last builtin is wrong: last Iff the object is a list and the subject is the last thing that list, then this is true. The last element can be calculated as a function of the list. - http://www.w3.org/2000/10/swap/doc/CwmBuiltins It's actually the other way around; the subject is the list, and the object is the last thing in that list. Please fix the description! Thanks, -- Sean B. Palmer, http://inamidst.com/sbp/
Received on Thursday, 11 October 2007 16:40:57 UTC