Awesome
rdf-urdna
This is an implementation of the Universal RDF Dataset Normalization Algorithm (2015) for Java 1.8.
Usage:
RdfDataset normalizedData = RdfNormalize.normalize(rdfInput);
The library passes all the standard tests for the URDNA2015 algorithm.
Warnings
Users are advised that the time the URDNA2015 algorithm takes to complete is influenced by the number of blank nodes in the input. It is possible to create small datasets that would take more energy than exists in the observable universe to normalize. This means it is trivial to perform a denial-of-service attack by submitting tiny documents that require years to process.
For an example of this, please see the ExponentialFailure
class in the test folder.
Use with JSON-LD for Verifiable Credentials
The W3C considers the URDNA2015 algorithm a suitable way for digitally signing JSON-LD. If you are considering doing this, please look in the
jsonld-warnings
folder for reasons why you should not.