[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reinventing the wheel (an implementor point of view)
- From: Jonathan Robie <Jonathan.Robie@SoftwareAG-USA.com>
- To: Arnaud Sahuguet <sahuguet@gradient.cis.upenn.edu>,XML-DEV <xml-dev@lists.xml.org>
- Date: Thu, 01 Mar 2001 11:41:37 -0500
At 02:32 PM 2/26/2001 -0500, Arnaud Sahuguet wrote:
>What I find not that good in XQuery?
>====================================
>
>- XQuery wants to be a very expressive language and it is not clear to
>me how you can combine:
> . composition of queries with the ability to output any XML you want
Could you please unpack that a little? I'm not sure that I grasp your meaning.
> . optimization with recursive function
> . optimization with FILTER
You are right - XQuery does want to be very expressive, and this *is* a
two-edged sword. Recursive functions are going to be hard to optimize -
that's a fact of life. I think it's worth discussing various ways of
limiting recursion (structural recursion, fixed-point recursion,
etc.). However, tracing chains of references is a common use for recursive
functions, and this seems like an important thing to be able to do.
Our choices seem to be roughly:
1. Disallow recursive functions, which would significantly limit the power
of the language.
2. Impose some limit on the forms of recursion that are allowed.
3. Give warnings for recursive functions, or perhaps only for those that
are not limited to a form that we know is guaranteed to terminate.
Lots of people have done deeper thinking than I have on this, but for what
it's worth, the third option looks attractive to me right now.
>The main issue (and it is actually a big research issue) is to
>find/guess what the low-level operators for the XML data models
>are. For relational databases, we already know them and this is what
>makes DBMS fast. The holy grail should not be the language, but these
>low-level operators (XScan, from Univ. of Washington, is a first
>attempt. See http://data.cs.washington.edu/xml/xscan.pdf).
Thanks for the reference - I will read this. Clearly, this is a vitally
important issue.
>For more info, you can read a tech report about the implementation of
>Kweelt: http://db.cis.upenn.edu/DL/kweelt-TR.pdf
>The Kweelt code can be found at: http://db.cis.upenn.edu/Kweelt/
>
>I will also give a talk at XML Dev Con 2001 in NYC in April.
Thanks for all the references - I'll see you in April. I'd like to meet you
and talk.
Jonathan