Thanks Reto, This clarifies the difference between fast-lane and slow-lane.
Regards, Minto Op 5-5-2013 19:37, Reto Bachmann-Gmür schreef: > 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. > > Cheers, > Reto > -- ir. ing. Minto van der Sluis Software innovator / renovator Xup BV Mobiel: +31 (0) 626 014541
