in commons-rdf-jsonld-java/src/main/java/org/apache/commons/rdf/jsonldjava/JsonLdRDF.java [157:178]
String asJsonLdString(final BlankNodeOrIRI blankNodeOrIRI) {
if (blankNodeOrIRI == null) {
return null;
}
if (blankNodeOrIRI instanceof IRI) {
return ((IRI) blankNodeOrIRI).getIRIString();
}
if (!(blankNodeOrIRI instanceof BlankNode)) {
throw new IllegalArgumentException("Expected a BlankNode or IRI, not: " + blankNodeOrIRI);
}
final BlankNode blankNode = (BlankNode) blankNodeOrIRI;
final String ref = blankNode.uniqueReference();
if (ref.startsWith(bnodePrefix)) {
// One of ours (but possibly not a JsonLdBlankNode) -
// we can use the suffix directly
return ref.replace(bnodePrefix, "");
}
// Map to unique bnode identifier, e.g.
// _:0dbd92ee-ab1a-45e7-bba2-7ade54f87ec5
final UUID uuid = UUID.nameUUIDFromBytes(ref.getBytes(StandardCharsets.UTF_8));
return "_:" + uuid;
}