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

Filter placement together with a property function can cause NPE.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • Jena 3.1.1
    • TDB
    • None

    Description

      TDB sets filter placement within BGPs to false (it does it itself).

      placePropertyFunctionProcedure does not handle the "no change" case properly. This arises when

      placeOrWrapBGP => wrapBGP which happens in the TDB case but not memory graphs.placeBGP happens to always rebuild, wrapBGP does not.

      SELECT ?s
      WHERE {
          ?s ?p ?o .
          ?s <http://www.w3.org/2000/01/rdf-schema#member> ?m .
          FILTER (!bound(?test))
      } 
      

      causes:

      org.apache.jena.sparql.algebra.optimize.TransformFilterPlacement.placePropertyFunctionProcedure(TransformFilterPlacement.java:453)
          at org.apache.jena.sparql.algebra.optimize.TransformFilterPlacement.placePropertyFunction(TransformFilterPlacement.java:432)
          at org.apache.jena.sparql.algebra.optimize.TransformFilterPlacement.transform(TransformFilterPlacement.java:200)
          at org.apache.jena.sparql.algebra.optimize.TransformFilterPlacement.transform(TransformFilterPlacement.java:159)
          at org.apache.jena.sparql.algebra.TransformWrapper.transform(TransformWrapper.java:59) 
      ...
      

      Attachments

        Activity

          People

            andy Andy Seaborne
            andy Andy Seaborne
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: