Package com.hp.hpl.jena.sparql.expr

Examples of com.hp.hpl.jena.sparql.expr.ExprList


   
    private OpFilter(Op sub)
    {
        super(sub) ;
        expressions = new ExprList() ;
    }
View Full Code Here


    }
   
    /** Compress multiple filters:  (filter (filter (filter op)))) into one (filter op) */
    public static OpFilter tidy(OpFilter base)
    {
        ExprList exprs = new ExprList() ;
       
        Op op = base ;
        while ( op instanceof OpFilter )
        {
            OpFilter f = (OpFilter)op ;
            exprs.addAll(f.getExprs()) ;
            op = f.getSubOp() ;
        }
        return new OpFilter(exprs, op) ;
    }
View Full Code Here

    }
   
    @Override
    public Op transform(OpFilter opFilter, Op subOp)
    {
        ExprList exprs = opFilter.getExprs() ;

        if ( ! safeToTransform(exprs, subOp) )
            return super.transform(opFilter, subOp) ;
       
        Op op = subOp ;
        // Variables set
        Set<Var> patternVars = OpVars.patternVars(op) ;
       
        // Any assignments must go inside filters so the filters see the assignments.
        // For each filter in the expr list ...
       
        ExprList exprs2 = new ExprList() ;      // Unchanged filters.  Put around the result.
       
        for Expr e : exprs.getList() )
        {
            Op op2 = processFilterWorker(e, op, patternVars) ;
            if ( op2 == null )
                exprs2.add(e) ;
            else
                op = op2 ;
        }

        // Place any filter expressions around the processed sub op.
        if ( exprs2.size() > 0 )
            op = OpFilter.filter(exprs2, op) ;
        return op ;
    }
View Full Code Here

        return op2 ;
    }
   
    private static boolean safeToTransform(Expr expr, Op op)
    {
        return safeToTransform(new ExprList(expr), op) ;
    }
View Full Code Here

        {
            start(opFilter, NoNL) ;
//            int x = out.getCurrentOffset() ;
//            out.incIndent(x) ;
           
            ExprList exprs = opFilter.getExprs() ;
            if ( exprs == null )
            { start() ; finish() ; }
            else
                WriterExpr.output(out, exprs, sContext) ;
            out.println();
View Full Code Here

    protected Op compileElementOptional(ElementOptional eltOpt, Op current)
    {
        Element subElt = eltOpt.getOptionalElement() ;
        Op op = compileElement(subElt) ;
       
        ExprList exprs = null ;
        if ( op instanceof OpFilter )
        {
            OpFilter f = (OpFilter)op ;
            //f = OpFilter.tidy(f) ;  // Collapse filter(filter(..))
            Op sub = f.getSubOp() ;
View Full Code Here

        return new OpLeftJoin(left, right, exprs) ;
    }
   
    public static Op create(Op left, Op right, Expr expr)
    {
        return new OpLeftJoin(left, right, expr == null ? null : new ExprList(expr)) ;
    }
View Full Code Here

            acc.add( opUnion.getRight() ) ;
    }
   
    protected QueryIterator execute(OpFilter opFilter, QueryIterator input)
    {
        ExprList exprs = opFilter.getExprs() ;
       
        Op base = opFilter.getSubOp() ;
        QueryIterator qIter = executeOp(base, input) ;

        for ( Expr expr : exprs )
View Full Code Here

        // Algebra operations that involve an Expr, and so might include NOT EXISTS
       
        @Override
        public void visit(OpFilter opFilter)
        {
            ExprList ex = new ExprList() ;
            boolean changed = false ;
            for ( Expr e : opFilter.getExprs() )
            {
                Expr e2 = ExprTransformer.transform(exprTransform, e) ;
                ex.add(e2) ;
                if ( e != e2 )
                    changed = true ;
            }
            OpFilter f = opFilter ;
            if ( changed )
View Full Code Here

            Element e = asElement(opFilter.getSubOp()) ;
            if ( currentGroup() != e )
                currentGroup().addElement(e) ;
            element = currentGroup() ;      // Was cleared by asElement.
           
            ExprList exprs = opFilter.getExprs() ;
            for ( Expr expr : exprs )
            {
                ElementFilter f = new ElementFilter(expr) ;
                currentGroup().addElement(f) ;
            }
View Full Code Here

TOP

Related Classes of com.hp.hpl.jena.sparql.expr.ExprList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.