in commons-rdf-jena/src/main/java/org/apache/commons/rdf/jena/JenaRDF.java [478:505]
public Node asJenaNode(final RDFTerm term) {
if (term == null) {
return null;
}
if (term instanceof JenaRDFTerm) {
// TODO: What if it's a JenaBlankNodeImpl with
// a different salt? Do we need to rewrite the
// jena blanknode identifier?
return ((JenaRDFTerm) term).asJenaNode();
}
if (term instanceof IRI) {
return NodeFactory.createURI(((IRI) term).getIRIString());
}
if (term instanceof Literal) {
final Literal lit = (Literal) term;
final RDFDatatype dt = NodeFactory.getType(lit.getDatatype().getIRIString());
final String lang = lit.getLanguageTag().orElse("");
return NodeFactory.createLiteral(lit.getLexicalForm(), lang, dt);
}
if (term instanceof BlankNode) {
final String id = ((BlankNode) term).uniqueReference();
return NodeFactory.createBlankNode(id);
}
throw new ConversionException("Not a concrete RDF Term: " + term);
}