You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2015/05/06 20:40:38 UTC

[6/8] jena git commit: Bringing back NodeTransform

Bringing back NodeTransform


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/0ef8184f
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/0ef8184f
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/0ef8184f

Branch: refs/heads/master
Commit: 0ef8184f7b8b49cd2c7a9fdf702649495e62d435
Parents: 6711901
Author: ajs6f <aj...@virginia.edu>
Authored: Tue May 5 12:50:11 2015 -0400
Committer: ajs6f <aj...@virginia.edu>
Committed: Tue May 5 12:50:11 2015 -0400

----------------------------------------------------------------------
 .../org/apache/jena/sparql/engine/Rename.java   | 19 +++++++------
 .../org/apache/jena/sparql/expr/E_Exists.java   |  6 ++---
 .../apache/jena/sparql/expr/E_NotExists.java    |  6 ++---
 .../java/org/apache/jena/sparql/expr/Expr.java  |  6 ++---
 .../apache/jena/sparql/expr/ExprAggregator.java |  5 ++--
 .../apache/jena/sparql/expr/ExprFunction0.java  |  6 ++---
 .../apache/jena/sparql/expr/ExprFunction1.java  |  6 ++---
 .../apache/jena/sparql/expr/ExprFunction2.java  |  6 ++---
 .../apache/jena/sparql/expr/ExprFunction3.java  |  6 ++---
 .../apache/jena/sparql/expr/ExprFunctionN.java  |  6 ++---
 .../org/apache/jena/sparql/expr/ExprList.java   |  6 ++---
 .../org/apache/jena/sparql/expr/ExprNode.java   |  6 ++---
 .../org/apache/jena/sparql/expr/ExprVar.java    |  5 ++--
 .../org/apache/jena/sparql/expr/NodeValue.java  |  5 ++--
 .../jena/sparql/expr/aggregate/Aggregator.java  |  5 ++--
 .../sparql/expr/aggregate/AggregatorBase.java   |  5 ++--
 .../apache/jena/sparql/graph/NodeTransform.java |  6 +----
 .../jena/sparql/graph/NodeTransformLib.java     | 28 +++++++++-----------
 .../jena/sparql/graph/NodeTransformOp.java      |  6 ++---
 .../modify/NodeTransformBNodesToVariables.java  |  5 ++--
 .../jena/sparql/modify/UpdateEngineWorker.java  |  5 ++--
 .../jena/sparql/resultset/ResultSetCompare.java | 13 ++-------
 .../org/apache/jena/sparql/util/NodeUtils.java  |  5 +++-
 .../jena/riot/thrift/TestResultSetThrift.java   | 11 --------
 .../query/rewriter/SecuredFunction.java         |  5 ++--
 25 files changed, 67 insertions(+), 121 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
index bc1d4ea..966941d 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/Rename.java
@@ -22,14 +22,13 @@ import java.util.Collection ;
 import java.util.HashMap ;
 import java.util.Map ;
 import java.util.Set ;
-import java.util.function.Function;
-
 import org.apache.jena.graph.Node ;
 import org.apache.jena.sparql.ARQConstants ;
 import org.apache.jena.sparql.algebra.Op ;
 import org.apache.jena.sparql.core.Var ;
 import org.apache.jena.sparql.expr.Expr ;
 import org.apache.jena.sparql.expr.ExprList ;
+import org.apache.jena.sparql.graph.NodeTransform;
 import org.apache.jena.sparql.graph.NodeTransformLib ;
 
 /** Support for renaming all the variables in an algebra expession
@@ -49,14 +48,14 @@ public class Rename
     /** Rename one node to another */
     public static Op renameNode(Op op, Node oldName, Node newName)
     {
-    		Function<Node, Node> renamer = new RenameNode(oldName, newName) ;
+    		NodeTransform renamer = new RenameNode(oldName, newName) ;
         return NodeTransformLib.transform(renamer, op) ;
     }
 
     /** Rename one variable to another */
     public static Op renameVar(Op op, Var oldName, Var newName)
     {
-    		Function<Node, Node> renamer = new RenameNode(oldName, newName) ;
+    		NodeTransform renamer = new RenameNode(oldName, newName) ;
         return NodeTransformLib.transform(renamer, op) ;
     }
     
