Hi Andreas, On Thu, Jul 17, 2008 at 12:17:33PM +0200, Andreas Meinl wrote:
Hi there,
I'm currently porting some XQuery scripts to MonetDB/XQuery, and encountered two maybe simple obstacles.
The first one is that I can't use fn:collection, but instead always have to apply pf:collection. The online documentation [1] states both alternatives should be practicable.
For example in eXist and Sedna I can write:
let $a := fn:collection("samples") return $a//id
But this does not work for MonetDB/XQuery! Here I have to use:
let $a := pf:collection("samples")/child::document-node() return $a//id
The latest release of MonetDB/XQuery does currently not support fn:collection() with (new and default) "Algebra" back-end of the pathfinder compiler. fn:collection() is currently only available with the (still included but obsolete/deprecated) "milprint_summer" back-end. See the release notes for details: http://monetdb.cwi.nl/Development/Releases/Version4.24/index.html#XQuery For details about the differences please see http://monetdb.cwi.nl/XQuery/QuickTour/DOCMGT/index.html#openall We apologize for the inconveniences, and plan to implement fn:collection() also with the (default) "Algebra" back-end in the next release of MonetDB/XQuery.
My second question is that I cannot execute this kind of queries, which runs well in eXist and Sedna:
<average> { fn:round(fn:avg( for $doc in fn:collection("samples") return $doc/example/@sum )) } </average>
For MonetDB/XQuery I have to pull out pf:collection and add a second return statement:
let $col := pf:collection("samples")/child::document-node() return <average> { fn:round(fn:avg( for $doc in $col return $doc/example/@sum )) } </average>
Why can't you use "pf:collection("samples")/child::document-node()" in the for loop? Do you get any error? If so which?
So what am I doing wrong? Does MonetDB/XQuery by any chance comply more with any standards than eXist and Sedna do? Or ist fn:collection just not implemented in the current release of MonetDB/XQuery?
To the best of our knowledge, MonetDB/XQuery complies with the W3C XQuery standard. See above for details concerning fn:collection() & pf:collectio(). For details on the remaining supported functionality and extensions beyond the XQuery standard, please the MonetDB/XQuery web site at http://monetdb.cwi.nl/XQuery/index.html and the latest release notes at http://monetdb.cwi.nl/Development/Releases/Version4.24/index.html#XQuery
I would be glad if someone could give me a hint! It's so confusing...
I hope, I managed to clearify the confusion. Please don't hesitate to ask again in case you have more questions. Kind regards, Stefan
Thank you!
Regards,
Andreas Meinl
[1] http://monetdb.cwi.nl/projects/monetdb/XQuery/QuickTour/DOCMGT/ index.html#openall
------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ MonetDB-users mailing list MonetDB-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/monetdb-users
-- | Dr. Stefan Manegold | mailto:Stefan.Manegold@cwi.nl | | CWI, P.O.Box 94079 | http://www.cwi.nl/~manegold/ | | 1090 GB Amsterdam | Tel.: +31 (20) 592-4212 | | The Netherlands | Fax : +31 (20) 592-4312 |