private static Constant<LIT> literal(String val) { return new ConstantImpl<LIT>(LIT.class, new LIT(val)); }
@Override public Literal getLiteral(LIT lit) { Literal literal = literalCache.get(lit); if (literal == null){ if (lit.isText()) { Locale lang = lit.getLang(); if (lang.equals(Locale.ROOT)) { literal = vf.createLiteral(lit.getValue()); } else { literal = vf.createLiteral(lit.getValue(), LocaleUtil.toLang(lang)); } } else if (lit.isString()) { literal = vf.createLiteral(lit.getValue(), getURI(XSD.stringType)); } else if (lit.getDatatype().equals(RDF.text)){ literal = vf.createLiteral(lit.getValue()); } else { literal = vf.createLiteral(lit.getValue(), getURI(lit.getDatatype())); } literalCache.put(lit, literal); } return literal; }
public static String toString(LIT lit) { String value = "\"" + NTriplesUtil.escapeString(lit.getValue()) + "\""; if (lit.getLang() != null) { return value + "@" + LocaleUtil.toLang(lit.getLang()); } else { return value + "^^" + toString(lit.getDatatype()); } }
@Override public int compare(NODE o1, NODE o2) { if (o1 == null) { return o2 == null ? 0 : -1; } else if (o2 == null) { return 1; } // node type if (o1.getNodeType() != o2.getNodeType()) { return o1.getNodeType().compareTo(o2.getNodeType()); } // value if (!o1.getValue().equals(o2.getValue())) { return o1.getValue().compareTo(o2.getValue()); } if (o1.isLiteral() && o2.isLiteral()) { LIT l1 = o1.asLiteral(); LIT l2 = o2.asLiteral(); // datatype if (!l1.getDatatype().equals(l2.getDatatype())) { return compare(l1.getDatatype(), l2.getDatatype()); } // locale Locale loc1 = l1.getLang() == null ? new Locale("") : l1.getLang(); Locale loc2 = l2.getLang() == null ? new Locale("") : l2.getLang(); return loc1.toString().compareTo(loc2.toString()); } return 0; }
String value = ((Constant<LIT>) args.get(1)).getConstant().getValue().replace("%", ".*").replace("_", "."); args = Arrays.asList(args.get(0), new ConstantImpl<LIT>(LIT.class, new LIT(value))); } else if (REGEX_OPS.contains(operator) && args.get(1) instanceof Constant && ((Constant) args.get(1)).getConstant() instanceof LIT) { args = Arrays.<Expression<?>> asList(args.get(0), new ConstantImpl(((Constant<LIT>) args.get(1)).getConstant().getValue()));
private Map<Locale, String> convertLocalizedMap(MappedPath propertyPath, Set<? extends NODE> values) { Map<Locale, String> result = new HashMap<Locale, String>(); for (NODE value : values) { if (value.isLiteral()) { LIT literal = (LIT) value; Locale lang = literal.getLang(); if (lang == null) { lang = Locale.ROOT; } result.put(lang, literal.getValue()); } else { throw new IllegalArgumentException("Expected Literal, got " + value.getNodeType()); } } return result; }
if (property.isLocalized() && String.class.equals(property.getType())) { LIT lit = (LIT) statement.getObject(); if (Objects.equal(getCurrentLocale(), lit.getLang())) { recordRemoveStatement(statement); for (Map.Entry<Locale, String> entry : ((Map<Locale, String>) object).entrySet()) { if (entry.getValue() != null) { LIT literal = new LIT(entry.getValue(), entry.getKey()); recordAddStatement(subject, predicate, literal, context); LIT literal = new LIT(object.toString(), getCurrentLocale()); recordAddStatement(subject, predicate, literal, context);
@Test(expected = UnsupportedOperationException.class) public void LIT_As_Resource() { new LIT("X").asResource(); }
private Object convertValue(NODE node, Class<?> targetClass) { UID targetType = configuration.getConverterRegistry().getDatatype(targetClass); if (targetClass.isAssignableFrom(node.getClass())) { return node; } else if (targetType != null && node.isLiteral()) { // TODO : make sure this works also with untyped literals etc if (((LIT) node).getDatatype().equals(targetType)) { return configuration.getConverterRegistry().fromString(node.getValue(), targetClass); } else { throw new IllegalArgumentException("Literal " + node + " is not of type " + targetType); } } else if (targetType == null && node.isURI()) { return get(targetClass, node.asURI()); } else { throw new IllegalArgumentException("Node " + node + " could not be converted to " + targetClass.getName()); } }
protected void append(LIT lit) throws IOException { String val = lit.getValue(); if (val.indexOf('\n') > 0 || val.indexOf('\r') > 0 || val.indexOf('\t') > 0) { appendable.append("\"\"\""); appendable.append(TurtleUtil.encodeLongString(val)); appendable.append("\"\"\""); } else { appendable.append("\""); appendable.append(TurtleUtil.encodeString(val)); appendable.append("\""); } if (lit.getLang() != null) { appendable.append("@").append(LocaleUtil.toLang(lit.getLang())); } else if (!lit.getDatatype().equals(RDF.text)) { appendable.append("^^"); append(lit.getDatatype()); } }
if (lit.getLang() != null) { writer.append(" xml:lang=\"" + LocaleUtil.toLang(lit.getLang()) + "\""); } else { writer.append(" rdf:datatype=\"" + shorten(lit.getDatatype()) + "\"");
if (dataType == null || !stmt.getObject().asLiteral().getDatatype().equals(dataType)) { continue;
@Override public Literal getLiteral(LIT lit) { Literal literal = literalCache.get(lit); if (literal == null) { if (lit.isText()) { Locale lang = lit.getLang(); if (lang.equals(Locale.ROOT)) { literal = vf.createLiteral(lit.getValue()); } else { literal = vf.createLiteral(lit.getValue(), LocaleUtil.toLang(lang)); } } else if (lit.isString()) { literal = vf.createLiteral(lit.getValue(), getURI(XSD.stringType)); } else if (lit.getDatatype().equals(RDF.text)) { literal = vf.createLiteral(lit.getValue()); } else { literal = vf.createLiteral(lit.getValue(), getURI(lit.getDatatype())); } literalCache.put(lit, literal); } return literal; }
@Override public NODE visit(Constant<?> expr, Bindings bindings) { if (expr.getType().equals(String.class)) { return new LIT(expr.getConstant().toString()); } else if (NODE.class.isAssignableFrom(expr.getType())) { return (NODE) expr.getConstant(); } else { UID datatype = ConverterRegistryImpl.DEFAULT.getDatatype(expr.getType()); String value = ConverterRegistryImpl.DEFAULT.toString(expr.getConstant()); return new LIT(value, datatype); } }
@Override public Literal getLiteral(LIT lit) { Literal literal = literalCache.get(lit); if (literal == null) { if (lit.isText()) { Locale lang = lit.getLang(); if (lang.equals(Locale.ROOT)) { literal = vf.createLiteral(lit.getValue()); } else { literal = vf.createLiteral(lit.getValue(), LocaleUtil.toLang(lang)); } } else if (lit.isString()) { literal = vf.createLiteral(lit.getValue(), getURI(XSD.stringType)); } else if (lit.getDatatype().equals(RDF.text)) { literal = vf.createLiteral(lit.getValue()); } else { literal = vf.createLiteral(lit.getValue(), getURI(lit.getDatatype())); } literalCache.put(lit, literal); } return literal; }