@Override public NodeValue eval(NodeValue v) { if ( v.isLiteral() ) return NodeValue.TRUE ; return NodeValue.FALSE ; }
public boolean isLiteral() { return nv.isLiteral(); }
public NodeValue cast(NodeValue value, TypeToken targetTypeToken) if(!value.isLiteral()) { throw new RuntimeException("Only literals allowed here, got: " + value);
@Override public void accumulate(Binding binding, FunctionEnv functionEnv) { ExprList exprList = agg.getExprList() ; for(Expr expr: exprList) { try { NodeValue nv = expr.eval(binding, functionEnv) ; // Evaluation succeeded. if ( nv.isLiteral()) count ++ ; } catch (ExprEvalException ex) {} } }
@Override public String apply(NodeValue nv) { String result = null; if(nv == null) { } else if(nv.isString()) { result = nv.asUnquotedString(); } else if(nv.isLiteral()) { Node n = nv.asNode(); if(n.isLiteral()) { result = n.getLiteralLexicalForm(); } } return result; }
public static NodeValue lang(NodeValue nv) { if ( nv.isLangString() ) return NodeValue.makeString(nv.getLang()) ; if ( nv.isLiteral() ) return NodeValue.nvEmptyString ; NodeValue.raise(new ExprTypeException("lang: Not a literal: " + nv.asQuotedString())) ; return null ; }
if(!value.isLiteral()) { throw new RuntimeException("Only literals allowed here, got: " + value);
private static Pair<Var, NodeValue> preprocess(Expr e) { if (!(e instanceof E_NotEquals)) return null; ExprFunction2 eq = (ExprFunction2) e; Expr left = eq.getArg1(); Expr right = eq.getArg2(); Var var = null; NodeValue constant = null; if (left.isVariable() && right.isConstant()) { var = left.asVar(); constant = right.getConstant(); } else if (right.isVariable() && left.isConstant()) { var = right.asVar(); constant = left.getConstant(); } if (var == null || constant == null) return null; // Final check for "!=" where a FILTER != can do value matching when the // graph does not. // Value based? if (!ARQ.isStrictMode() && constant.isLiteral()) return null; return Pair.create(var, constant); }
private static ValueSpaceClassification classifyValueSpace(NodeValue nv) { if ( nv.isNumber() ) return VSPACE_NUM ; if ( nv.isDateTime() ) return VSPACE_DATETIME ; if ( nv.isString()) return VSPACE_STRING ; if ( nv.isBoolean()) return VSPACE_BOOLEAN ; if ( ! nv.isLiteral() ) return VSPACE_NODE ; if ( ! SystemARQ.ValueExtensions ) return VSPACE_UNKNOWN ; // Datatypes and their value spaces that are an extension of strict SPARQL. if ( nv.isDate() ) return VSPACE_DATE ; if ( nv.isTime() ) return VSPACE_TIME ; if ( nv.isDuration() ) return VSPACE_DURATION ; if ( nv.isGYear() ) return VSPACE_G_YEAR ; if ( nv.isGYearMonth() ) return VSPACE_G_YEARMONTH ; if ( nv.isGMonth() ) return VSPACE_G_MONTH ; if ( nv.isGMonthDay() ) return VSPACE_G_MONTHDAY ; if ( nv.isGDay() ) return VSPACE_G_DAY ; if ( nv.isSortKey() ) return VSPACE_SORTKEY ; // Already a literal by this point. if ( NodeUtils.hasLang(nv.asNode()) ) return VSPACE_LANG ; return VSPACE_UNKNOWN ; }
return false ; if ( ! constant.isLiteral() )