digitalbazaar / rdf-canonize-native

A native implementation of the RDF Dataset Normalization Algorithm for Node.js.
Other
6 stars 0 forks source link
json-ld rdf

rdf-canonize-native

Build status Dependency Status

A native implementation of the RDF Dataset Normalization Algorithm for rdf-canonize and Node.js.

Introduction

...

Installation

Currently this module is intended to be used via rdf-canonize but is not a direct dependency so must be explicitly installed.

node.js + npm

npm install rdf-canonize
npm install rdf-canonize-native
const canonize = require('rdf-canonize');

Browser (AMD) + npm

npm install rdf-canonize

Use your favorite technology to load node_modules/dist/rdf-canonize.min.js.

HTML

Various NPM proxy CDN sites offer direct access to NPM files.

Examples

const dataset = {
  // ...
};

// canonize a data set with a particular algorithm using callback
canonize.canonize(dataset, {algorithm: 'URDNA2015'}, function(err, canonical) {
  // ...
});

// canonize a data set with a particular algorithm using async/await
const canonical = canonize.canonize(dataset, {algorithm: 'URDNA2015'});

Related Modules

Tests

This library includes a sample testing utility which may be used to verify that changes to the processor maintain the correct output.

The test suite is included in an external repository:

https://github.com/json-ld/normalization

This should be a sibling directory of the rdf-canonize directory or in a test-suites dir. To clone shallow copies into the test-suites dir you can use the following:

npm run fetch-test-suite

Node.js tests can be run with a simple command:

npm test

If you installed the test suites elsewhere, or wish to run other tests, use the TEST_DIR environment var:

TEST_DIR="/tmp/tests" npm test

To generate earl reports:

# generate the earl report for node.js
EARL=earl-node.jsonld npm test

Benchmark

See docs in the benchmark README.

Source

The source code for this library is available at:

https://github.com/digitalbazaar/rdf-canonize-native

Commercial Support

Commercial support for this library is available upon request from