Charles,

There are several places the query can be extended. I think you may want to
look at modifyOp() and eval() in QueryEngine (I used QueryEngineMain and
over rode those methods).

The other piece of the puzzle is to create a QueryEngineFactory that will
create your QueryEngine instance on demand.  QueryEngineFactory has a
method accept() that you override to detect requests for your a queryengine
on your graph type.   You can register and unregister your factory with
calls to the static methods QueryEngineRegistry.addFactory() and
QueryEngineRegistry.unregister()

I think you will want to implement the Graph interface rather than the
dataset.

I hope this points you in the right direction

Claude



On Thu, Jun 4, 2015 at 1:06 AM, Charles Greer <[email protected]>
wrote:

> Hello Jenarators,
>
> If I'm implementing a custom Dataset implemention (Hi, I'm implementing a
> custom Dataset for MarkLogic), how would I expect
> to create a QueryExecution instance?
>
> It seems that QueryExecutionFactory.create(Query query, Dataset dataset)
>
> should have some hope to create a specific implementation of
> QueryExecution, but I don't see the hook into how that might
> be done.
>
> Do you think I need my own custom static factory method in order to
> support a new kind of QueryExecution?
>
> QueryExecution queryExecution = CustomQueryExecutionFactory.create(Query
> query, Dataset dataset)
>
> I really only want to make these if the Dataset in question is one of my
> own.
>
> Many thanks,
>
> Charles
>
>
>
>
> Charles Greer
> Lead Engineer
> MarkLogic Corporation
> [email protected]
> Cell:  +1 707 318 0442
> @grechaw
> www.marklogic.com
>
>


-- 
I like: Like Like - The likeliest place on the web
<http://like-like.xenei.com>
LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to