Hey All

We're looking to disable TransformFilterEquality because for our query engine 
it generates an algebra that we can't process (because it uses extend and we 
only support SPARQL 1.0 operations currently).  Initially we just reversed the 
obvious part of this optimisation in our Transform by turning extend back into 
filter = but we've now noticed that TransformFilterEquality doesn't just switch 
filter for extend but it actually substitutes the constant for the variable in 
the inner algebra operations.  So when our engine hits the recreated filter the 
variable in question doesn't exist so it blindly filters everything out.

So having traced the code paths for optimization I can see that in 
Optimize.rewrite() it applies a bunch of different optimizations depending on 
what context symbols are set.   AFAICT it should be a simple case of setting 
the symbol ARQ.optFilterEquality to be false

My concern is that in the last ARQ release this was marked deprecated but in 
the latest trunk it is not so what is the actual status of this switch?  We 
need to use it so we'd really like to see it stay in ARQ

Regards,

Rob Vesse

Reply via email to