private IDatatype test(Producer p, Expr exp, Environment env, IDatatype dt) { IDatatype res = DatatypeMap.createObject("rule", env.getQuery()); return res; }
Dataset getDataset(Environment env) { Context c = (Context) env.getQuery().getContext(); if (c != null) { return new Dataset(c); } return null; }
IDatatype slice (Environment env, IDatatype dt){ env.getQuery().setSlice(dt.intValue()); return TRUE; }
IDatatype slice (Environment env, IDatatype dt){ env.getQuery().setSlice(dt.intValue()); return TRUE; }
IDatatype slice (IDatatype dt, Environment env){ env.getQuery().setSlice(dt.intValue()); return TRUE; }
Expr createFunction(String name, ArrayList<Expression> args, Environment env) { ASTQuery ast = (ASTQuery) env.getQuery().getAST(); return ast.createFunction(name, args); }
IDatatype pathNode(Environment env) { Query q = env.getQuery(); int num = q.getGlobalQuery().nbPath(); IDatatype dt = DatatypeMap.createBlank(Query.BPATH + Integer.toString(num)); return dt; }
IDatatype pathNode(Environment env) { Query q = env.getQuery(); int num = q.getGlobalQuery().nbPath(); IDatatype dt = DatatypeMap.createBlank(Query.BPATH + Integer.toString(num)); return dt; }
Cache getTable(Environment env) { Cache table = (Cache) env.getObject(); if (table == null) { table = new Cache(env.getQuery()); env.setObject(table); } return table; }
Cache getTable(Environment env) { Cache table = (Cache) env.getObject(); if (table == null) { table = new Cache(env.getQuery()); env.setObject(table); } return table; }
IDatatype db(Environment env, Graph g){ ASTQuery ast = (ASTQuery) env.getQuery().getAST(); String name = ast.getMetadataValue(Metadata.DB); return db(name, g); }
@Override public void finish(Producer p, Environment env){ Graph g = getGraph(p); if (g != null){ g.getContext().setQuery(env.getQuery()); } }
/** * Transformation templates share Transformer Context * Query and Template alone have own Context */ @Override public Context getContext(Environment env, Producer p) { Context c = getQueryContext(env, p); if (c == null){ c = getTransformerContext(env, p); env.getQuery().setContext(c); } return c; }
IDatatype dataset(Expr exp, Environment env, Producer p){ ASTQuery ast = (ASTQuery) env.getQuery().getAST(); Dataset ds = ast.getDataset(); switch (exp.oper()){ case XT_FROM: return ds.getFromList(); case XT_NAMED: return ds.getNamedList(); } return null; }
IDatatype dataset(Expr exp, Environment env, Producer p){ ASTQuery ast = (ASTQuery) env.getQuery().getAST(); Dataset ds = ast.getDataset(); switch (exp.oper()){ case XT_FROM: return ds.getFromList(); case XT_NAMED: return ds.getNamedList(); } return null; }
IDatatype dataset(Expr exp, Environment env, Producer p){ ASTQuery ast = (ASTQuery) env.getQuery().getAST(); Dataset ds = ast.getDataset(); switch (exp.oper()){ case XT_FROM: return ds.getFromList(); case XT_NAMED: return ds.getNamedList(); } return null; }
Context getQueryContext(Environment env, Producer p) { Query q = env.getQuery().getGlobalQuery(); Context c = (Context) q.getContext(); if (c == null && ! q.isTransformationTemplate()){ // std Query or Template alone c = new Context(); q.setContext(c); } return c; }