Class Rename

java.lang.Object
org.apache.jena.sparql.engine.Rename

public class Rename extends Object
Support for renaming all the variables in an algebra expression. This is primarily in support of renaming variables based on sub-query scope where renaming ?x -> ?/x happens to stop global clashes of scoped usages.

For syntax-base renaming, see QueryTransformOps and UpdateTransformOps.

  • Constructor Details

    • Rename

      public Rename()
  • Method Details

    • chooseVarName

      public static Var chooseVarName(Var var, Collection<Var> inUse, String prefix)
      Given an old name, and some names already in use, pick a fresh, new name
    • renameNode

      public static Op renameNode(Op op, org.apache.jena.graph.Node oldName, org.apache.jena.graph.Node newName)
      Rename one node to another
    • renameVar

      public static Op renameVar(Op op, Var oldName, Var newName)
      Rename one variable to another
    • renameVars

      public static Op renameVars(Op op, Collection<Var> constants)
      Rename all variables in a pattern, EXCEPT for those named as constant
    • renameVars

      public static ExprList renameVars(ExprList exprList, Set<Var> constants)
      Rename all variables in an expression, EXCEPT for those named as constant
    • renameVars

      public static Expr renameVars(Expr expr, Set<Var> constants)
    • reverseVarRename

      public static Op reverseVarRename(Op op, boolean repeatedly)
      Undo the effect of the rename operation, once or repeatedly. This assumes the op was renamed by VarRename.rename
    • reverseVarRename

      public static org.apache.jena.graph.Node reverseVarRename(org.apache.jena.graph.Node node)
      Undo the effect of the rename operation, once or repeatedly. This assumes the node was renamed by VarRename.rename