public static <T> Literal<T> typedLiteral(T value, QName type) { Objects.requireNonNull(value, VALUE_PARAM); Objects.requireNonNull(type, TYPE_PARAM); return typedLiteral(value,type.getNamespaceURI() + type.getLocalPart()); }
public static <T> Literal<T> typedLiteral(T value,String type) { Objects.requireNonNull(value, VALUE_PARAM); Objects.requireNonNull(type, TYPE_PARAM); return typedLiteral(value,URI.create(type)); }
public static <T> Literal<T> typedLiteral(T value, URL type) { Objects.requireNonNull(value, VALUE_PARAM); Objects.requireNonNull(type, TYPE_PARAM); return typedLiteral(value,type.toString()); }
public Literal<?> parseLiteral(org.openrdf.model.Literal literal) { org.openrdf.model.URI datatype = literal.getDatatype(); Literal<?> result; String label = literal.getLabel(); if(datatype==null) { String language = literal.getLanguage(); if(language!=null) { result=RDFModelDSL.literal(label,language); } else { result=RDFModelDSL.literal(label); } } else { String dataType = datatype.stringValue(); Datatype type=Datatype.fromString(dataType); if(type!=null) { result=RDFModelDSL.typedLiteral(boxTypedLiteral(type, label), dataType); } else { result=RDFModelDSL.typedLiteral(label,URI.create(dataType)); } } return result; }
@Override public void visitTypedLiteral(TypedLiteral<?> literal) { Object value = literal.get(); if(value instanceof DateTime) { value=TripleSetBuilder.this.timeUtils.from((DateTime)value).toXMLGregorianCalendar(); } else if(value instanceof Duration) { value=TripleSetBuilder.this.timeUtils.from((Duration)value).toDuration(); } append(typedLiteral(value,literal.type())); } @Override