@@ -76,13 +75,13 @@ public class Rename
     /** Rename all variables in an expression, EXCEPT for those named as constant */ 
     public static ExprList renameVars(ExprList exprList, Set<Var> constants)
     {
-    		Function<Node, Node> renamer = new RenameAnyVars(constants, prefix) ;
+    		NodeTransform renamer = new RenameAnyVars(constants, prefix) ;
         return NodeTransformLib.transform(renamer, exprList) ;
     }
         
     public static Expr renameVars(Expr expr, Set<Var> constants)
     {
-    		Function<Node, Node> renamer = new RenameAnyVars(constants, prefix) ;
+    		NodeTransform renamer = new RenameAnyVars(constants, prefix) ;
         return NodeTransformLib.transform(renamer, expr) ;
     }
     
@@ -90,13 +89,13 @@ public class Rename
      * This assumes the op was renamed by VarRename.rename */
     public static Op reverseVarRename(Op op, boolean repeatedly)
     {
-    		Function<Node, Node> renamer = new UnrenameAnyVars(prefix, repeatedly) ;
+    		NodeTransform renamer = new UnrenameAnyVars(prefix, repeatedly) ;
         return NodeTransformLib.transform(renamer, op) ;
     }
     
     // ---- Transforms that do the renaming and unrenaming.
     
-    static class RenameNode implements Function<Node, Node>
+    static class RenameNode implements NodeTransform
     {
         private final Node oldName ;
         private final Node newName ;
@@ -116,7 +115,7 @@ public class Rename
         
     }
     
-    static class RenameAnyVars implements Function<Node, Node>
+    static class RenameAnyVars implements NodeTransform
     {
         private final Map<Var, Var> aliases = new HashMap<>() ;
         private final Collection<Var> constants ;
@@ -151,7 +150,7 @@ public class Rename
     }
 
     /** Reverse a renaming (assuming renaming was done by prefixing variable names) */
-    static class UnrenameAnyVars implements Function<Node, Node>
+    static class UnrenameAnyVars implements NodeTransform
     {
         private final String varPrefix ;
         private final boolean repeatedly ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
index 0445350..c33839e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_Exists.java
@@ -18,15 +18,13 @@
 
 package org.apache.jena.sparql.expr;
 
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
 import org.apache.jena.sparql.algebra.Algebra ;
 import org.apache.jena.sparql.algebra.Op ;
 import org.apache.jena.sparql.core.Substitute ;
 import org.apache.jena.sparql.engine.QueryIterator ;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 import org.apache.jena.sparql.graph.NodeTransformLib ;
 import org.apache.jena.sparql.sse.Tags ;
 import org.apache.jena.sparql.syntax.Element ;
@@ -58,7 +56,7 @@ public class E_Exists extends ExprFunctionOp
     }
 
     @Override
-    public Expr applyNodeTransform(Function<Node, Node> nodeTransform)
+    public Expr applyNodeTransform(NodeTransform nodeTransform)
     {
         Op op2 = NodeTransformLib.transform(nodeTransform, getGraphPattern()) ;
         return new E_Exists(getElement(), op2) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
index 250d105..e236970 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/E_NotExists.java
@@ -18,15 +18,13 @@
 
 package org.apache.jena.sparql.expr;
 
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
 import org.apache.jena.sparql.algebra.Algebra ;
 import org.apache.jena.sparql.algebra.Op ;
 import org.apache.jena.sparql.core.Substitute ;
 import org.apache.jena.sparql.engine.QueryIterator ;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 import org.apache.jena.sparql.graph.NodeTransformLib ;
 import org.apache.jena.sparql.sse.Tags ;
 import org.apache.jena.sparql.syntax.Element ;
@@ -59,7 +57,7 @@ public class E_NotExists extends ExprFunctionOp
     }
 
     @Override
