Refine search
public static NodeValue strDatatype(NodeValue v1, NodeValue v2) { if ( !v1.isString() ) throw new ExprEvalException("Not a string (arg 1): " + v1) ; if ( !v2.isIRI() ) throw new ExprEvalException("Not an IRI (arg 2): " + v2) ; String lex = v1.asString() ; Node dt = v2.asNode() ; // Check? Node n = NodeFactory.createLiteral(lex, NodeFactory.getType(dt.getURI())) ; return NodeValue.makeNode(n) ; }
@Override public NodeValue exec(NodeValue v) { Node n = v.asNode() ; if ( ! n.isURI() ) throw new ExprEvalException("Not a URI: "+FmtUtils.stringForNode(n)) ; String str = n.getNameSpace() ; return NodeValue.makeString(str) ; } }
public static int compareBoolean(NodeValue nv1, NodeValue nv2) { boolean b1 = nv1.getBoolean() ; boolean b2 = nv2.getBoolean() ; if ( b1 == b2 ) return Expr.CMP_EQUAL ; if ( !b1 && b2 ) return Expr.CMP_LESS ; if ( b1 && !b2 ) return Expr.CMP_GREATER ; throw new ARQInternalErrorException("Weird boolean comparison: " + nv1 + ", " + nv2) ; }
public String _serialize(NodeValue nodeValue) { if(nodeValue.equals(NodeValue.nvNothing)) { return "NULL "; } // TODO Handle this correctly String result = nodeValue.asUnquotedString(); return result; }
private static NodeValue convert(NodeValue nv) { if ( nv.getNode().getLiteralDatatype() instanceof TemperatureFahrenheit ) { return NodeValue.makeDouble((nv.getDouble() - 32.0) * fahrenheitToCelsiusConstant); } else if ( nv.getNode().getLiteralDatatype() instanceof TemperatureKelvin ) { return NodeValue.makeDouble(nv.getDouble() - 273.15); } else if ( nv.getNode().getLiteralDatatype() instanceof TemperatureRankine ) { return NodeValue.makeDouble((nv.getDouble() - 491.67) * rankineToCelsiusConstant); } else { return nv ; } }
/** fn:normalizeSpace */ public static NodeValue strNormalizeSpace(NodeValue v){ String str = v.asString() ; if(str == "" ) return NodeValue.nvEmptyString; // is it possible that str is null? str = str.trim().replaceAll("\\s+"," "); return NodeValue.makeString(str) ; }
@Test public void test_lang6() { NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("xyz")) ; NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en")) ; int x = NodeValue.compareAlways(nv1, nv2) ; assertTrue("Lang nodes should sort by lexical form if one is plain", Expr.CMP_GREATER == x ) ; int y = NodeUtils.compareRDFTerms(nv1.asNode() , nv2.asNode()) ; assertTrue(Expr.CMP_GREATER == x ) ; }
@Test public void testNotEquals3() { // Literals and URIs are different. NodeValue nv1 = NodeValue.makeNode(org.apache.jena.graph.NodeFactory.createURI("http://example")); NodeValue nv2 = NodeValue.makeNode(org.apache.jena.graph.NodeFactory.createLiteral("http://example")); assertFalse("NodeValue.equals()", nv1.equals(nv2)); } }
private static GraphTraversal<?, ?> transform(final E_Equals expression) { final Object value = expression.getArg2().getConstant().getNode().getLiteralValue(); return __.as(expression.getArg1().getVarName()).is(P.eq(value)); }
public static NodeValue strEncodeForURI(NodeValue v) { Node n = v.asNode() ; if ( !n.isLiteral() ) throw new ExprEvalException("Not a literal") ; if ( ! Util.isSimpleString(n) && ! Util.isLangString(n) ) throw new ExprEvalException("Not a string literal") ; String str = n.getLiteralLexicalForm() ; String encStr = IRILib.encodeUriComponent(str) ; encStr = IRILib.encodeNonASCII(encStr) ; return NodeValue.makeString(encStr) ; }
@Override public NodeValue eval(NodeValue x, NodeValue y) { if ( ! x.isString() ) throw new ExprEvalException("cast: arg 2 is not a string: "+x) ; if ( ! y.isIRI() ) throw new ExprEvalException("cast: arg 2 is not a URI: "+y) ; String lex = x.getString() ; y.asNode().getURI() ; throw new ARQNotImplemented() ; }
static void testDouble(String exprString, Node result, double delta) { Expr expr = ExprUtils.parse(exprString, pmap); NodeValue actual = expr.eval(null, new FunctionEnvBase()); NodeValue expected = NodeValue.makeNode(result); // Note that we don't test lexical form because we can get mismatches // between how things like doubles are expressed if (NodeValue.sameAs(expected, actual)) return; testDouble(exprString, expected.getDouble(), delta); ; }
@Test public void test_lang2() { NodeValue nv1 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "en")) ; NodeValue nv2 = NodeValue.makeNode(NodeFactory.createLiteral("abc", "EN")) ; int x = NodeUtils.compareRDFTerms(nv1.asNode() , nv2.asNode()) ; assertTrue("Lang tags should sort by case", Expr.CMP_GREATER == x ) ; }
@Override public NodeValue exec(NodeValue v) { Node n = v.asNode() ; if ( ! n.isURI() ) throw new ExprEvalException("Not a URI: "+FmtUtils.stringForNode(n)) ; String str = n.getLocalName() ; return NodeValue.makeString(str) ; } }
@Override public NodeValue exec(NodeValue v) { Node n = v.asNode() ; if ( ! n.isBlank() ) throw new ExprEvalException("bnode: not a blank node") ; NodeValue nv = NodeValue.makeString(n.getBlankNodeId().getLabelString()) ; return nv ; } }
@Test public void testLang4() { NodeValue nv = NodeValue.makeNode(NodeFactory.createLiteral("simple")) ; NodeValue r = NodeFunctions.lang(nv) ; NodeValue e = NodeValue.makeString("") ; assertEquals(e, r) ; }
@Test public void testLang2() { Node n1 = org.apache.jena.graph.NodeFactory.createLiteral("xyz", "en"); NodeValue nv1 = NodeValue.makeNode(n1); Node n2 = org.apache.jena.graph.NodeFactory.createLiteral("xyz", "EN"); NodeValue nv2 = NodeValue.makeNode(n2); assertTrue(NodeValue.sameAs(nv1, nv2)); assertFalse(nv1.equals(nv2)); }
@Test public void testLang4() { Node n1 = org.apache.jena.graph.NodeFactory.createLiteral("xyz", "en"); NodeValue nv1 = NodeValue.makeNode(n1); Node n2 = org.apache.jena.graph.NodeFactory.createLiteral("xyz", "EN"); NodeValue nv2 = NodeValue.makeNode(n2); assertFalse(NodeValue.notSameAs(nv1, nv2)); assertFalse(nv1.equals(nv2)); }