digitalbazaar / rdf-canonize

An implementation of the RDF Dataset Normalization Algorithm in JavaScript.
Other
22 stars 13 forks source link

Add option to generate globally unique identifiers in `IdentifierIssuer` #45

Open RinkeHoekstra opened 2 years ago

RinkeHoekstra commented 2 years ago

The IdentifierIssuer currently uses a counter to ensure that e.g. blank nodes are assigned a unique id when flattening a JSON-LD file in jsonld.js.

This does not work very well when using jsonld.js as backend for parsing JSON-LD into a graph representation (e.g in rdflib.js).

Every time a new file is loaded, the counter will start from zero, and blank node identifiers are created that already exist in the graph.

It would be great if the identifier issuer would instead of a counter use a unique string generator with a low likelihood of clashes (e.g. UUID or a shortened form thereof).