Hi

We would like to add some features to D2RQ. It would make sense to start from 
the develop branch, as it contains a partial rewrite of the code. Adding 
features on top of master seems like a waste now, because it would be difficult 
to merge the changes when the develop branch becomes the master.

However, we noticed that a lot of the optimizations that are present on the 
master branch, don't work on the develop branch (tested with --fast). 
* FILTER clauses are not translated into conditions.
* Even simple graph patterns don't translate to a SQL join, but to many 
individual queries.

Example

PREFIX v: <http://localhost:2020/resource/vocab/>
SELECT *
WHERE {
  ?s a v:some_table.
  ?s v:some_table_col ?o.
}

Results in the following queries to the database

SELECT "some_table"."id" FROM "some_table"
SELECT "some_table"."col" FROM "some_table" WHERE "some_table"."id"=1
...
SELECT "some_table"."col" FROM "some_table" WHERE "some_table"."id"=3018
SELECT "some_table"."col" FROM "some_table" WHERE "some_table"."id"=3019

After diving into the code, we noticed that the QueryEngineD2RQ isn't really 
used anymore in the develop branch. Instead, it seems it relies more on 
GraphD2RQ.graphBaseFind, which is limited in the optimizations it can do 
(because of the API).

Is this intended behaviour? If so, where is the develop branch heading wrt 
query optimization? Is it really the goal to replace QueryEngineD2RQ with 
something else?

Thanks
Ewout


------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_feb
_______________________________________________
d2rq-map-devel mailing list
d2rq-map-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/d2rq-map-devel

Reply via email to