Package com.hp.hpl.jena.sparql.core

Examples of com.hp.hpl.jena.sparql.core.VarExprList


    }  
   
    private OpAssign(Op subOp)
    {
        super(subOp) ;
        assignments = new VarExprList() ;
    }
View Full Code Here


    { opVisitor.visit(this) ; }

    @Override
    public Op copy(Op subOp)
    {
        OpAssign op = new OpAssign(subOp, new VarExprList(getVarExprList())) ;
        return op ;
    }
View Full Code Here

          *             select expressions
          *               group
          */
       
        // Preparation: sort SELECT clause into assignments and projects.
        VarExprList projectVars = query.getProject() ;
       
        VarExprList exprs = new VarExprList() ;     // Assignments to be done.
        List<Var> vars = new ArrayList<Var>() ;     // projection variables
       
        Op op = pattern ;
       
        // ---- GROUP BY
       
        if ( query.hasGroupBy() )
        {
            // When there is no GroupBy but there are some aggregates, it's a group of no variables.
            op = new OpGroup(op, query.getGroupBy(), query.getAggregators()) ;
        }
       
        //---- Assignments from SELECT and other places (so available to ORDER and HAVING)
        // Now do assignments from expressions
        // Must be after "group by" has introduced it's variables.
       
        // Look for assignments in SELECT expressions.
        if ( ! projectVars.isEmpty() && ! query.isQueryResultStar())
        {
            // Don't project for QueryResultStar so initial bindings show
            // through in SELECT *
            if ( projectVars.size() == 0 && query.isSelectType() )
                Log.warn(this,"No project variables") ;
            // Separate assignments and variable projection.
            for ( Var v : query.getProject().getVars() )
            {
                Expr e = query.getProject().getExpr(v) ;
                if ( e != null )
                {
                    Expr e2 = ExprLib.replaceAggregateByVariable(e) ;
                    exprs.add(v, e2) ;
                }
                // Include in project
                vars.add(v) ;
            }
        }
       
        // ---- Assignments from SELECT and other places (so available to ORDER and HAVING)
        if ( ! exprs.isEmpty() )
            // Potential rewrites based of assign introducing aliases.
            op = OpExtend.extend(op, exprs) ;

        // ---- HAVING
        if ( query.hasHaving() )
View Full Code Here

    private VarExprList exprs ;
    private final boolean mustBeNewVar ;
   
    public QueryIterAssign(QueryIterator input, Var var, Expr expr, ExecutionContext qCxt)
    {
        this(input, new VarExprList(var, expr) , qCxt, false) ;
    }
View Full Code Here

       
        // Check GROUP BY AS
        // ENABLE
        if ( false && query.hasGroupBy() )
        {
            VarExprList exprList2 = query.getGroupBy() ;
            checkExprListAssignment(vars, exprList2) ;
        // CHECK
        }
       
    }
View Full Code Here

   
    private static void checkExprVarUse(Query query)
    {
        if ( query.hasGroupBy() )
        {
            VarExprList groupKey = query.getGroupBy() ;
            List<Var> groupVars = groupKey.getVars() ;
            VarExprList exprList = query.getProject() ;
           
            for ( Iterator<Var> iter = exprList.getVars().iterator() ; iter.hasNext() ; )
            {
                // In scope?
                Var v = iter.next();
                Expr e = exprList.getExpr(v) ;
                if ( e == null )
                {
                    if ( ! groupVars.contains(v) )
                        throw new QueryParseException("Non-group key variable in SELECT: "+v, -1 , -1) ;
                }
View Full Code Here

            BuilderLib.broken(item, "Not a var expr list") ;
       
        ItemList list = item.getList() ;
       
        if ( list.isEmpty() )
            return new VarExprList() ;
       
        if ( list.car().isList() )
            // List of lists
            return buildNamedExprList(list) ;
        // One item
View Full Code Here

        return buildNamedExpr(item) ;
    }
   
    public static VarExprList buildNamedExprList(ItemList list)
    {
        VarExprList x = new VarExprList() ;
        for ( Item item : list )
            buildNamedExpr(item, x) ;
        return x ;
    }
View Full Code Here

        return x ;
    }
   
    public static VarExprList buildNamedExpr(Item item)
    {
        VarExprList varExprList = new VarExprList() ;
        buildNamedExpr(item, varExprList) ;
        return varExprList ;
    }
View Full Code Here

        return new OpExtend(op, exprs) ;
    }

    static private Op createExtend(Op op, Var var, Expr expr)
    {
        VarExprList x = new VarExprList() ;
        x.add(var, expr) ;
        return new OpExtend(op, x) ;
    }  
View Full Code Here

TOP

Related Classes of com.hp.hpl.jena.sparql.core.VarExprList

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.