This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/jena.git

commit 555845e614ec35967708080219ab03ad234b5976
Author: Andy Seaborne <[email protected]>
AuthorDate: Tue Mar 4 11:28:26 2025 +0000

    Add ExprTransform.transform(Node)
---
 .../java/org/apache/jena/sparql/expr/ExprTransform.java   | 15 +++++++++++++--
 .../org/apache/jena/sparql/graph/NodeTransformExpr.java   |  6 +++---
 2 files changed, 16 insertions(+), 5 deletions(-)

diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprTransform.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprTransform.java
index 484d6c2993..66d16c5ced 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprTransform.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprTransform.java
@@ -18,7 +18,9 @@
 
 package org.apache.jena.sparql.expr;
 
+import org.apache.jena.graph.Node;
 import org.apache.jena.sparql.algebra.Op ;
+import org.apache.jena.sparql.core.Var;
 
 public interface ExprTransform
 {
@@ -29,8 +31,17 @@ public interface ExprTransform
     public Expr transform(ExprFunctionN func, ExprList args) ;
     public Expr transform(ExprFunctionOp funcOp, ExprList args, Op opArg) ;
     public Expr transform(NodeValue nv) ;
-    //default public Expr transform(ExprNone exprNone) { return exprNone ; }
+
+    public default Expr transform(Node node) {
+        if ( Var.isVar(node) ) {
+            ExprVar exprVar = new ExprVar(node);
+            return transform(exprVar);
+        }
+        NodeValue nv = NodeValue.makeNode(node);
+        return transform(nv);
+    }
+
     public Expr transform(ExprNone exprNone) ;
-    public Expr transform(ExprVar nv) ;
+    public Expr transform(ExprVar exprVar) ;
     public Expr transform(ExprAggregator eAgg) ;
 }
diff --git 
a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformExpr.java 
b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformExpr.java
index 0ca88cdd14..81a110289b 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformExpr.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformExpr.java
@@ -50,13 +50,13 @@ public class NodeTransformExpr extends ExprTransformCopy {
     }
 
     /** Transform node then create a {@link ExprVar} or {@link NodeValue}. */
-    private Expr transform(Node input) {
+    @Override
+    public Expr transform(Node input) {
         Node n = transform.apply(input);
         if ( n == null )
             throw new InternalErrorException("NodeTransform creates a null");
         if ( ! Var.isVar(n) )
             return NodeValue.makeNode(n);
-        String name = Var.alloc(n).getVarName();
-        return new ExprVar(n.getName());
+        return new ExprVar(n);
     }
 }

Reply via email to