You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jena.apache.org by Andy Seaborne <an...@apache.org> on 2014/05/24 20:44:08 UTC

Change to the optimizer : property path expansion to happen early

Rob,

As part of JENA-631 (Property paths not executing property functions), I 
found that the translation of simple property paths was happening very 
late in the optimization sequence transformations.

Uses of sequence :p/:q expand to triple patterns.  If this is done late, 
earlier optimizations see property paths and not triple patterns.

One of those happens to be the transform that inserts property functions.

I've moved the property path flattening to be the first transform of 
note.  Hopefully this does nothing but improve the situation but it's a 
delicate balance hence pointing it out..

	Andy

Re: Change to the optimizer : property path expansion to happen early

Posted by Andy Seaborne <an...@apache.org>.
Rob,

Good point about property functions being turned off.

I reviewed the determining code in PathEngine and whether its off in the 
context, or the PropertyFunction registry has been emptied, or specific 
functions removed, then the code will not process property functions in 
property paths.

The reordering the optimizaer will shoudl only affect you in that some 
optimizations may occur where :p/:q was used and is now expanded into 
the triple pattern only form right at the start of optimization.

	Andy

On 27/05/14 09:03, Rob Vesse wrote:
> Sounds like a sensible change to me for ARQ and TDB
>
> We don't support property functions in Urika so we turn off that
> optimisation in our optimiser so will likely make no difference to us there
>
> Thanks for the heads up,
>
> Rob
>
> On 24/05/2014 19:44, "Andy Seaborne" <an...@apache.org> wrote:
>
>> Rob,
>>
>> As part of JENA-631 (Property paths not executing property functions), I
>> found that the translation of simple property paths was happening very
>> late in the optimization sequence transformations.
>>
>> Uses of sequence :p/:q expand to triple patterns.  If this is done late,
>> earlier optimizations see property paths and not triple patterns.
>>
>> One of those happens to be the transform that inserts property functions.
>>
>> I've moved the property path flattening to be the first transform of
>> note.  Hopefully this does nothing but improve the situation but it's a
>> delicate balance hence pointing it out..
>>
>> 	Andy
>
>
>
>


Re: Change to the optimizer : property path expansion to happen early

Posted by Rob Vesse <rv...@dotnetrdf.org>.
Sounds like a sensible change to me for ARQ and TDB

We don't support property functions in Urika so we turn off that
optimisation in our optimiser so will likely make no difference to us there

Thanks for the heads up,

Rob

On 24/05/2014 19:44, "Andy Seaborne" <an...@apache.org> wrote:

>Rob,
>
>As part of JENA-631 (Property paths not executing property functions), I
>found that the translation of simple property paths was happening very
>late in the optimization sequence transformations.
>
>Uses of sequence :p/:q expand to triple patterns.  If this is done late,
>earlier optimizations see property paths and not triple patterns.
>
>One of those happens to be the transform that inserts property functions.
>
>I've moved the property path flattening to be the first transform of
>note.  Hopefully this does nothing but improve the situation but it's a
>delicate balance hence pointing it out..
>
>	Andy