public Converter(Op op) { this.query = null ; this.queryOp = op ; currentGroup = new ElementGroup() ; }
public Converter(Query query, Dialect dialect) { this.dialect = dialect; this.query = query ; currentGroup = new ElementGroup() ; }
public static BinaryRelation empty(Var var) { return new BinaryRelationImpl(new ElementGroup(), var, var); } }
public static BinaryRelation empty() { return new BinaryRelationImpl(new ElementGroup(), Vars.s, Vars.s); }
private void startSubGroup() { push(currentGroup) ; ElementGroup g = new ElementGroup() ; currentGroup = g ; }
public static ElementGroup createElementGroup(Element ... members) { ElementGroup result = new ElementGroup(); for(Element member : members) { result.addElement(member); } return result; }
private void startSubGroup() { push(currentGroup) ; ElementGroup g = new ElementGroup() ; currentGroup = g ; }
public static ElementGroup createElementGroup(Iterable<? extends Element> members) { ElementGroup result = new ElementGroup(); for(Element member : members) { result.addElement(member); } return result; }
public static Element toElement(Collection<Element> elements) { Element result; if(elements.size() == 1) { result = elements.iterator().next(); } else { ElementGroup e = new ElementGroup(); for(Element element : elements) { e.addElement(element); } result = e; } return result; }
@Override public Element transform(ElementGroup el, List<Element> elts) { if ( el.getElements() == elts ) return el ; ElementGroup el2 = new ElementGroup() ; el2.getElements().addAll(elts) ; return el2 ; }
@Override public Element transform(ElementUnion eltUnion, List<Element> elts) { ElementUnion el2 = new ElementUnion() ; for ( int i = 0 ; i < elts.size() ; i++ ) { Element el = elts.get(i) ; if ( ! ( el instanceof ElementGroup ) ) { ElementGroup elg = new ElementGroup() ; elg.addElement(el); el = elg ; } el2.addElement(el); } return el2 ; }
protected ElementGroup createQueryPattern(Template t){ ElementGroup elg = new ElementGroup(); Map<Node, BasicPattern> graphs = t.getGraphPattern(); for(Node n: graphs.keySet()){ Element el = new ElementPathBlock(graphs.get(n)); if(! Quad.defaultGraphNodeGenerated.equals(n) ){ ElementGroup e = new ElementGroup(); e.addElement(el); el = new ElementNamedGraph(n, e); } elg.addElement(el); } return elg; } }
private Element fixupGroupsOfOne(ElementGroup eg) { ElementTransform transform = new ElementTransformCleanGroupsOfOne() ; ExprTransform exprTransform = new ExprTransformApplyElementTransform(transform) ; Element el2 = ElementTransformer.transform(eg, transform, exprTransform) ; // Top level is always a group or a subquery. if ( ! ( el2 instanceof ElementGroup ) && ! ( el2 instanceof ElementSubQuery ) ) { ElementGroup eg2 = new ElementGroup() ; eg2.addElement(el2); el2 = eg2 ; } return el2 ; }
@Override public void visit(ElementGroup el) { ElementGroup retval = new ElementGroup(); for (Element e : el.getElements()) { e.visit(this); retval.addElement(getResult()); } push(retval); }
@Override public void visit(ElementGroup el) { ElementGroup retval = new ElementGroup(); for (Element e : el.getElements()) { e.visit(this); retval.addElement(getResult()); } push(retval); }
@Override public void visit(ElementGroup el) { ElementGroup newElt = new ElementGroup() ; transformFromTo(el.getElements(), newElt.getElements()) ; Element el2 = transform.transform(el, newElt.getElements()) ; push(el2) ; }
@Override public void visit(ElementGroup el) { ElementGroup newElt = new ElementGroup() ; boolean b = transformFromTo(el.getElements(), newElt.getElements()) ; Element el2 = transform.transform(el, newElt.getElements()) ; push(el2) ; }
public static Element createElementDefaultGraph(Table table) { Element elData = tableToElement(table); ElementTriplesBlock elTriples = new ElementTriplesBlock(); elTriples.addTriple(new Triple(Vars.s, Vars.p, Vars.o)); ElementGroup result = new ElementGroup(); result.addElement(elData); result.addElement(elTriples); return result; }
public static Element createElementNamedGraph(Table table) { Element elData = tableToElement(table); ElementTriplesBlock elTriples = new ElementTriplesBlock(); elTriples.addTriple(new Triple(Vars.s, Vars.p, Vars.o)); ElementGroup result = new ElementGroup(); result.addElement(elData); result.addElement(new ElementNamedGraph(Vars.g, elTriples)); return result; }
@Override public void visit(OpGraph opGraph) { startSubGroup() ; Element e = asElement(opGraph.getSubOp()) ; endSubGroup() ; // If not element group make it one if ( !(e instanceof ElementGroup) ) { ElementGroup g = new ElementGroup() ; g.addElement(e) ; e = g ; } Element graphElt = new ElementNamedGraph(opGraph.getNode(), e) ; currentGroup().addElement(graphElt) ; }