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

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


       
        Triple t1 = new Triple(varX, DC.title.asNode(),  varTitle) ;
        elg.addTriplePattern(t1) ;
       
        // Adds a filter.  Need to wrap variable in a NodeVar.
        Expr expr = new E_Regex(new ExprVar(varTitle), "sparql", "i") ;
        ElementFilter filter = new  ElementFilter(expr) ;
        elg.addElementFilter(filter) ;
       
        // Attach the group to query. 
        query.setQueryPattern(elg) ;
View Full Code Here


        BasicPattern bp = new BasicPattern() ;
        Triple t = new Triple(nodeVar, RDFS.label.asNode(), var2) ;
        bp.add(t) ;
        OpBGP op = new OpBGP(bp) ;
       
        Expr regex = new E_Regex(new ExprVar(var2.getName()), pattern, "i") ;
        Op filter = OpFilter.filter(regex, op) ;

        // ---- Evaluation
        if ( true )
        {
View Full Code Here

        ElementTriplesBlock elementBGP = new ElementTriplesBlock();
        Triple t = new Triple(nodeVar, RDFS.label.asNode(), var2) ;
        elementBGP.addTriple(t) ;
       
        // Regular expression for  regex(?hiddenVar, "pattern", "i")
        Expr regex = new E_Regex(new ExprVar(var2.getName()), pattern, "i") ;
       
        ElementGroup elementGroup = new ElementGroup() ;
        elementGroup.addElement(elementBGP) ;
        elementGroup.addElement(new ElementFilter(regex)) ;
        // Compile it.
View Full Code Here

        BasicPattern bp = new BasicPattern() ;
        Triple t = new Triple(nodeVar, RDFS.label.asNode(), var2) ;
        bp.add(t) ;
        OpBGP op = new OpBGP(bp) ;
       
        Expr regex = new E_Regex(new ExprVar(var2.getName()), pattern, "i") ;
        Op filter = OpFilter.filter(regex, op) ;

        // ---- Evaluation
        if ( true )
        {
View Full Code Here

        ElementTriplesBlock elementBGP = new ElementTriplesBlock();
        Triple t = new Triple(nodeVar, RDFS.label.asNode(), var2) ;
        elementBGP.addTriple(t) ;
       
        // Regular expression for  regex(?hiddenVar, "pattern", "i")
        Expr regex = new E_Regex(new ExprVar(var2.getName()), pattern, "i") ;
       
        ElementGroup elementGroup = new ElementGroup() ;
        elementGroup.addElement(elementBGP) ;
        elementGroup.addElement(new ElementFilter(regex)) ;
        // Compile it.
View Full Code Here

       
        Triple t1 = new Triple(varX, DC.title.asNode(),  varTitle) ;
        elg.addTriplePattern(t1) ;
       
        // Adds a filter.  Need to wrap variable in a NodeVar.
        Expr expr = new E_Regex(new ExprVar(varTitle), "sparql", "i") ;
        ElementFilter filter = new  ElementFilter(expr) ;
        elg.addElementFilter(filter) ;
       
        // Attach the group to query. 
        query.setQueryPattern(elg) ;
View Full Code Here

       
        Triple t1 = new Triple(varX, DC.title.asNode(),  varTitle) ;
        elg.addTriplePattern(t1) ;
       
        // Adds a filter.  Need to wrap variable in a NodeVar.
        Expr expr = new E_Regex(new ExprVar(varTitle), "sparql", "i") ;
        ElementFilter filter = new  ElementFilter(expr) ;
        elg.addElementFilter(filter) ;
       
        // Attach the group to query. 
        query.setQueryPattern(elg) ;
View Full Code Here

        // return null for don't need an expr anymore.
        private Expr convert(Expr expr, SqlSelectBlock ssb, OpSQL opSQL)
        {
            if ( ! ( expr instanceof E_Regex ) )
                return expr ;
            E_Regex regex = (E_Regex)expr ;
           
            Expr exprPattern = regex.getArg(2) ;
            Expr exprFlags = ( regex.getArg(3) == null ? null : regex.getArg(3) ) ;
           
            boolean caseInsensitive = false ;
           
            // Any flags?
            if ( exprFlags != null )
            {
                // Expression for flags?
                if ( ! exprFlags.isConstant() ) return expr ;
                String flags = exprFlags.getConstant().asString() ;
                if ( ! "i".equals(flags) ) return expr ;
                caseInsensitive = true ;
            }
           
            // Check pattern - must be a constant string
            if ( !exprPattern.isConstant() ) return expr ;
            String pattern =  exprPattern.getConstant().asString() ;
            if ( pattern == null ) return expr ;
           
            // See if it's LIKEable.
            String patternLike = RegexUtils.regexToLike(pattern) ;
            if ( patternLike == null )
                return expr ;
           
            // Check target
            // BUG in old ARQ getRegexExpr() returns the wrong thing.
            if ( ! regex.getArg(1).isVariable() ) return expr  ;
            Var v = regex.getArg(1).asVar() ;

            // Scope check
            if ( ! ssb.getNodeScope().hasColumnForVar(v) )
                // Probably out of scope - or just not in the graph apttern.
                return expr ;
View Full Code Here

    {
        if ( myArgs != args )
            throw new ARQInternalErrorException("matches: Arguments have changed since checking") ;

        Expr expr = args.get(0) ;
        E_Regex regexEval = regex ;
       
        if ( regexEval == null )
        {
            Expr e1 = args.get(1) ;
            Expr e2 = null ;
            if ( args.size() == 3 )
                e2 = args.get(2) ;

            String pattern = e1.eval(binding, env).getString() ;
            String flags = (e2==null)?null : e2.eval(binding, env).getString() ;
           
            regexEval = new E_Regex(expr, pattern, flags) ;

            // Cache if the pattern is fixed and the flags are fixed or non-existant
            if ( e1 instanceof NodeValue && ( e2 == null || e2 instanceof NodeValue ) )
                regex = regexEval ;
        }

        NodeValue nv = regexEval.eval(binding, env) ;
        return nv ;
    }
View Full Code Here

        BasicPattern bp = new BasicPattern() ;
        Triple t = new Triple(nodeVar, RDFS.label.asNode(), var2) ;
        bp.add(t) ;
        OpBGP op = new OpBGP(bp) ;
       
        Expr regex = new E_Regex(new ExprVar(var2.getName()), pattern, "i") ;
        Op filter = OpFilter.filter(regex, op) ;

        // ---- Evaluation
        if ( true )
        {
View Full Code Here

TOP

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

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.