Transformer getTransformer() { if (transformer == null) { transformer = Transformer.create(); transformer.setSPARQLEngine(this); transformer.setLinkedFunction(isLinkedFunction()); } return transformer; }
/** * Subquery is a construct where */ Query constructQuery(ASTQuery ast) { Transformer t = Transformer.create(); t.setAlgebra(isAlgebra()); return t.transform(ast); }
/** * Subquery is a construct where */ Query constructQuery(ASTQuery ast) { Transformer t = Transformer.create(); t.setAlgebra(isAlgebra()); return t.transform(ast); }
/** * Generate a complementary Query that checks: definition of class/property */ void check(Triple tt, Edge edge) { ASTQuery aa = new Checker(ast).check(tt); if (aa != null) { Transformer tr = Transformer.create(); Query qq = tr.transform(aa); add(edge, qq); } }
/** * Generate a complementary Query that checks: definition of class/property */ void check(Triple tt, Edge edge) { ASTQuery aa = new Checker(ast).check(tt); if (aa != null) { Transformer tr = Transformer.create(); Query qq = tr.transform(aa); add(edge, qq); } }
protected Transformer transformer(){ Transformer transformer = Transformer.create(); transformer.setSPARQLEngine(this); if (sort != null) { transformer.set(sort); } if (getVisitorList()!=null){ transformer.add(getVisitorList()); } return transformer; }
protected Transformer transformer(){ Transformer transformer = Transformer.create(); transformer.setSPARQLEngine(this); if (sort != null) { transformer.set(sort); } if (getVisitorList()!=null){ transformer.add(getVisitorList()); } return transformer; }
Exp bindings(Values values) { List<Node> lNode = bind(values); Node[] nodes = getNodes(lNode); Mappings lMap = new Mappings(); for (List<Constant> lVal : values.getValues()) { if (values.getVariables().size() != lVal.size()) { // error: not right number of values return null; } else { List<Node> list = bind(lVal); Mapping map = create(nodes, list); lMap.add(map); } } Exp bind = Exp.create(VALUES); bind.setNodeList(lNode); bind.setMappings(lMap); return bind; }
Exp bindings(Values values) { List<Node> lNode = bind(values); Node[] nodes = getNodes(lNode); Mappings lMap = new Mappings(); for (List<Constant> lVal : values.getValues()) { if (values.getVariables().size() != lVal.size()) { // error: not right number of values return null; } else { List<Node> list = bind(lVal); Mapping map = create(nodes, list); lMap.add(map); } } Exp bind = Exp.create(VALUES); bind.setNodeList(lNode); bind.setMappings(lMap); return bind; }
fr.inria.corese.compiler.parser.Transformer tr = fr.inria.corese.compiler.parser.Transformer.create(); tr.definePublic(qprofile.getExtension(), qprofile, false); for (Query t : qe.getTemplates()) {
/** * templates share profile function definitions * function st:optimize(){} : run TransformerVisitor to optimize template */ public void profile() { Query profile = getTemplate(STL_PROFILE); if (profile != null) { if (profile.getExtension() != null) { // share profile function definitions in templates fr.inria.corese.compiler.parser.Transformer tr = fr.inria.corese.compiler.parser.Transformer.create(); tr.definePublic(profile.getExtension(), profile, false); TransformerVisitor tv = new TransformerVisitor(profile.getExtension().get(Transformer.STL_OPTIMIZE) != null); for (Query t : getTemplates()) { t.addExtension(profile.getExtension()); tv.visit(t); } for (Query t : getNamedTemplates()) { t.addExtension(profile.getExtension()); tv.visit(t); } } } }
/** * Compile Graph into a BGP Generate a Query */ public Query getQuery() { Transformer t = Transformer.create(); ASTQuery ast = ASTQuery.create(); ast.setSelectAll(true); ast.setBody(BasicGraphPattern.create()); ast = visitor.visit(ast); graph = visitor.visit(graph); Exp exp = getExp(graph); Query q = Query.create(exp); q.setAST(ast); q = t.transform(q, ast); q.setDebug(isDebug); q = visitor.visit(q); if (isConstruct()) { // TODO: blanks in construct should be renamed q.setConstruct(q.getBody()); q.setConstruct(true); } return q; }
/** * Compile Graph into a BGP Generate a Query */ public Query getQuery() { Transformer t = Transformer.create(); ASTQuery ast = ASTQuery.create(); ast.setSelectAll(true); ast.setBody(BasicGraphPattern.create()); ast = visitor.visit(ast); graph = visitor.visit(graph); Exp exp = getExp(graph); Query q = Query.create(exp); q.setAST(ast); q = t.transform(q, ast); q.setDebug(isDebug); q = visitor.visit(q); if (isConstruct()) { // TODO: blanks in construct should be renamed q.setConstruct(q.getBody()); q.setConstruct(true); } return q; }