public void addElementFilter(ElementFilter el) { addElement(el) ; }
public void addElementFilter(ElementFilter el) { addElement(el) ; }
public void add(Element elt) { if (query.getQueryPattern() instanceof ElementTriplesBlock) { ElementGroup group = new ElementGroup(); group.addElement(query.getQueryPattern()); group.addElement(elt); query.setQueryPattern(group); } else { assert query.getQueryPattern() instanceof ElementGroup; ElementGroup group = (ElementGroup) query.getQueryPattern(); group.addElement(elt); } }
@Override public void visit(OpJoin opJoin) { // Keep things clearly separated. Element eLeft = asElement(opJoin.getLeft()) ; Element eRight = asElementGroup(opJoin.getRight()) ; ElementGroup g = currentGroup() ; g.addElement(eLeft) ; g.addElement(eRight) ; return ; }
@Override public void visit(OpBGP opBGP) { currentGroup().addElement(process(opBGP.getPattern())) ; }
@Override public void visit(ElementGroup group) { ElementGroup newgroup = new ElementGroup(); for (Element e: group.getElements()) { e.visit(this); newgroup.addElement(result); } result = newgroup; }
@Override public void visit(ElementGroup group) { ElementGroup newgroup = new ElementGroup(); for (Element e: group.getElements()) { e.visit(this); newgroup.addElement(result); } result = newgroup; } @Override
@Override public Var evaluate(NodeSelector nodeSelector, ElementGroup elementGroup, Var var, LDPathEvaluatorConfiguration evaluatorConfiguration) { GroupedSelector groupedSelector = (GroupedSelector) nodeSelector; ElementGroup newGroup = new ElementGroup(); elementGroup.addElement(newGroup); return LDPathEvaluator.evaluate(groupedSelector.getContent(), newGroup, var, evaluatorConfiguration); } }
@Override public void visit(ElementGroup group) { ElementGroup ret = new ElementGroup(); for (Element elt: group.getElements() ) { elt.visit(this); ret.addElement(result); } result = ret; }
public void visit(OpBGP opBGP) { currentGroup().addElement(process(opBGP.getPattern())) ; }
public void visit(OpJoin opJoin) { // Keep things clearly separated. Element eLeft = asElement(opJoin.getLeft()) ; Element eRight = asElementGroup(opJoin.getRight()) ; ElementGroup g = currentGroup() ; g.addElement(eLeft) ; g.addElement(eRight) ; return ; }
@Override public void visit(OpMinus opMinus) { Element eLeft = asElement(opMinus.getLeft()) ; Element eRight = asElementGroup(opMinus.getRight()) ; ElementMinus elMinus = new ElementMinus(eRight) ; ElementGroup g = currentGroup() ; if ( ! emptyGroup(eLeft) ) g.addElement(eLeft) ; g.addElement(elMinus) ; }
@Override public void visit(OpPath opPath) { ElementPathBlock epb = new ElementPathBlock() ; epb.addTriplePath(opPath.getTriplePath()) ; ElementGroup g = currentGroup() ; g.addElement(epb) ; }
private Node processPropFuncArg(PropFuncArg args) { if ( args.isNode() ) return args.getArg() ; // List ... List<Node> list = args.getArgList() ; if ( list.size() == 0 ) return RDF.Nodes.nil ; BasicPattern bgp = new BasicPattern() ; Node head = GraphList.listToTriples(list, bgp) ; currentGroup().addElement(process(bgp)) ; return head ; }
@Override public Var evaluate(NodeSelector nodeSelector, ElementGroup elementGroup, Var var, LDPathEvaluatorConfiguration evaluatorConfiguration) { ReversePropertySelector reversePropertySelector = (ReversePropertySelector) nodeSelector; Var id = Var.alloc(VarIDGenerator.createID()); ElementPathBlock epb = new ElementPathBlock(); epb.addTriple(new TriplePath(var.asNode(), new P_Inverse(new P_Link(NodeFactory.createURI(reversePropertySelector.getProperty().toString()))), id.asNode())); ElementGroup group = new ElementGroup(); group.addElement(epb); elementGroup.addElement(group); return id; } }
public void visit(OpGraph opGraph) { startSubGroup() ; Element e = asElement(opGraph.getSubOp()) ; ElementGroup g = endSubGroup() ; Element graphElt = new ElementNamedGraph(opGraph.getNode(), e) ; currentGroup().addElement(graphElt) ; }
public void visit(OpService opService) { // Hmm - if the subnode has been optimized, we may fail. Op op = opService.getSubOp() ; Element x = asElement(opService.getSubOp()) ; Element elt = new ElementService(opService.getService(), x, opService.getSilent()) ; currentGroup().addElement(elt) ; }
@Override public void visit(OpService opService) { // Hmm - if the subnode has been optimized, we may fail. Op op = opService.getSubOp() ; Element x = asElement(opService.getSubOp()) ; Element elt = new ElementService(opService.getService(), x, opService.getSilent()) ; currentGroup().addElement(elt) ; }
public void visit(OpPropFunc opPropFunc) { Node s = processPropFuncArg(opPropFunc.getSubjectArgs()) ; Node o = processPropFuncArg(opPropFunc.getObjectArgs()) ; Triple t = new Triple(s, opPropFunc.getProperty(), o) ; currentGroup().addElement(process(t)) ; }
@Override public void visit(OpPropFunc opPropFunc) { Node s = processPropFuncArg(opPropFunc.getSubjectArgs()) ; Node o = processPropFuncArg(opPropFunc.getObjectArgs()) ; Triple t = new Triple(s, opPropFunc.getProperty(), o) ; currentGroup().addElement(process(t)) ; }