[xquery-talk] Release of the GCX XQuery EngineQ
Marc Van Cappellen
Marc.Van.Cappellen at datadirect.com
Mon Feb 5 15:12:21 PST 2007
As indicated in some other email on this thread, DataDirect XQuery is an
implementation with both document projection as well as streaming
I'm not sure to agree with the "database-oriented" versus
"document-oriented" categorization. DataDirect XQuery supports various
data sources, but it can also be used in "document-oriented" only
applications and is pull-based internally. At the API side, implementing
an XQJ early draft, it offers both SAX (push) and StAX (pull) without
breaking or limiting the underlying streaming capabilities.
> -----Original Message-----
> From: talk-bounces at x-query.com [mailto:talk-bounces at x-query.com] On
> Of Per Bothner
> Sent: Monday, February 05, 2007 2:06 AM
> To: Stefanie Scherzinger
> Cc: talk at x-query.com
> Subject: Re: [xquery-talk] Release of the GCX XQuery EngineQ
> Stefanie Scherzinger wrote:
> > The other in-memory engines (QizX, Galax, and Saxon) implement more
> > XQuery features (or all of them),
> Qexo is also an in-memory engine (though it has an abstraction layer
> to it could potentially hook up to data-base), and open-source
> under a liberal license.
> > but they are not geared towards stream processing.
> > ...
> > Unfortunately, no other streaming XQuery implementations are to be
> > to be compared against. However, if you know of any suitable
> > implementations, I'd appreciate it very much if you could point us
> > them.
> As I see it, there are two kinds of "streaming" implementations:
> - pull-based: expressions are evaluated at-need (lazily) when and if
> their results are needed; or
> - push-based: expressions are evaluated eagerly, but sub-parts of the
> results are "pushed" to a "consumer" as they are generated, while
> avoiding creating of complete "reified" sequences, if possible.
> The "data-base-oriented" implementations seem to be pull-based,
> while more "document-oriented" ones may be push-based. At least Qexo
> falls into the latter category, and my impression is Saxon does too.
> My impression from your web-page is that GCX is "push-based", so it
> should be comparable to Qexo and Saxon.
> Now Qexo has not been heavily optimized, and it is certainly true
> that there are places where it re-ifies values where it should stream
> them. Hopefully I'll have time to study your implementation and
> other relevant research so I can do better.
> --Per Bothner
> per at bothner.com http://per.bothner.com/
> talk at x-query.com
More information about the talk