JSPM

  • Created
  • Published
  • Downloads 90981
  • Score
    100M100P100Q176669F

Notation3 (N3) and RDF library.

Package Exports

  • n3

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (n3) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

Node-n3 is a Notation3 and RDF library for node.js.

Notation3 or N3 is a superset of RDF, the Semantic Web language. This library will provide a high-performance N3 store, parser, and generator (when finished).

Currently implemented:

  • high-performance N3 store
  • streaming Turtle parser

Bringing reasoning to the Web is the initiative with several open source projects (such as this one) that make N3 reasoning accessible.

Use the node-n3 library.

Installation

You can install the n3 library as an npm package.

$ npm install n3

Storing and finding items

In this example below, we create a new store and add the triples :Pluto a :Dog. and :Mickey a :Mouse. Then, we find a triple with :Mickey as subject.

var n3 = require('n3');

var store = new n3.Store();
store.add(':Pluto', 'a', ':Dog');
store.add(':Mickey', 'a', ':Mouse');

var mickey = store.find(':Mickey', null, null)[0];
console.log(mickey.subject, mickey.predicate, mickey.object, '.');
// :Mickey a :Mouse .

Parsing Turtle

The node-n3 library features a streaming Turtle parser, processing Turtle documents as they grow.

var parser = new n3.Parser();
parser.parse('@prefix c: <http://example.org/cartoons#>.\n' +
             'c:Tom a c:Cat.\n' +
             'c:Jerry a c:Mouse;\n' +
             '        c:smarterThan c:Tom.',
             function (error, triple) {
               if (triple)
                 console.log(triple.subject, triple.predicate, triple.object, '.');
               else
                 console.log("# That's it, folks!")
             });

Learn more.

The Bringing reasoning to the Web page explains the origins of this project and provides pointers to related resources.