public void visit(P_Seq pathSeq) { Path part1 = forwardMode ? pathSeq.getLeft() : pathSeq.getRight() ; Path part2 = forwardMode ? pathSeq.getRight() : pathSeq.getLeft() ; // Feed one side into the other Iterator<Node> iter = eval(graph, node, part1, forwardMode) ; iter = eval(graph, iter, part2, forwardMode) ; fill(iter) ; }
public void visit(P_Seq pathSeq) { Path part1 = forwardMode ? pathSeq.getLeft() : pathSeq.getRight() ; Path part2 = forwardMode ? pathSeq.getRight() : pathSeq.getLeft() ; // Feed one side into the other Iterator<Node> iter = eval(graph, node, part1, forwardMode) ; iter = eval(graph, iter, part2, forwardMode) ; fill(iter) ; }
@Override public void visit(P_Seq pathSeq) { engine.doSeq(pathSeq.getLeft(), pathSeq.getRight(), node, output) ; }
@Override public void visit(P_Seq pathSeq) { Var v = varAlloc.allocVar() ; Op op1 = transformPath(null, subject, pathSeq.getLeft() , v) ; Op op2 = transformPath(null, v, pathSeq.getRight() , object) ; result = join(op1, op2) ; } }
@Override public void visit(P_Seq p) { p.getLeft().visit(this); List<Rule> left = result; Predicate leftPred = resultMainPredicate; p.getRight().visit(this); List<Rule> right = result; Predicate rightPred = resultMainPredicate; List<Rule> rules = new LinkedList<Rule>(); rules.addAll(left); rules.addAll(right); Predicate newpred = new Predicate(idpPredicateGen.createNewVariable(), 2); VariableExpr x = new VariableExpr("X"); VariableExpr y = new VariableExpr("Y"); VariableExpr z = new VariableExpr("Z"); rules.add(new Rule(new AtomicFormula(newpred, x, y), ruleid++, new AtomicFormula(leftPred, x, z), new AtomicFormula(rightPred, z, y))); result = rules; resultMainPredicate = newpred; }
String newvar= vargen.createNewVariable(); Node tmpvar = NodeFactory.createVariable(newvar); TriplePath lefttp = new TriplePath(subject, p.getLeft(), tmpvar ); boolean[] reshasPropertyPaths = new boolean[]{false}; Element left = transform(lefttp, bestEffort, vargen,reshasPropertyPaths);
reduce(x, varAlloc, startNode, ps.getLeft(), v) ; reduce(x, varAlloc, v, ps.getRight(), endNode) ; return ;
reduce(x, varAlloc, startNode, ps.getLeft(), v) ; reduce(x, varAlloc, v, ps.getRight(), endNode) ; return ;