Uploaded image for project: 'Blazegraph (by SYSTAP)'
  1. Blazegraph (by SYSTAP)
  2. BLZG-1363

Join reordering problems

    XMLWordPrintable

    Details

      Description

      The following query

      SELECT *
      WHERE {
        SELECT ?X {
          ?X :p2 :o2 .
        }
        {{ BIND(?X as ?new) } UNION { ?X :p :o }}
      }
      

      is rewritten (by the new JoinGroupOrderOptimizer) as

      SELECT *
      WHERE {
       {{ BIND(?X as ?new) } UNION { ?X :p :o }}
        SELECT ?X {
          ?X :p2 :o2 .
        }
      }
      

      The problem is that the binding of ?new requires ?X to be bound, i.e. the UNION node must be evaluated after the BIND node. The optimizer needs to be adjusted to take such recursive binding requirements into account.

        Attachments

          Activity

            People

            Assignee:
            michaelschmidt michaelschmidt
            Reporter:
            michaelschmidt michaelschmidt
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: