Aklakan opened a new issue, #2883:
URL: https://github.com/apache/jena/issues/2883

   ### Version
   
   5.3.0-SNAPSHOT
   
   ### What happened?
   
   The following query fails an `OpAsQuery` roundtrip due to an NPE:
   
   ```java
   @Test
   public void testAlgebra04() {
       String queryStr = """
           SELECT * {
             LATERAL {
                 SELECT * {
                   ?s a ?t
                   FILTER EXISTS { SELECT * { ?s a ?c } }
                 } LIMIT 1
             }
           }
           """;
       test_roundTripAlegbra(queryStr, Syntax.syntaxARQ);
     }
   ```
   
![image](https://github.com/user-attachments/assets/19c3b94d-cf3e-49ad-b737-beb1e1f78f6f)
   
   
   ### Relevant output and stacktrace
   
   ```shell
   java.lang.NullPointerException: Cannot invoke 
"org.apache.jena.sparql.expr.ExprTransform.transform(org.apache.jena.sparql.expr.ExprVar)"
 because "exprTransform" is null
        at 
org.apache.jena.sparql.syntax.syntaxtransform.QueryTransformOps.transformVarExprList(QueryTransformOps.java:238)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.QueryTransformOps.mutateVarExprList(QueryTransformOps.java:208)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.QueryTransformOps.mutateByQueryType(QueryTransformOps.java:143)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.QueryTransformOps.transform(QueryTransformOps.java:72)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ApplyElementTransformVisitor.visit(ApplyElementTransformVisitor.java:222)
        at 
org.apache.jena.sparql.syntax.ElementWalker$EltWalker.visit(ElementWalker.java:200)
        at 
org.apache.jena.sparql.syntax.ElementSubQuery.visit(ElementSubQuery.java:52)
        at 
org.apache.jena.sparql.syntax.ElementWalker.walk(ElementWalker.java:37)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.applyTransformation(ElementTransformer.java:80)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.transformation(ElementTransformer.java:74)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.transformation(ElementTransformer.java:65)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.transform(ElementTransformer.java:57)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.transform(ElementTransformer.java:47)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ExprTransformApplyElementTransform.transform(ExprTransformApplyElementTransform.java:46)
        at 
org.apache.jena.sparql.expr.ExprFunctionOp.apply(ExprFunctionOp.java:86)
        at 
org.apache.jena.sparql.algebra.walker.ApplyTransformVisitor.visit(ApplyTransformVisitor.java:426)
        at 
org.apache.jena.sparql.expr.ExprFunctionOp.visit(ExprFunctionOp.java:85)
        at 
org.apache.jena.sparql.algebra.walker.WalkerVisitor.visit(WalkerVisitor.java:279)
        at 
org.apache.jena.sparql.expr.ExprFunctionOp.visit(ExprFunctionOp.java:85)
        at 
org.apache.jena.sparql.algebra.walker.WalkerVisitor.walk(WalkerVisitor.java:91)
        at org.apache.jena.sparql.algebra.walker.Walker.walk$(Walker.java:104)
        at org.apache.jena.sparql.algebra.walker.Walker.walk$(Walker.java:100)
        at org.apache.jena.sparql.algebra.walker.Walker.walk(Walker.java:95)
        at 
org.apache.jena.sparql.algebra.walker.Walker.transform(Walker.java:211)
        at 
org.apache.jena.sparql.algebra.walker.Walker.transform(Walker.java:200)
        at 
org.apache.jena.sparql.algebra.walker.Walker.transform(Walker.java:194)
        at 
org.apache.jena.sparql.expr.ExprTransformer.transform(ExprTransformer.java:27)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ApplyElementTransformVisitor.transformExpr(ApplyElementTransformVisitor.java:241)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ApplyElementTransformVisitor.visit(ApplyElementTransformVisitor.java:77)
        at 
org.apache.jena.sparql.syntax.ElementWalker$EltWalker.visit(ElementWalker.java:75)
        at 
org.apache.jena.sparql.syntax.ElementFilter.visit(ElementFilter.java:35)
        at 
org.apache.jena.sparql.syntax.ElementWalker$EltWalker.visit(ElementWalker.java:121)
        at 
org.apache.jena.sparql.syntax.ElementGroup.visit(ElementGroup.java:120)
        at 
org.apache.jena.sparql.syntax.ElementWalker.walk(ElementWalker.java:37)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.applyTransformation(ElementTransformer.java:80)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.transformation(ElementTransformer.java:74)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.transformation(ElementTransformer.java:65)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.transform(ElementTransformer.java:52)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.QueryTransformOps.mutateQueryPattern(QueryTransformOps.java:90)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.QueryTransformOps.transform(QueryTransformOps.java:77)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ApplyElementTransformVisitor.visit(ApplyElementTransformVisitor.java:222)
        at 
org.apache.jena.sparql.syntax.ElementWalker$EltWalker.visit(ElementWalker.java:200)
        at 
org.apache.jena.sparql.syntax.ElementSubQuery.visit(ElementSubQuery.java:52)
        at 
org.apache.jena.sparql.syntax.ElementWalker$EltWalker.visit(ElementWalker.java:121)
        at 
org.apache.jena.sparql.syntax.ElementGroup.visit(ElementGroup.java:120)
        at 
org.apache.jena.sparql.syntax.ElementWalker$EltWalker.visit(ElementWalker.java:139)
        at 
org.apache.jena.sparql.syntax.ElementLateral.visit(ElementLateral.java:59)
        at 
org.apache.jena.sparql.syntax.ElementWalker$EltWalker.visit(ElementWalker.java:121)
        at 
org.apache.jena.sparql.syntax.ElementGroup.visit(ElementGroup.java:120)
        at 
org.apache.jena.sparql.syntax.ElementWalker.walk(ElementWalker.java:37)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.applyTransformation(ElementTransformer.java:80)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.transformation(ElementTransformer.java:74)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.transformation(ElementTransformer.java:65)
        at 
org.apache.jena.sparql.syntax.syntaxtransform.ElementTransformer.transform(ElementTransformer.java:52)
        at 
org.apache.jena.sparql.algebra.OpAsQuery$Converter.fixupGroupsOfOne(OpAsQuery.java:438)
        at 
org.apache.jena.sparql.algebra.OpAsQuery$Converter.processQueryPattern(OpAsQuery.java:409)
        at 
org.apache.jena.sparql.algebra.OpAsQuery$Converter.convertInner(OpAsQuery.java:229)
        at 
org.apache.jena.sparql.algebra.OpAsQuery$Converter.convert(OpAsQuery.java:207)
        at org.apache.jena.sparql.algebra.OpAsQuery.asQuery(OpAsQuery.java:81)
        at 
org.apache.jena.sparql.algebra.TestOpAsQuery.queryToQuery(TestOpAsQuery.java:674)
        at 
org.apache.jena.sparql.algebra.TestOpAsQuery.test_roundTripAlegbra(TestOpAsQuery.java:650)
        at 
org.apache.jena.sparql.algebra.TestOpAsQuery.testAlgebra04(TestOpAsQuery.java:574)
        at java.base/java.lang.reflect.Method.invoke(Method.java:569)
   ```
   
   
   ### Are you interested in making a pull request?
   
   Yes


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to