-    public Expr applyNodeTransform(Function<Node, Node> nodeTransform)
+    public Expr applyNodeTransform(NodeTransform nodeTransform)
     {
         Op op2 = NodeTransformLib.transform(nodeTransform, getGraphPattern()) ;
         return new E_NotExists(getElement(), op2) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
index 124a842..3358575 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/Expr.java
@@ -20,14 +20,12 @@ package org.apache.jena.sparql.expr;
 
 import java.util.Collection ;
 import java.util.Set ;
-import java.util.function.Function;
-
 import javax.xml.datatype.DatatypeConstants ;
 
-import org.apache.jena.graph.Node;
 import org.apache.jena.sparql.core.Var ;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 
 public interface Expr
 {
@@ -64,7 +62,7 @@ public interface Expr
     /**
      * Rewrite, applying a node->node transformation
      */
-    public Expr applyNodeTransform(Function<Node, Node> transform) ;
+    public Expr applyNodeTransform(NodeTransform transform) ;
 
     /** Deep copy */
     public Expr deepCopy() ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
index 24a2fa5..ed79caf 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprAggregator.java
@@ -19,8 +19,6 @@
 package org.apache.jena.sparql.expr;
 
 import java.util.Objects;
-import java.util.function.Function;
-
 import org.apache.jena.atlas.lib.Lib ;
 import org.apache.jena.atlas.logging.Log ;
 import org.apache.jena.graph.Node ;
@@ -29,6 +27,7 @@ import org.apache.jena.sparql.core.Var ;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.expr.aggregate.Aggregator ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 import org.apache.jena.sparql.serializer.SerializationContext ;
 
 /** Group aggregation functions calculated a value during grouping and
@@ -108,7 +107,7 @@ public class ExprAggregator extends ExprNode
     }
     
     @Override
-    public ExprAggregator applyNodeTransform(Function<Node, Node> transform)
+    public ExprAggregator applyNodeTransform(NodeTransform transform)
     {
         // Can't rewrite this to a non-variable.
         Node node = transform.apply(var) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
index 696393c..8175b12 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction0.java
@@ -18,11 +18,9 @@
 
 package org.apache.jena.sparql.expr;
 
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 
 /** An expression that is constant (does not depend on evaluating a sub expression). */
 
@@ -55,7 +53,7 @@ public abstract class ExprFunction0 extends ExprFunction
     public abstract NodeValue eval(FunctionEnv env)  ;
     
     @Override
-    final public Expr applyNodeTransform(Function<Node, Node> transform)
+    final public Expr applyNodeTransform(NodeTransform transform)
     {
         // Nothing to transform. 
         return copy() ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
index e55548d..8c91cb3 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction1.java
@@ -18,12 +18,10 @@
 
 package org.apache.jena.sparql.expr;
 
-import java.util.function.Function;
-
 import org.apache.jena.atlas.lib.Lib ;
-import org.apache.jena.graph.Node;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 
 /** A function that has a single argument */
  
@@ -86,7 +84,7 @@ public abstract class ExprFunction1 extends ExprFunction
     }
 
     @Override
-    final public Expr applyNodeTransform(Function<Node, Node> transform)
+    final public Expr applyNodeTransform(NodeTransform transform)
     {
         Expr e = (expr == null ? null : expr.applyNodeTransform(transform)) ;
         return copy(e) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
index 79a824f..06cb6ea 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction2.java
@@ -18,12 +18,10 @@
 
 package org.apache.jena.sparql.expr;
 
-import java.util.function.Function;
-
 import org.apache.jena.atlas.lib.Lib ;
-import org.apache.jena.graph.Node;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 
 
 /** A function of two arguments */
@@ -97,7 +95,7 @@ public abstract class ExprFunction2 extends ExprFunction
     
 
     @Override
-    final public Expr applyNodeTransform(Function<Node, Node> transform)
+    final public Expr applyNodeTransform(NodeTransform transform)
     {
         Expr e1 = (expr1 == null ? null : expr1.applyNodeTransform(transform)) ;
         Expr e2 = (expr2 == null ? null : expr2.applyNodeTransform(transform)) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
index f6d9a41..d003ed2 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunction3.java
@@ -18,12 +18,10 @@
 
 package org.apache.jena.sparql.expr;
 
-import java.util.function.Function;
-
 import org.apache.jena.atlas.lib.Lib ;
-import org.apache.jena.graph.Node;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 
 
 /** A function of three arguments */
@@ -107,7 +105,7 @@ public abstract class ExprFunction3 extends ExprFunction
     
 
     @Override
-    final public Expr applyNodeTransform(Function<Node, Node> transform)
+    final public Expr applyNodeTransform(NodeTransform transform)
     {
         Expr e1 = (expr1 == null ? null : expr1.applyNodeTransform(transform)) ;
         Expr e2 = (expr2 == null ? null : expr2.applyNodeTransform(transform)) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
index d2cf110..76300ad 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprFunctionN.java
@@ -20,11 +20,9 @@ package org.apache.jena.sparql.expr;
 
 import java.util.ArrayList ;
 import java.util.List ;
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 
 /** A function which takes N arguments (N may be variable e.g. regex) */
  
@@ -82,7 +80,7 @@ public abstract class ExprFunctionN extends ExprFunction
     }
 
     @Override
-    public Expr applyNodeTransform(Function<Node, Node> transform)
+    public Expr applyNodeTransform(NodeTransform transform)
     {
         ExprList newArgs = new ExprList() ;
         for ( int i = 1 ; i <= numArgs() ; i++ )

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
index d526bba..9e56851 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprList.java
@@ -19,12 +19,10 @@
 package org.apache.jena.sparql.expr;
 
 import java.util.* ;
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
 import org.apache.jena.sparql.core.Var ;
 import org.apache.jena.sparql.engine.ExecutionContext ;
 import org.apache.jena.sparql.engine.binding.Binding ;
+import org.apache.jena.sparql.graph.NodeTransform;
 import org.apache.jena.sparql.util.Context ;
 
 public class ExprList implements Iterable<Expr>
@@ -77,7 +75,7 @@ public class ExprList implements Iterable<Expr>
     /**
      * Rewrite, applying a node->node transformation
      */
-    public ExprList applyNodeTransform(Function<Node, Node> transform) {
+    public ExprList applyNodeTransform(NodeTransform transform) {
         ExprList x = new ExprList() ;
         for ( Expr e : expressions)
             x.add(e.applyNodeTransform(transform));

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
index 87eec7f..9b8c45f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprNode.java
@@ -20,14 +20,12 @@ package org.apache.jena.sparql.expr;
 
 import java.util.Collection ;
 import java.util.Set ;
-import java.util.function.Function;
-
-import org.apache.jena.graph.Node;
 import org.apache.jena.sparql.algebra.Op ;
 import org.apache.jena.sparql.core.Var ;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.expr.nodevalue.XSDFuncOp ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 import org.apache.jena.sparql.util.ExprUtils ;
 
 
@@ -86,7 +84,7 @@ public abstract class ExprNode implements Expr
     public abstract Expr copySubstitute(Binding binding) ;
     
     @Override
-    public abstract Expr applyNodeTransform(Function<Node, Node> transform) ;
+    public abstract Expr applyNodeTransform(NodeTransform transform) ;
 
         
     // ---- Default implementations

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
index a1a589f..df07897 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/ExprVar.java
@@ -18,8 +18,6 @@
 
 package org.apache.jena.sparql.expr;
 
-import java.util.function.Function;
-
 import org.apache.jena.atlas.io.IndentedWriter ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.query.Query ;
@@ -27,6 +25,7 @@ import org.apache.jena.sparql.ARQInternalErrorException ;
 import org.apache.jena.sparql.core.Var ;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 
 /** An expression that is a variable in an expression. */
  
@@ -76,7 +75,7 @@ public class ExprVar extends ExprNode
     }
     
     @Override
-    public Expr applyNodeTransform(Function<Node, Node> transform)
+    public Expr applyNodeTransform(NodeTransform transform)
     {
         Node node = transform.apply(varNode) ;
         if ( Var.isVar(node))

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
index d960de1..8cff836 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/NodeValue.java
@@ -51,8 +51,6 @@ import java.util.Calendar ;
 import java.util.Iterator ;
 import java.util.Properties ;
 import java.util.ServiceLoader ;
-import java.util.function.Function;
-
 import javax.xml.datatype.DatatypeConfigurationException ;
 import javax.xml.datatype.DatatypeFactory ;
 import javax.xml.datatype.Duration ;
@@ -76,6 +74,7 @@ import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.expr.nodevalue.* ;
 import org.apache.jena.sparql.function.FunctionEnv ;
 import org.apache.jena.sparql.graph.NodeConst ;
+import org.apache.jena.sparql.graph.NodeTransform;
 import org.apache.jena.sparql.serializer.SerializationContext ;
 import org.apache.jena.sparql.util.* ;
 import org.apache.jena.vocabulary.RDF ;
@@ -468,7 +467,7 @@ public abstract class NodeValue extends ExprNode
     }
     
     @Override
-    public Expr applyNodeTransform(Function<Node, Node> transform)
+    public Expr applyNodeTransform(NodeTransform transform)
     { 
         Node n = asNode() ;
         n = transform.apply(n) ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
index 553202c..a3d6a6f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/Aggregator.java
@@ -18,10 +18,9 @@
 
 package org.apache.jena.sparql.expr.aggregate;
 
-import java.util.function.Function;
-
 import org.apache.jena.graph.Node ;
 import org.apache.jena.sparql.expr.ExprList ;
+import org.apache.jena.sparql.graph.NodeTransform;
 import org.apache.jena.sparql.serializer.SerializationContext ;
 
 /** An Aggregator is the processor for the whole result stream.
@@ -47,7 +46,7 @@ public interface Aggregator
     
     public ExprList getExprList() ;
     public Aggregator copy(ExprList exprs) ;
-    public Aggregator copyTransform(Function<Node, Node> transform) ;
+    public Aggregator copyTransform(NodeTransform transform) ;
     
     @Override
     public int hashCode() ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
index 7fb321b..23c5ccd 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/expr/aggregate/AggregatorBase.java
@@ -21,8 +21,6 @@ package org.apache.jena.sparql.expr.aggregate;
 import java.util.HashMap ;
 import java.util.Locale ;
 import java.util.Map ;
-import java.util.function.Function;
-
 import org.apache.jena.atlas.io.IndentedLineBuffer ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.sparql.ARQInternalErrorException ;
@@ -30,6 +28,7 @@ import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.expr.Expr ;
 import org.apache.jena.sparql.expr.ExprList ;
 import org.apache.jena.sparql.expr.NodeValue ;
+import org.apache.jena.sparql.graph.NodeTransform;
 import org.apache.jena.sparql.serializer.SerializationContext ;
 import org.apache.jena.sparql.sse.writers.WriterExpr ;
 import org.apache.jena.sparql.util.ExprUtils ;
@@ -86,7 +85,7 @@ public abstract class AggregatorBase implements Aggregator
     public String key() {  return toPrefixString() ; }
     
     @Override
-    public final Aggregator copyTransform(Function<Node, Node> transform)
+    public final Aggregator copyTransform(NodeTransform transform)
     {
         ExprList e = getExprList() ;
         if ( e != null )

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
index a22da5f..90de6fe 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransform.java
@@ -23,11 +23,7 @@ import java.util.function.Function;
 import org.apache.jena.graph.Node ;
 
 /** Convert nodes to nodes - Vars may need to be translated into Vars. */
-/**
- * Prefer {@link Function<Node, Node>}.
- *
- */
-@Deprecated
+@FunctionalInterface
 public interface NodeTransform extends Function<Node, Node>
 {
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
index 34ba4fb..ce0c517 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformLib.java
@@ -22,8 +22,6 @@ import java.util.ArrayList ;
 import java.util.Iterator ;
 import java.util.List ;
 import java.util.Objects;
-import java.util.function.Function;
-
 import org.apache.jena.atlas.iterator.Iter ;
 import org.apache.jena.graph.Node ;
 import org.apache.jena.graph.Triple ;
@@ -43,14 +41,14 @@ import org.apache.jena.sparql.expr.ExprList ;
 public class NodeTransformLib
 {
     /** Do a node->node conversion of an Op - return original BGP for "no change" */
-    public static Op transform(Function<Node, Node> nodeTransform, Op op)
+    public static Op transform(NodeTransform nodeTransform, Op op)
     {
         Transform opTransform = new NodeTransformOp(nodeTransform) ; 
         return Transformer.transform(opTransform, null, op) ;   // No expr transform - we do it ourselves.
     }
     
     /** Do a node->node conversion of a BGP - return original BGP for "no change" */
-    public static BasicPattern transform(Function<Node, Node> nodeTransform, BasicPattern pattern)  
+    public static BasicPattern transform(NodeTransform nodeTransform, BasicPattern pattern)  
     {
         BasicPattern bgp2 = new BasicPattern() ;
         boolean changed = false ;
@@ -67,7 +65,7 @@ public class NodeTransformLib
     }
 
     /** Do a node->node conversion of a QuadPattern - return original QuadPattern for "no change" */
-    public static QuadPattern transform(Function<Node, Node> nodeTransform, QuadPattern pattern)  
+    public static QuadPattern transform(NodeTransform nodeTransform, QuadPattern pattern)  
     {
         QuadPattern qp2 = new QuadPattern() ;
         boolean changed = false ;
@@ -84,7 +82,7 @@ public class NodeTransformLib
     }
 
     /** Do a node->node conversion of a Triple - return original Triple for "no change" */
-    public static Triple transform(Function<Node, Node> nodeTransform, Triple triple)  
+    public static Triple transform(NodeTransform nodeTransform, Triple triple)  
     {
         boolean change = false ;
         Node s = triple.getSubject() ;
@@ -104,7 +102,7 @@ public class NodeTransformLib
     }
 
     /** Do a node->node conversion of a Quad - return original Quad for "no change" */
-    public static Quad transform(Function<Node, Node> nodeTransform, Quad quad)  
+    public static Quad transform(NodeTransform nodeTransform, Quad quad)  
     {
         boolean change = false ;
         Node s = quad.getSubject() ;
@@ -126,7 +124,7 @@ public class NodeTransformLib
         return new Quad(g,s,p,o) ;
     }
     
-    public static Table transform(Table table, Function<Node, Node> transform) {
+    public static Table transform(Table table, NodeTransform transform) {
         // Non-streaming rewrite 
         List<Var> vars = transformVars(transform, table.getVars()) ;
         Iterator<Binding> iter = table.rows() ; 
@@ -139,7 +137,7 @@ public class NodeTransformLib
         return new TableData(vars, newRows) ;
     }
     
-    public static Binding transform(Binding b, Function<Node, Node> transform) {
+    public static Binding transform(Binding b, NodeTransform transform) {
         BindingMap b2 = BindingFactory.create() ;
         List<Var> vars = Iter.toList(b.vars()) ;
         for ( Var v : vars ) {
@@ -152,7 +150,7 @@ public class NodeTransformLib
 
 
     /** Do a node->node conversion of a List&lt;Quad&gt; - return original List&lt;Quad&gt; for "no change" */
-    public static List<Quad> transformQuads(Function<Node, Node> nodeTransform, List<Quad> quads)
+    public static List<Quad> transformQuads(NodeTransform nodeTransform, List<Quad> quads)
     {
         List<Quad> x = new ArrayList<>() ;
         boolean changed = false ; 
@@ -169,7 +167,7 @@ public class NodeTransformLib
     }
 
     /** Do a node->node conversion of a VarExprList - return original VarExprList for "no change" */
-    public static VarExprList transform(Function<Node, Node> nodeTransform, VarExprList varExprList)
+    public static VarExprList transform(NodeTransform nodeTransform, VarExprList varExprList)
     {
         VarExprList varExprList2 = new VarExprList() ;
         boolean changed = false ;
@@ -188,7 +186,7 @@ public class NodeTransformLib
         return varExprList2 ;
     }
 
-    public static List<Var> transformVars(Function<Node, Node> nodeTransform, List<Var> varList)
+    public static List<Var> transformVars(NodeTransform nodeTransform, List<Var> varList)
     {
         List<Var> varList2 = new ArrayList<>(varList.size()) ;
         boolean changed = false ;
@@ -204,7 +202,7 @@ public class NodeTransformLib
         return varList2 ;
     }
 
-    public static ExprList transform(Function<Node, Node> nodeTransform, ExprList exprList)
+    public static ExprList transform(NodeTransform nodeTransform, ExprList exprList)
     {
           ExprList exprList2 = new ExprList() ;
           boolean changed = false ;
@@ -219,12 +217,12 @@ public class NodeTransformLib
           return exprList2 ;
     }
 
-    public static Expr transform(Function<Node, Node> nodeTransform, Expr expr)
+    public static Expr transform(NodeTransform nodeTransform, Expr expr)
     {
         return expr.applyNodeTransform(nodeTransform) ;
     }
 
-    public static List<SortCondition> transform(Function<Node, Node> nodeTransform, List<SortCondition> conditions)
+    public static List<SortCondition> transform(NodeTransform nodeTransform, List<SortCondition> conditions)
     {
         List<SortCondition> conditions2 = new ArrayList<>() ;
         boolean same = true ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
index d62d176..c6c60af 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/graph/NodeTransformOp.java
@@ -20,8 +20,6 @@ package org.apache.jena.sparql.graph;
 
 import java.util.ArrayList ;
 import java.util.List ;
-import java.util.function.Function;
-
 import org.apache.jena.graph.Node ;
 import org.apache.jena.graph.Triple ;
 import org.apache.jena.query.SortCondition ;
@@ -51,8 +49,8 @@ class NodeTransformOp extends TransformCopy
     // Not:
     //   Conditional (no expression)
     
-    private final Function<Node, Node> transform ;
-    NodeTransformOp(Function<Node, Node> transform)
+    private final NodeTransform transform ;
+    NodeTransformOp(NodeTransform transform)
     {
         this.transform = transform ;
     }

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
index 85ab116..0ae775f 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/NodeTransformBNodesToVariables.java
@@ -20,14 +20,13 @@ package org.apache.jena.sparql.modify;
 
 import java.util.HashMap ;
 import java.util.Map ;
-import java.util.function.Function;
-
 import org.apache.jena.graph.Node ;
 import org.apache.jena.sparql.ARQConstants ;
 import org.apache.jena.sparql.core.Var ;
 import org.apache.jena.sparql.core.VarAlloc ;
+import org.apache.jena.sparql.graph.NodeTransform;
 
-public class NodeTransformBNodesToVariables implements Function<Node, Node>
+public class NodeTransformBNodesToVariables implements NodeTransform
 {
     private VarAlloc varAlloc = new VarAlloc(ARQConstants.allocVarBNodeToVar) ;
     private Map<Node, Var> mapping ;

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
index e97a796..46b2ef9 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java
@@ -22,8 +22,6 @@ import static org.apache.jena.sparql.modify.TemplateLib.template ;
 
 import java.util.Iterator ;
 import java.util.List ;
-import java.util.function.Function;
-
 import org.apache.jena.atlas.data.BagFactory ;
 import org.apache.jena.atlas.data.DataBag ;
 import org.apache.jena.atlas.data.ThresholdPolicy ;
@@ -51,6 +49,7 @@ import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.engine.binding.BindingRoot ;
 import org.apache.jena.sparql.graph.GraphFactory ;
 import org.apache.jena.sparql.graph.GraphOps ;
+import org.apache.jena.sparql.graph.NodeTransform;
 import org.apache.jena.sparql.graph.NodeTransformLib ;
 import org.apache.jena.sparql.modify.request.* ;
 import org.apache.jena.sparql.syntax.Element ;
@@ -474,7 +473,7 @@ public class UpdateEngineWorker implements UpdateVisitor
     
     protected static List<Quad> unused_convertBNodesToVariables(List<Quad> quads)
     {
-    		Function<Node, Node> bnodesToVariables = new NodeTransformBNodesToVariables() ;
+    		NodeTransform bnodesToVariables = new NodeTransformBNodesToVariables() ;
         return NodeTransformLib.transformQuads(bnodesToVariables, quads) ;
     }
     

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
index d0dfa27..34e793a 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/resultset/ResultSetCompare.java
@@ -174,9 +174,7 @@ public class ResultSetCompare
         if ( ! compareHeader(rs1, rs2) ) return false ;
         return equivalentByOrder(convert(rs1) , convert(rs2), new BNodeIso(NodeUtils.sameTerm)) ;
     }
-    
-    private static EqualityTest nodeExactTest = new EqualityTestExact() ;
-    
+
     /** compare two result sets for exact equality equivalence.
      * Exact equalitymeans:
      * Each row in rs1 matches the same index row in rs2.
@@ -192,7 +190,7 @@ public class ResultSetCompare
     {
         if ( ! compareHeader(rs1, rs2) ) return false ;
 
-        return equivalentByOrder(convert(rs1) , convert(rs2), nodeExactTest) ;
+        return equivalentByOrder(convert(rs1) , convert(rs2), new EqualityTest(){}) ;
     }
 
     /** Compare two result sets for bNode isomorphism equivalence.
@@ -329,11 +327,4 @@ public class ResultSetCompare
             return false ;
         }
     }
-
-    private static class EqualityTestExact implements EqualityTest {
-        @Override
-        public boolean equal(Node n1, Node n2) {
-            return Objects.equals(n1, n2) ;
-        }
-    }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
index b2a124a..09a4467 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/NodeUtils.java
@@ -21,6 +21,7 @@ package org.apache.jena.sparql.util;
 import java.util.Collection ;
 import java.util.HashSet ;
 import java.util.Iterator ;
+import java.util.Objects;
 import java.util.Set ;
 
 import org.apache.jena.atlas.lib.StrUtils ;
@@ -44,7 +45,9 @@ import org.apache.jena.util.iterator.WrappedIterator ;
 public class NodeUtils
 {
     public interface EqualityTest {
-        boolean equal(Node n1, Node n2) ;
+        default boolean equal(Node n1, Node n2) {
+			return Objects.equals(n1, n2) ;
+		}
     }
 
     /** IRI to Node */ 

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestResultSetThrift.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestResultSetThrift.java b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestResultSetThrift.java
index 1d4874a..72e77a2 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestResultSetThrift.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/thrift/TestResultSetThrift.java
@@ -26,7 +26,6 @@ import java.io.InputStream ;
 import org.apache.jena.atlas.io.IO ;
 import org.apache.jena.atlas.junit.BaseTest ;
 import org.apache.jena.atlas.lib.StrUtils ;
-import org.apache.jena.graph.Node ;
 import org.apache.jena.query.ResultSet ;
 import org.apache.jena.query.ResultSetFactory ;
 import org.apache.jena.query.ResultSetRewindable ;
@@ -35,7 +34,6 @@ import org.apache.jena.sparql.resultset.ResultSetCompare ;
 import org.apache.jena.sparql.sse.Item ;
 import org.apache.jena.sparql.sse.SSE ;
 import org.apache.jena.sparql.sse.builders.BuilderResultSet ;
-import org.apache.jena.sparql.util.NodeUtils.EqualityTest ;
 import org.junit.Test ;
 
 public class TestResultSetThrift extends BaseTest {
@@ -64,15 +62,6 @@ public class TestResultSetThrift extends BaseTest {
          , ")"
          ) ;
 
-    
-    static class EqualityTestExact implements EqualityTest {
-        @Override
-        public boolean equal(Node n1, Node n2) {
-            return n1.equals(n2) ;
-        }
-    }
-    private static EqualityTest exactTest = new EqualityTestExact() ;
-    
     @Test public void resultSet_01() { test(rs0) ; }
     
     @Test public void resultSet_02() { 

http://git-wip-us.apache.org/repos/asf/jena/blob/0ef8184f/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
----------------------------------------------------------------------
diff --git a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
index 6f262a5..6690d62 100644
--- a/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
+++ b/jena-permissions/src/main/java/org/apache/jena/permissions/query/rewriter/SecuredFunction.java
@@ -18,8 +18,6 @@
 package org.apache.jena.permissions.query.rewriter;
 
 import java.util.List;
-import java.util.function.Function;
-
 import org.apache.jena.graph.Node ;
 import org.apache.jena.graph.Triple ;
 import org.apache.jena.permissions.SecurityEvaluator;
@@ -31,6 +29,7 @@ import org.apache.jena.sparql.core.Var ;
 import org.apache.jena.sparql.engine.binding.Binding ;
 import org.apache.jena.sparql.expr.* ;
 import org.apache.jena.sparql.function.FunctionEnv ;
+import org.apache.jena.sparql.graph.NodeTransform;
 
 public class SecuredFunction extends ExprFunctionN
 {
@@ -103,7 +102,7 @@ public class SecuredFunction extends ExprFunctionN
 	}
 
 	@Override
-	public Expr applyNodeTransform( Function<Node, Node> transform )
+	public Expr applyNodeTransform( NodeTransform transform )
 	{
 		return this;
 	}