code: @Procedure(mode = Mode.WRITE)
  	@Description("apoc.refactor.rename.label(oldLabel, newLabel, [nodes]) | rename a label from 'oldLabel' to 'newLabel' for all nodes. If 'nodes' is provided renaming is applied to this set only")
  	public Stream<BatchAndTotalResultWithInfo> label(@Name("oldLabel") String oldLabel, @Name("newLabel") String newLabel, @Name(value = "nodes", defaultValue = "") List<Node> nodes) {
  		String cypherIterate = nodes != null && !nodes.isEmpty() ? "UNWIND {nodes} AS n WITH n WHERE n:`"+oldLabel+"` RETURN n" : "MATCH (n:`"+oldLabel+"`) RETURN n";
          String cypherAction = "SET n:`"+newLabel+"` REMOVE n:`"+oldLabel+"`";
          Map<String, Object> parameters = MapUtil.map("batchSize", 100000, "parallel", true, "iterateList", true, "params", MapUtil.map("nodes", nodes));
  		return getResultOfBatchAndTotalWithInfo( newPeriodic().iterate(cypherIterate, cypherAction, parameters), db, oldLabel, null, null);
  	}
docs: Rename the Label of a node by creating a new one and deleting the old.