public static NodeValue _makeNodeValue(Boolean o) { return NodeValue.makeBoolean(o); }
/** * Map a java/Nashorn representation of a JavaScript object to an ARQ * {@link NodeValue}. Identified types are null, string, number and boolean and also * {@code NV} returned by the JavaScript code. */ public static NodeValue toNodeValue(Object r) { if ( r == null ) return null; if ( r instanceof NV ) return ((NV)r).nv(); if ( r instanceof NodeValue ) return (NodeValue)r; // May not be a String. String.toString is very efficient! // https://docs.oracle.com/javase/8/docs/technotes/guides/scripting/prog_guide/javascript.html#A1147390 if ( r instanceof CharSequence ) return NodeValue.makeString(((CharSequence)r).toString()); if ( r instanceof Number ) return number2value((Number)r); if ( r instanceof Boolean ) { return NodeValue.makeBoolean((Boolean)r); } if ( r instanceof URI ) { Node n = NodeFactory.createURI(((URI)r).toString()); return NodeValue.makeNode(n); } throw new ExprEvalException("Can't convert '"+r+"' to a NodeValue. r is of class "+r.getClass().getName()); }
@Override protected NodeValue exec(Node arg1, FunctionEnv env) { return NodeValue.makeBoolean(env.getActiveGraph().contains(arg1, SH.deactivated.asNode(), JenaDatatypes.TRUE.asNode())); } }
@Override protected NodeValue exec(Node arg1, FunctionEnv env) { return NodeValue.makeBoolean(env.getActiveGraph().contains(arg1, SH.deactivated.asNode(), JenaDatatypes.TRUE.asNode())); } }
@Override protected NodeValue exec(Node arg, FunctionEnv env) { if(arg == null || !arg.isLiteral()) { throw new ExprEvalException("Argument must be a (string) literal"); } return NodeValue.makeBoolean(LangTag.check(arg.getLiteralLexicalForm())); } }
@Override protected NodeValue exec(Node arg, FunctionEnv env) { if(arg == null || !arg.isLiteral()) { throw new ExprEvalException("Argument must be a (string) literal"); } return NodeValue.makeBoolean(LangTag.check(arg.getLiteralLexicalForm())); } }
@Test (expected=ExprEvalTypeException.class) public void cast_err_gregorian_01() { testDateTimeCast(NodeValue.makeBoolean(false), XSDDatatype.XSDgDay, nv_gd) ; }
@Override public NodeValue eval(NodeValue x, NodeValue y) { // Evaluation only happens as part of copySubstitute. // Proper evaluation is a special form as above. if ( ! x.isBoolean() ) throw new ExprEvalException("Not a boolean: "+x) ; if ( ! y.isBoolean() ) throw new ExprEvalException("Not a boolean: "+y) ; boolean boolX = x.getBoolean() ; boolean boolY = y.getBoolean() ; return NodeValue.makeBoolean( boolX && boolY ) ; }
@Override protected NodeValue exec(Node nodeNode, Node shapeNode, FunctionEnv env) { Model model = ModelFactory.createModelForGraph(env.getActiveGraph()); SHShape shape = SHFactory.asShape(model.asRDFNode(shapeNode)); return NodeValue.makeBoolean(shape.hasTargetNode(model.asRDFNode(nodeNode))); } }
@Override public NodeValue eval(NodeValue x, NodeValue y) { // Evaluation only happens as part of copySubstitute. // Proper evaluation is a special form as above. if ( ! x.isBoolean() ) throw new ExprEvalException("Not a boolean: "+x) ; if ( ! y.isBoolean() ) throw new ExprEvalException("Not a boolean: "+y) ; boolean boolX = x.getBoolean() ; boolean boolY = y.getBoolean() ; return NodeValue.makeBoolean( boolX || boolY ) ; }
@Override protected NodeValue exec(Node nodeNode, Node shapeNode, FunctionEnv env) { Model model = ModelFactory.createModelForGraph(env.getActiveGraph()); SHShape shape = SHFactory.asShape(model.asRDFNode(shapeNode)); return NodeValue.makeBoolean(shape.hasTargetNode(model.asRDFNode(nodeNode))); } }
@Override public NodeValue executeBody(Dataset dataset, Model defaultModel, QuerySolution bindings) { try( QueryExecution qexec = createQueryExecution(dataset, defaultModel, bindings) ) { if(arqQuery.isAskType()) { boolean result = qexec.execAsk(); return NodeValue.makeBoolean(result); } else { ResultSet rs = qexec.execSelect(); if(rs.hasNext()) { QuerySolution s = rs.nextSolution(); List<String> resultVars = rs.getResultVars(); String varName = resultVars.get(0); RDFNode resultNode = s.get(varName); if(resultNode != null) { return NodeValue.makeNode(resultNode.asNode()); } } throw new ExprEvalException("Empty result set for SHACL function"); } } }
@Override public NodeValue executeBody(Dataset dataset, Model defaultModel, QuerySolution bindings) { try( QueryExecution qexec = createQueryExecution(dataset, defaultModel, bindings) ) { if(arqQuery.isAskType()) { boolean result = qexec.execAsk(); return NodeValue.makeBoolean(result); } else { ResultSet rs = qexec.execSelect(); if(rs.hasNext()) { QuerySolution s = rs.nextSolution(); List<String> resultVars = rs.getResultVars(); String varName = resultVars.get(0); RDFNode resultNode = s.get(varName); if(resultNode != null) { return NodeValue.makeNode(resultNode.asNode()); } } throw new ExprEvalException("Empty result set for SHACL function"); } } }
Element newElement = ElementUtils.mergeElements(e, e3); Element e4 = new ElementBind(Vars.z, NodeValue.makeBoolean(isInverse)); newElement = ElementUtils.mergeElements(newElement, e4);
@Override protected NodeValue exec(Node literalNode, Node datatypeNode, FunctionEnv env) { if(literalNode == null || !literalNode.isLiteral()) { throw new ExprEvalException(); } String lex = literalNode.getLiteralLexicalForm(); if(!datatypeNode.isURI()) { throw new ExprEvalException(); } RDFDatatype datatype = TypeMapper.getInstance().getTypeByName(datatypeNode.getURI()); if(datatype == null) { return NodeValue.TRUE; } else { boolean valid = datatype.isValid(lex); return NodeValue.makeBoolean(valid); } } }
@Override protected NodeValue exec(Node literalNode, Node datatypeNode, FunctionEnv env) { if(literalNode == null || !literalNode.isLiteral()) { throw new ExprEvalException(); } String lex = literalNode.getLiteralLexicalForm(); if(!datatypeNode.isURI()) { throw new ExprEvalException(); } RDFDatatype datatype = TypeMapper.getInstance().getTypeByName(datatypeNode.getURI()); if(datatype == null) { return NodeValue.TRUE; } else { boolean valid = datatype.isValid(lex); return NodeValue.makeBoolean(valid); } } }
return NodeValue.makeBoolean(result); return NodeValue.makeBoolean(result);
@Test public void testNodeBool3() { NodeValue v = NodeValue.makeBoolean(true); assertTrue("Not a boolean: " + v, v.isBoolean()); // assertTrue("Not a node: "+v, v.hasNode()) ; assertTrue("Not true: " + v, v.getBoolean()); assertTrue("Not true: " + v, XSDFuncOp.booleanEffectiveValue(v)); }
@Test public void testNodeBool4() { NodeValue v = NodeValue.makeBoolean(false); assertTrue("Not a boolean: " + v, v.isBoolean()); // assertTrue("Not a node: "+v, v.hasNode()) ; assertFalse("Not false: " + v, v.getBoolean()); assertFalse("Not false: " + v, XSDFuncOp.booleanEffectiveValue(v)); }
@Test public void testSameValue7() { NodeValue nv1 = NodeValue.makeBoolean(true); NodeValue nv2 = NodeValue.makeString("a"); assertTrue("Same values (" + nv1 + "," + nv2 + ")", NodeValue.notSameAs(nv1, nv2)); assertFalse("Same values (" + nv1 + "," + nv2 + ")", NodeValue.sameAs(nv1, nv2)); NodeValue nv3 = NodeValue.makeNodeBoolean(true); assertTrue("Different values (" + nv1 + "," + nv3 + ")", NodeValue.sameAs(nv1, nv3)); assertFalse("Different values - notNotSame (" + nv1 + "," + nv3 + ")", NodeValue.notSameAs(nv1, nv3)); }