clerezza-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Reto Bachmann-Gmür <>
Subject Re: Some Questions regarding implementing fastlane
Date Sun, 05 May 2013 17:37:12 GMT
Hi Minto

Great work updating the modules!

Now to the questions.

> > - Forward query to fast- or slowlane using the Preparerser Hasan recently
> > implemented
> Questions: Where is this decision taken? How to decide whether to use
> QueryEngine of QueryableTcProvider ? Are these both fast-lane?

(Deferring the where question to when I write the code.)
The QueryEngine is the slow-lane it works on any set of TripleCollections.
QueryableTcProvider is the FastLane in that it might benefit from any
optimization the backend provides it can only be used if the query only
affects TripleCollections that are all provided by the same TcProvider (and
this implements QueryableTcProvider).

> - Make TdbTcProvider implement QueryableTcProvider
> Question: Why is this needed if JenaSparqlEngine (implementation of
> previous bullet) already takes care of this?

The JenaSparqleEngine works on any TripleCollections which are passed to
Jena wrapped as Jena Graphs. JenaSparqlEngine can only access the data in
these graphs via the provided filter method. The assumption is that TDB can
handle (some) queries more efficiently by using its internal quad-store or
other optimization techniques it could provide.

> Of coarse I could wire Tdb*Providers to use JenaSparqlEngine. But I
> don't see the point.

This shouldn't be wired to JenaSparqlEngine (only probably reuse response
wrapping code) but forward the query directly to Jena rather than wrapping
JenaGraphs as TripleCollections in the Tdb*Provider and wrapping these back
to Jena Graphs for querying in the JenaSparqlEngine.

Hope this makes things clearer.


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message