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; }
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()); } }
@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 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 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; }
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()));
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()); } }