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 static Path pathSeq(Path path1, Path path2) { return new P_Seq(path1, path2) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( ! ( path2 instanceof P_Seq ) ) return false ; return equalsIso((P_Path2)path2, isoMap) ; }
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 static Path pathSeq(Path path1, Path path2) { return new P_Seq(path1, path2) ; }
@Override public boolean equalTo(Path path2, NodeIsomorphismMap isoMap) { if ( ! ( path2 instanceof P_Seq ) ) return false ; return equalsIso((P_Path2)path2, isoMap) ; }
public Path make(ItemList list) { BuilderLib.checkLength(3, 3, list, "path seq: wanted 2 arguments") ; Path left = build(list, 1) ; Path right = build(list, 2) ; return new P_Seq(left, right) ; } };
@Override public Path make(ItemList list) { BuilderLib.checkLength(3, 3, list, "path seq: wanted 2 arguments") ; Path left = build(list, 1) ; Path right = build(list, 2) ; return new P_Seq(left, right) ; } };
@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); TriplePath righttp = new TriplePath(tmpvar, p.getRight(), object); Element right = transform(righttp, bestEffort, vargen,reshasPropertyPaths); if (right!=null) {