/** * Walking OP for Optional in SPARQL algebra. */ private void optionalVisit(final Op op) { OpWalker.walk(op, this); }
private static boolean isSafeForLinear(Op op) { try { OpWalker.walk(op, checkForUnsafeVisitor); return true; } catch (UnsafeLineraOpException e) { return false; } } // --
private GraphTraversal<Vertex, ?> compile(final Query query) { final Op op = Algebra.compile(query); OpWalker.walk(op, new GremlinOpVisitor());
public static void printSQL(Op op) { OpWalker.walk(op, new PrintSQL()) ; }
public static void walk(Op op, OpVisitor visitor) { // new walker :: this works // Walker.walk(op, visitor); walk(new OpWalkerVisitor(visitor, null, null), op) ; }
public static void mentionedVars(Op op, Set<Var> acc) { OpVarsMentioned visitor = new OpVarsMentioned(acc) ; OpWalker.walk(op, visitor) ; }
public static void printSqlNodes(Op op) { OpWalker.walk(op, new PrintSqlNodes()) ; }
public static <T> Set<T> getFeatures(Op op, Function<Op, T> fnToFeature) { Set<T> result; if(op != null) { OpVisitorFeatureExtractor<T> visitor = new OpVisitorFeatureExtractor<T>(fnToFeature); OpWalker.walk(op, visitor); result = visitor.getFeatures(); } else { result = Collections.emptySet(); } return result; } }
public static void visibleVars(Op op, Set<Var> acc) { OpVarsPattern visitor = new OpVarsPattern(acc, true) ; // Does not work yet for new walker. OpWalker.walk(new OpWalkerVisitorVisible(visitor, acc), op) ; }
public static void fixedVars(Op op, Set<Var> acc) { OpVarsPattern visitor = new OpVarsPattern(acc, true) ; OpWalker.walk(new OpWalkerVisitorFixed(visitor, acc), op) ; }
static public PrefixMapping used(Op op, PrefixMapping pmap) { PrefixMapping pmap2 = new PrefixMappingImpl() ; PrefixFinder finder = new PrefixFinder(pmap2, pmap.getNsPrefixMap()) ; OpWalker.walk(op, finder) ; return pmap2 ; }
GraphTraversal<Vertex, ?> convertToGremlinTraversal(final Query query) { final Op op = Algebra.compile(query); OpWalker.walk(op, this); if (!query.isQueryResultStar()) { final List<String> vars = query.getResultVars();
public static Tuple<Set<Var>> mentionedVarsByPosition(Op op) { Set<Var> graphAcc = collector() ; Set<Var> subjAcc = collector() ; Set<Var> predAcc = collector() ; Set<Var> objAcc = collector() ; Set<Var> unknownAcc = collector() ; OpVarsPatternWithPositions visitor = new OpVarsPatternWithPositions(graphAcc, subjAcc, predAcc, objAcc, unknownAcc, false); OpWalker.walk(op, visitor); return TupleFactory.tuple(graphAcc, subjAcc, predAcc, objAcc, unknownAcc); }
public static Tuple<Set<Var>> mentionedVarsByPosition(Op... ops) { Set<Var> graphAcc = collector() ; Set<Var> subjAcc = collector() ; Set<Var> predAcc = collector() ; Set<Var> objAcc = collector() ; Set<Var> unknownAcc = collector() ; OpVarsPatternWithPositions visitor = new OpVarsPatternWithPositions(graphAcc, subjAcc, predAcc, objAcc, unknownAcc, false); for (Op op : ops) OpWalker.walk(op, visitor); return TupleFactory.tuple(graphAcc, subjAcc, predAcc, objAcc, unknownAcc); }
OpWalker.walk(op2, new SqlNodesFinisher(patternIsOneSQLStatement)) ;
OpWalker.walk(op, new OpVisitorExprPrepare(context)) ;