It does - that's the "as reported" form.

The better

         where {
            ?type rdfs:subClassOf owl:Thing .
            ?X rdfs:subClassOf? ?type
            ?obj a ?X .
         }

is the expansion but the other way round (and which would be worse in other cases).

You can try all this out from the command line with "qparse --print=opt" and online at sparql.org.

    Andy

On 05/06/18 00:24, Claude Warren wrote:
Would it not make sense for the optimizer to convert to a form with the
intermediate variable?

Claude

On Mon, Jun 4, 2018, 2:37 PM Andy Seaborne <a...@apache.org> wrote:

Clause,

"qparse --print=opt"

Because by expansion of "/" you get a cross product BGP and the path
blocks the optimizer (it does not get moved):

As reported:

           where {
              ?type rdfs:subClassOf owl:Thing . # No vars in common
              ?obj a ?X .                       # No vars in common
              ?X rdfs:subClassOf? ?type
           }

         Andy

On 04/06/18 18:20, Claude Warren wrote:
Andy,

Why does the non path where clause work better?

Claude



Reply via email to