Uploaded image for project: 'Apache Jena'
  1. Apache Jena
  2. JENA-1148

TransformFilterEquality incorrectly eliminates some optionals

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Jena 3.1.0
    • Component/s: ARQ

      Description

      For a query of the form:

      SELECT * {
        ?s ?p ?o
        OPTIONAL {
          FILTER(?o=<urn:x1>)
          BIND(true AS ?b)
        }
      }
      

      ARQ optimization incorrectly eliminates the whole OPTIONAL when the variable filtered on does not appear elsewhere inside the OPTIONAL block . This is because of the special case check called on line 120 of TransformFilterEquality.java, which sees that ?o is not used inside the block of the filter and thus (in this case incorrectly) deduces that it could never be <urn:x1>.

        Attachments

          Activity

            People

            • Assignee:
              andy Andy Seaborne
              Reporter:
              jiemakel Eetu Mäkelä
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: