@bahulneel/rdflib
Version:
an RDF library for node.js. Suitable for client and server side.
75 lines (64 loc) • 1.89 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.convertToJson = convertToJson;
exports.convertToNQuads = convertToNQuads;
var _async = _interopRequireDefault(require("async"));
var _jsonld = _interopRequireDefault(require("jsonld"));
var _n = require("n3");
// @@ Goal: remove this dependency
// @@ Goal: remove this dependency
function convertToJson(n3String, jsonCallback) {
var jsonString;
var n3Parser = new _n.Parser();
var n3Writer = new _n.Writer({
format: 'N-Quads'
});
_async.default.waterfall([function (callback) {
n3Parser.parse(n3String, callback);
}, function (triple, prefix, callback) {
if (triple !== null) {
n3Writer.addTriple(triple);
}
if (typeof callback === 'function') {
n3Writer.end(callback);
}
}, function (result, callback) {
try {
_jsonld.default.fromRDF(result, {
format: 'application/nquads'
}, callback);
} catch (err) {
callback(err);
}
}, function (json, callback) {
jsonString = JSON.stringify(json);
jsonCallback(null, jsonString);
}], function (err, result) {
jsonCallback(err, jsonString);
});
}
function convertToNQuads(n3String, nquadCallback) {
var nquadString;
var n3Parser = new _n.Parser();
var n3Writer = new _n.Writer({
format: 'N-Quads'
});
_async.default.waterfall([function (callback) {
n3Parser.parse(n3String, callback);
}, function (triple, prefix, callback) {
if (triple !== null) {
n3Writer.addTriple(triple);
}
if (typeof callback === 'function') {
n3Writer.end(callback);
}
}, function (result, callback) {
nquadString = result;
nquadCallback(null, nquadString);
}], function (err, result) {
nquadCallback(err, nquadString);
});
}