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

Bad join ordering with nested values clause

    Details

    • Type: Bug
    • Status: Done
    • Priority: High
    • Resolution: Done
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      For some reason the ASTStaticJoinOptimizer / StaticOptimizer code does not consider Values clauses as part of the ancestry, which leads to a bad join ordering. Here is an example:

      {{
      where {
      values (?a, ?b)

      { ... }


      ?a ?p ?b . # cardinality 100k, but bound by values
      ?p <x> <y> . #cardinality 10k
      }}

      The query above will reorder the (?p <x> <y>) above (?a ?p ?b) because it thinks the cardinality is lower, even though (?a ?p ?b) will run as-bound by the values clause. The results in an unnecessary cross-product and large # of intermediate solutions.

        Issue Links

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              beebs Brad Bebee
              Reporter:
              mikepersonick mikepersonick
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: