Skip to content
/ rdf-urdna Public

An implementation of the Universal RDF Dataset Normalization Algorithm (2015), using the Titanium JSON-LD library

License

Notifications You must be signed in to change notification settings

setl/rdf-urdna

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

An implementation of the Universal RDF Dataset Normalization Algorithm (2015), using the Titanium JSON-LD library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages