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.
You can install the n3 library as an npm package.
$ npm install n3
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 .
The node-n3 library features a streaming Turtle parser, processing Turtle documents as they grow.
var parser = new n3.Parser();
parser.parse('@prefix c: <https://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!")
});
The Bringing reasoning to the Web page explains the origins of this project and provides pointers to related resources.