Thanks for sharing this, Mike.  I will take a look.

I was caught off-guard by the lack of a query parser.  The only other
XML database I've worked with, Textml Server, does have one.

It's obvious now after seeing your approach, but my initial reaction
was to try and parse the query in XQuery.  That may not be the best
idea.

Thanks again!

On 5/9/07, Mike Sokolov <[EMAIL PROTECTED]> wrote:
Ours is here: http://www.ifactory.com/cql/.

It does AND, OR, NEAR, quoting, and various other good things.  It
generates a cts:query, making some assumptions you may or may not like...

We have some updates in an internal version that we could make available
if there is interest.

There is also another parser out there in the xqzone that Ryan Grimm
made, (I think?)

Griffin, Matt wrote:
> You can't have a common expression parser without a common expression
> language.  Everyone develops their own EL for their own purposes and
> writes their own parser.
>
> That being said, I remember hearing that someone had open sourced their
> parser.  I can't recall who it was but maybe they're lurking here.
>
> -Matt
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Mattio
> Valentino
> Sent: Wednesday, May 09, 2007 3:54 PM
> To: General Mark Logic Developer Discussion
> Subject: [MarkLogic Dev General] No query parser?
>
> Before I start asking for some advice, is it true that MarkLogic does
> not have any sort of query parser?
>
> I'm looking for something that can take a reasonably parseable string
> from a user and pass me back a query expression that MarkLogic can
> understand.  So, if the user typed in...
>
> hamlet or macbeth and "harold bloom" not psychology
>
> ..I'd like to parse that into something I can feed to cts:search().
> I've seen the examples in the Developer's Guide to handle quoted
> strings and to build an expression that is a series of
> cts:word-query()s nested within a cts:and-query(), but nothing on how
> to come up with something that would be nested.  A query like the
> above could be parsed into something like:
>
> cts:and-not-query(
>   cts:and-query(
>     cts:or-query( cts:word-query("hamlet"), cts:word-query("macbeth") ),
>     cts:word-query("harold bloom")
>   ),
>   cts:word-query("psychology")
> )
>
> Is there nothing built-in for this?
> _______________________________________________
> General mailing list
> [email protected]
> http://xqzone.com/mailman/listinfo/general
> _______________________________________________
> General mailing list
> [email protected]
> http://xqzone.com/mailman/listinfo/general
>
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general

Reply via email to