rdflib 2.2.22-2f49e8ef → 2.2.22-4e175603
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/rdflib.min.js +1 -1
- package/dist/rdflib.min.js.map +1 -1
- package/esm/index.js +1 -2
- package/esm/jsonldparser.js +12 -3
- package/esm/serialize.js +15 -6
- package/lib/index.d.ts +1 -2
- package/lib/index.js +1 -4
- package/lib/jsonldparser.js +12 -3
- package/lib/serialize.js +14 -6
- package/package.json +7 -6
- package/src/index.ts +0 -2
- package/src/jsonldparser.js +13 -4
- package/src/serialize.ts +9 -6
- package/esm/convert.js +0 -60
- package/lib/convert.d.ts +0 -2
- package/lib/convert.js +0 -71
- package/src/convert.js +0 -70
package/esm/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import BlankNode from './blank-node';
|
|
3
3
|
import Collection from './collection';
|
|
4
|
-
import * as convert from './convert';
|
|
5
4
|
import Empty from './empty';
|
|
6
5
|
import Fetcher from './fetcher';
|
|
7
6
|
import Formula from './formula';
|
|
@@ -57,7 +56,7 @@ const term = Node.fromValue;
|
|
|
57
56
|
// it exports the _current_ value of nextId, which is always 0
|
|
58
57
|
const NextId = BlankNode.nextId;
|
|
59
58
|
export * from './utils/terms';
|
|
60
|
-
export { BlankNode, Collection,
|
|
59
|
+
export { BlankNode, Collection, DataFactory, Empty, Fetcher, Formula, Store, jsonParser, Literal, log, N3Parser, NamedNode, Namespace, Node, parse, Query, queryToSPARQL, RDFaProcessor, RDFParser, serialize, Serializer, SPARQLToQuery, sparqlUpdateParser, Statement, term, UpdateManager, UpdatesSocket, UpdatesVia, uri, Util, Variable, Store as IndexedFormula,
|
|
61
60
|
// Alias
|
|
62
61
|
|
|
63
62
|
NextId, fromNT, fetcher, graph, lit, st, namedNode as sym,
|
package/esm/jsonldparser.js
CHANGED
|
@@ -18,7 +18,7 @@ export function jsonldObjectToTerm(kb, obj) {
|
|
|
18
18
|
return listToStatements(kb, obj);
|
|
19
19
|
}
|
|
20
20
|
if (Object.prototype.hasOwnProperty.call(obj, '@id')) {
|
|
21
|
-
return kb
|
|
21
|
+
return nodeType(kb, obj);
|
|
22
22
|
}
|
|
23
23
|
if (Object.prototype.hasOwnProperty.call(obj, '@language')) {
|
|
24
24
|
return kb.rdfFactory.literal(obj['@value'], obj['@language']);
|
|
@@ -36,7 +36,7 @@ export function jsonldObjectToTerm(kb, obj) {
|
|
|
36
36
|
* Adds the statements in a json-ld list object to {kb}.
|
|
37
37
|
*/
|
|
38
38
|
function listToStatements(kb, obj) {
|
|
39
|
-
const listId = obj['@id'] ? kb
|
|
39
|
+
const listId = obj['@id'] ? nodeType(kb, obj) : kb.rdfFactory.blankNode();
|
|
40
40
|
const items = obj['@list'].map(listItem => jsonldObjectToTerm(kb, listItem));
|
|
41
41
|
const statements = arrayToStatements(kb.rdfFactory, listId, items);
|
|
42
42
|
kb.addAll(statements);
|
|
@@ -63,8 +63,17 @@ export default function jsonldParser(str, kb, base, callback) {
|
|
|
63
63
|
return kb;
|
|
64
64
|
}, kb)).then(callback).catch(callback);
|
|
65
65
|
}
|
|
66
|
+
function nodeType(kb, obj) {
|
|
67
|
+
if (obj['@id'].startsWith('_:')) {
|
|
68
|
+
// This object is a Blank Node.. pass the id without the preceding _:
|
|
69
|
+
return kb.rdfFactory.blankNode(obj['@id'].substring(2));
|
|
70
|
+
} else {
|
|
71
|
+
// This object is a Named Node
|
|
72
|
+
return kb.rdfFactory.namedNode(obj['@id']);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
66
75
|
function processResource(kb, base, flatResource) {
|
|
67
|
-
const id = flatResource['@id'] ? kb
|
|
76
|
+
const id = flatResource['@id'] ? nodeType(kb, flatResource) : kb.rdfFactory.blankNode();
|
|
68
77
|
for (const property of Object.keys(flatResource)) {
|
|
69
78
|
if (property === '@id') {
|
|
70
79
|
continue;
|
package/esm/serialize.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import * as convert from './convert';
|
|
2
1
|
import Serializer from './serializer';
|
|
3
2
|
import { JSONLDContentType, N3ContentType, N3LegacyContentType, NQuadsAltContentType, NQuadsContentType, NTriplesContentType, RDFXMLContentType, TurtleContentType, TurtleLegacyContentType } from './types';
|
|
3
|
+
import * as jsonld from 'jsonld';
|
|
4
|
+
|
|
4
5
|
/**
|
|
5
6
|
* Serialize to the appropriate format
|
|
6
7
|
*/
|
|
@@ -53,17 +54,13 @@ contentType, callback, options) {
|
|
|
53
54
|
sz.setFlags('deinprstux'); // Use adapters to connect to incmpatible parser
|
|
54
55
|
n3String = sz.statementsToNTriples(newSts);
|
|
55
56
|
// n3String = sz.statementsToN3(newSts)
|
|
56
|
-
|
|
57
|
-
break;
|
|
57
|
+
return toJsonld(n3String);
|
|
58
58
|
case NQuadsContentType:
|
|
59
59
|
case NQuadsAltContentType:
|
|
60
60
|
// @@@ just outpout the quads? Does not work for collections
|
|
61
61
|
sz.setFlags('deinprstux q'); // Suppress nice parts of N3 to make ntriples
|
|
62
62
|
documentString = sz.statementsToNTriples(newSts); // q in flag means actually quads
|
|
63
63
|
return executeCallback(null, documentString);
|
|
64
|
-
// n3String = sz.statementsToN3(newSts)
|
|
65
|
-
// documentString = convert.convertToNQuads(n3String, callback)
|
|
66
|
-
// break
|
|
67
64
|
default:
|
|
68
65
|
throw new Error('Serialize: Content-type ' + contentType + ' not supported for data write.');
|
|
69
66
|
}
|
|
@@ -83,4 +80,16 @@ contentType, callback, options) {
|
|
|
83
80
|
return result;
|
|
84
81
|
}
|
|
85
82
|
}
|
|
83
|
+
function toJsonld(item) {
|
|
84
|
+
try {
|
|
85
|
+
return jsonld.fromRDF(item, {
|
|
86
|
+
format: 'application/n-quads'
|
|
87
|
+
}).then(docJsonld => {
|
|
88
|
+
return JSON.stringify(docJsonld);
|
|
89
|
+
});
|
|
90
|
+
// return JSON.stringify(await jsonld.fromRDF(item, {format: 'application/n-quads'}))
|
|
91
|
+
} catch (e) {
|
|
92
|
+
throw e;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
86
95
|
}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import BlankNode from './blank-node';
|
|
2
2
|
import Collection from './collection';
|
|
3
|
-
import * as convert from './convert';
|
|
4
3
|
import Empty from './empty';
|
|
5
4
|
import Fetcher from './fetcher';
|
|
6
5
|
import Formula from './formula';
|
|
@@ -35,7 +34,7 @@ declare const term: <T extends import("./types").FromValueReturns<any>>(value: i
|
|
|
35
34
|
declare const NextId: number;
|
|
36
35
|
export * from './utils/terms';
|
|
37
36
|
export type { AutoInitOptions, ExtendedResponse, FetchError } from './fetcher';
|
|
38
|
-
export { BlankNode, Collection,
|
|
37
|
+
export { BlankNode, Collection, DataFactory, Empty, Fetcher, Formula, Store, jsonParser, Literal, log, N3Parser, NamedNode, Namespace, Node, parse, Query, queryToSPARQL, RDFaProcessor, RDFParser, serialize, Serializer, SPARQLToQuery, sparqlUpdateParser, Statement, term, UpdateManager, UpdatesSocket, UpdatesVia, uri, Util, Variable, Store as IndexedFormula, // Alias
|
|
39
38
|
NextId, fromNT, fetcher, graph, lit, st, namedNode as sym, blankNode, defaultGraph, literal, namedNode, quad, triple, variable, };
|
|
40
39
|
export { termValue } from './utils/termValue';
|
|
41
40
|
export declare class ConnectedStore extends Store {
|
package/lib/index.js
CHANGED
|
@@ -24,7 +24,6 @@ var _exportNames = {
|
|
|
24
24
|
LiveStore: true,
|
|
25
25
|
BlankNode: true,
|
|
26
26
|
Collection: true,
|
|
27
|
-
convert: true,
|
|
28
27
|
Empty: true,
|
|
29
28
|
Fetcher: true,
|
|
30
29
|
Formula: true,
|
|
@@ -198,7 +197,7 @@ Object.defineProperty(exports, "Variable", {
|
|
|
198
197
|
return _variable.default;
|
|
199
198
|
}
|
|
200
199
|
});
|
|
201
|
-
exports.graph = exports.fromNT = exports.fetcher = exports.defaultGraph = exports.
|
|
200
|
+
exports.graph = exports.fromNT = exports.fetcher = exports.defaultGraph = exports.blankNode = void 0;
|
|
202
201
|
Object.defineProperty(exports, "jsonParser", {
|
|
203
202
|
enumerable: true,
|
|
204
203
|
get: function () {
|
|
@@ -249,8 +248,6 @@ exports.variable = exports.uri = exports.triple = void 0;
|
|
|
249
248
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
250
249
|
var _blankNode = _interopRequireDefault(require("./blank-node"));
|
|
251
250
|
var _collection = _interopRequireDefault(require("./collection"));
|
|
252
|
-
var convert = _interopRequireWildcard(require("./convert"));
|
|
253
|
-
exports.convert = convert;
|
|
254
251
|
var _empty = _interopRequireDefault(require("./empty"));
|
|
255
252
|
var _fetcher = _interopRequireDefault(require("./fetcher"));
|
|
256
253
|
var _formula = _interopRequireDefault(require("./formula"));
|
package/lib/jsonldparser.js
CHANGED
|
@@ -25,7 +25,7 @@ function jsonldObjectToTerm(kb, obj) {
|
|
|
25
25
|
return listToStatements(kb, obj);
|
|
26
26
|
}
|
|
27
27
|
if (Object.prototype.hasOwnProperty.call(obj, '@id')) {
|
|
28
|
-
return kb
|
|
28
|
+
return nodeType(kb, obj);
|
|
29
29
|
}
|
|
30
30
|
if (Object.prototype.hasOwnProperty.call(obj, '@language')) {
|
|
31
31
|
return kb.rdfFactory.literal(obj['@value'], obj['@language']);
|
|
@@ -43,7 +43,7 @@ function jsonldObjectToTerm(kb, obj) {
|
|
|
43
43
|
* Adds the statements in a json-ld list object to {kb}.
|
|
44
44
|
*/
|
|
45
45
|
function listToStatements(kb, obj) {
|
|
46
|
-
const listId = obj['@id'] ? kb
|
|
46
|
+
const listId = obj['@id'] ? nodeType(kb, obj) : kb.rdfFactory.blankNode();
|
|
47
47
|
const items = obj['@list'].map(listItem => jsonldObjectToTerm(kb, listItem));
|
|
48
48
|
const statements = (0, _utils.arrayToStatements)(kb.rdfFactory, listId, items);
|
|
49
49
|
kb.addAll(statements);
|
|
@@ -70,8 +70,17 @@ function jsonldParser(str, kb, base, callback) {
|
|
|
70
70
|
return kb;
|
|
71
71
|
}, kb)).then(callback).catch(callback);
|
|
72
72
|
}
|
|
73
|
+
function nodeType(kb, obj) {
|
|
74
|
+
if (obj['@id'].startsWith('_:')) {
|
|
75
|
+
// This object is a Blank Node.. pass the id without the preceding _:
|
|
76
|
+
return kb.rdfFactory.blankNode(obj['@id'].substring(2));
|
|
77
|
+
} else {
|
|
78
|
+
// This object is a Named Node
|
|
79
|
+
return kb.rdfFactory.namedNode(obj['@id']);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
73
82
|
function processResource(kb, base, flatResource) {
|
|
74
|
-
const id = flatResource['@id'] ? kb
|
|
83
|
+
const id = flatResource['@id'] ? nodeType(kb, flatResource) : kb.rdfFactory.blankNode();
|
|
75
84
|
for (const property of Object.keys(flatResource)) {
|
|
76
85
|
if (property === '@id') {
|
|
77
86
|
continue;
|
package/lib/serialize.js
CHANGED
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.default = serialize;
|
|
8
|
-
var convert = _interopRequireWildcard(require("./convert"));
|
|
9
8
|
var _serializer = _interopRequireDefault(require("./serializer"));
|
|
10
9
|
var _types = require("./types");
|
|
10
|
+
var jsonld = _interopRequireWildcard(require("jsonld"));
|
|
11
11
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
12
12
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
13
13
|
/**
|
|
@@ -62,17 +62,13 @@ contentType, callback, options) {
|
|
|
62
62
|
sz.setFlags('deinprstux'); // Use adapters to connect to incmpatible parser
|
|
63
63
|
n3String = sz.statementsToNTriples(newSts);
|
|
64
64
|
// n3String = sz.statementsToN3(newSts)
|
|
65
|
-
|
|
66
|
-
break;
|
|
65
|
+
return toJsonld(n3String);
|
|
67
66
|
case _types.NQuadsContentType:
|
|
68
67
|
case _types.NQuadsAltContentType:
|
|
69
68
|
// @@@ just outpout the quads? Does not work for collections
|
|
70
69
|
sz.setFlags('deinprstux q'); // Suppress nice parts of N3 to make ntriples
|
|
71
70
|
documentString = sz.statementsToNTriples(newSts); // q in flag means actually quads
|
|
72
71
|
return executeCallback(null, documentString);
|
|
73
|
-
// n3String = sz.statementsToN3(newSts)
|
|
74
|
-
// documentString = convert.convertToNQuads(n3String, callback)
|
|
75
|
-
// break
|
|
76
72
|
default:
|
|
77
73
|
throw new Error('Serialize: Content-type ' + contentType + ' not supported for data write.');
|
|
78
74
|
}
|
|
@@ -92,4 +88,16 @@ contentType, callback, options) {
|
|
|
92
88
|
return result;
|
|
93
89
|
}
|
|
94
90
|
}
|
|
91
|
+
function toJsonld(item) {
|
|
92
|
+
try {
|
|
93
|
+
return jsonld.fromRDF(item, {
|
|
94
|
+
format: 'application/n-quads'
|
|
95
|
+
}).then(docJsonld => {
|
|
96
|
+
return JSON.stringify(docJsonld);
|
|
97
|
+
});
|
|
98
|
+
// return JSON.stringify(await jsonld.fromRDF(item, {format: 'application/n-quads'}))
|
|
99
|
+
} catch (e) {
|
|
100
|
+
throw e;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
95
103
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rdflib",
|
|
3
3
|
"description": "an RDF library for node.js. Suitable for client and server side.",
|
|
4
|
-
"version": "2.2.22-
|
|
4
|
+
"version": "2.2.22-4e175603",
|
|
5
5
|
"private": false,
|
|
6
6
|
"browserslist": [
|
|
7
7
|
"> 0.5%"
|
|
@@ -46,7 +46,6 @@
|
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@babel/runtime": "^7.20.1",
|
|
48
48
|
"@xmldom/xmldom": "^0.8.6",
|
|
49
|
-
"async": "^3.2.4",
|
|
50
49
|
"cross-fetch": "^3.1.5",
|
|
51
50
|
"jsonld": "^8.1.0",
|
|
52
51
|
"n3": "^1.16.3",
|
|
@@ -92,14 +91,15 @@
|
|
|
92
91
|
"build:esm": "babel src --extensions \".ts,.js\" --env-name esm -d esm",
|
|
93
92
|
"build:browser": "webpack --progress",
|
|
94
93
|
"build:types": "tsc --emitDeclarationOnly -d --moduleResolution node --declarationDir lib",
|
|
94
|
+
"build:all": "npm run build && npm run build:types && npm run build:browser && npm run build:esm ",
|
|
95
95
|
"doc": "typedoc --out ./doc ./src/index.ts --excludePrivate --excludeInternal --tsconfig ./tsconfig.json",
|
|
96
|
-
"ignore:prepublishOnly": "npm ci && npm run build
|
|
96
|
+
"ignore:prepublishOnly": "npm ci && npm run build:all && npm run doc && npm run test",
|
|
97
97
|
"postversion": "git push --follow-tags",
|
|
98
98
|
"start": "webpack serve --port 4800",
|
|
99
99
|
"test": "npm run test:unit && npm run test:serialize && npm run test:types",
|
|
100
100
|
"test:clean": "rimraf tests/serialize/,*",
|
|
101
101
|
"test:serialize": "npm run build && npm run test:serialize:all && npm run test:clean",
|
|
102
|
-
"test:serialize:all": "npm run test:serialize:1 && npm run test:serialize:2 && npm run test:serialize:3 && npm run test:serialize:4 && npm run test:serialize:5 && npm run test:serialize:6 && npm run test:serialize:7 && npm run test:serialize:10 && npm run test:serialize:11 && npm run test:serialize:12 && npm run test:serialize:13 && npm run test:serialize:14 && npm run test:serialize:15",
|
|
102
|
+
"test:serialize:all": "npm run test:serialize:8 && npm run test:serialize:1 && npm run test:serialize:2 && npm run test:serialize:3 && npm run test:serialize:4 && npm run test:serialize:5 && npm run test:serialize:6 && npm run test:serialize:7 && npm run test:serialize:8 && npm run test:serialize:9 && npm run test:serialize:10 && npm run test:serialize:11 && npm run test:serialize:12 && npm run test:serialize:13 && npm run test:serialize:14 && npm run test:serialize:15 && npm run test:serialize:16",
|
|
103
103
|
"test:serialize:1": "cd ./tests/serialize && node ./data.js -in=t1.ttl -format=application/rdf+xml -out=,t1.xml && fs-grep http://www.w3.org/2001/XMLSchema#integer ,t1.xml",
|
|
104
104
|
"test:serialize:2": "cd ./tests/serialize && node ./data.js -in=t2.ttl -format=application/rdf+xml -out=,t2.xml && node diff ,t2.xml t2-ref.xml",
|
|
105
105
|
"test:serialize:3": "cd ./tests/serialize && node ./data.js -in=t3.ttl -format=application/rdf+xml -out=,t3.xml && node diff ,t3.xml t3-ref.xml",
|
|
@@ -107,14 +107,15 @@
|
|
|
107
107
|
"test:serialize:5": "cd ./tests/serialize && node ./data.js -in=t5.n3 -format=text/turtle -out=,t5.ttl && node diff ,t5.ttl t5-ref.ttl",
|
|
108
108
|
"test:serialize:6": "cd ./tests/serialize && node ./data.js -in=t5.n3 -format=text/n3 -out=,t6.n3 && node diff ,t6.n3 t6-ref.n3",
|
|
109
109
|
"test:serialize:7": "cd ./tests/serialize && node ./data.js -in=t7.n3 -format=application/n-triples -out=,t7.nt && node diff ,t7.nt t7-ref.nt",
|
|
110
|
-
"test:serialize:8": "cd ./tests/serialize && node ./data.js -in=t5.n3 -format=application/n-quads -
|
|
111
|
-
"test:serialize:9": "cd ./tests/serialize && node ./data.js -in=t7.n3 -format=application/ld+json -out=,t9.
|
|
110
|
+
"test:serialize:8": "cd ./tests/serialize && node ./data.js -in=t5.n3 -format=application/n-quads -out=,t8.nq && node diff ,t8.nq t8-ref.nq",
|
|
111
|
+
"test:serialize:9": "cd ./tests/serialize && node ./data.js -in=t7.n3 -format=application/ld+json -out=,t9.jsonld && node diff ,t9.jsonld t9-ref.jsonld",
|
|
112
112
|
"test:serialize:10": "cd ./tests/serialize && node ./data.js -in=details.ttl -format=text/turtle -out=,t10.ttl && node diff ,t10.ttl t10-ref.ttl",
|
|
113
113
|
"test:serialize:11": "cd ./tests/serialize && node ./data.js -in=structures.n3 -format=application/rdf+xml -out=,structures.xml && node diff ,structures.xml t11-ref.xml",
|
|
114
114
|
"test:serialize:12": "cd ./tests/serialize && node ./data.js -in=structures.n3 -format=text/turtle -out=,structures.ttl && node diff ,structures.ttl t12-ref.ttl",
|
|
115
115
|
"test:serialize:13": "cd ./tests/serialize && node ./data.js -in=structures.n3 -format=application/n-triples -out=,structures.nt && node ./data.js -format=application/n-triples -in=,structures.nt -format=text/turtle -out=,structures.nt.ttl && node diff ,structures.nt.ttl t13-ref.ttl",
|
|
116
116
|
"test:serialize:14": "cd ./tests/serialize && node ./data.js -in=t14.html -format=text/turtle -out=,t14.ttl && node diff ,t14.ttl t14-ref.ttl",
|
|
117
117
|
"test:serialize:15": "cd ./tests/serialize && node ./data.js -in=t15.html -format=text/turtle -out=,t15.ttl && node diff ,t15.ttl t15-ref.ttl",
|
|
118
|
+
"test:serialize:16": "cd ./tests/serialize && node ./data.js -in=t1.ttl -format=application/ld+json -out=,t1.jsonld && node diff ,t1.jsonld t16-ref.jsonld",
|
|
118
119
|
"test:types": "tsc --noEmit --target es2019 --moduleResolution node tests/types/*.ts",
|
|
119
120
|
"test:unit": "mocha --growl --require ./tests/babel-register.js tests/unit/**-test.*",
|
|
120
121
|
"test:unit:egp": "mocha --require ./tests/babel-register.js tests/unit/fetcher-egp-test.js",
|
package/src/index.ts
CHANGED
|
@@ -2,7 +2,6 @@ import { IRDFlibDataFactory } from './types'
|
|
|
2
2
|
|
|
3
3
|
import BlankNode from './blank-node'
|
|
4
4
|
import Collection from './collection'
|
|
5
|
-
import * as convert from './convert'
|
|
6
5
|
import Empty from './empty'
|
|
7
6
|
import Fetcher from './fetcher'
|
|
8
7
|
import Formula from './formula'
|
|
@@ -66,7 +65,6 @@ export type { AutoInitOptions, ExtendedResponse, FetchError } from './fetcher'
|
|
|
66
65
|
export {
|
|
67
66
|
BlankNode,
|
|
68
67
|
Collection,
|
|
69
|
-
convert,
|
|
70
68
|
DataFactory,
|
|
71
69
|
Empty,
|
|
72
70
|
Fetcher,
|
package/src/jsonldparser.js
CHANGED
|
@@ -22,7 +22,7 @@ export function jsonldObjectToTerm (kb, obj) {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
if (Object.prototype.hasOwnProperty.call(obj, '@id')) {
|
|
25
|
-
return kb
|
|
25
|
+
return nodeType(kb, obj)
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
if (Object.prototype.hasOwnProperty.call(obj, '@language')) {
|
|
@@ -44,7 +44,7 @@ export function jsonldObjectToTerm (kb, obj) {
|
|
|
44
44
|
* Adds the statements in a json-ld list object to {kb}.
|
|
45
45
|
*/
|
|
46
46
|
function listToStatements (kb, obj) {
|
|
47
|
-
const listId = obj['@id'] ? kb
|
|
47
|
+
const listId = obj['@id'] ? nodeType(kb, obj) : kb.rdfFactory.blankNode()
|
|
48
48
|
|
|
49
49
|
const items = obj['@list'].map((listItem => jsonldObjectToTerm(kb, listItem)))
|
|
50
50
|
const statements = arrayToStatements(kb.rdfFactory, listId, items)
|
|
@@ -82,10 +82,19 @@ export default function jsonldParser (str, kb, base, callback) {
|
|
|
82
82
|
.catch(callback)
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
+
function nodeType (kb, obj) {
|
|
86
|
+
if (obj['@id'].startsWith('_:')) {
|
|
87
|
+
// This object is a Blank Node.. pass the id without the preceding _:
|
|
88
|
+
return kb.rdfFactory.blankNode(obj['@id'].substring(2));
|
|
89
|
+
} else {
|
|
90
|
+
// This object is a Named Node
|
|
91
|
+
return kb.rdfFactory.namedNode(obj['@id']);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
85
94
|
|
|
86
95
|
function processResource(kb, base, flatResource) {
|
|
87
96
|
const id = flatResource['@id']
|
|
88
|
-
? kb
|
|
97
|
+
? nodeType(kb, flatResource)
|
|
89
98
|
: kb.rdfFactory.blankNode()
|
|
90
99
|
|
|
91
100
|
for (const property of Object.keys(flatResource)) {
|
|
@@ -136,4 +145,4 @@ function createStatement(kb, id, property, value, base) {
|
|
|
136
145
|
object = jsonldObjectToTerm(kb, value)
|
|
137
146
|
}
|
|
138
147
|
return kb.rdfFactory.quad(id, predicate, object, kb.rdfFactory.namedNode(base))
|
|
139
|
-
}
|
|
148
|
+
}
|
package/src/serialize.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as convert from './convert'
|
|
2
1
|
import Formula from './formula'
|
|
3
2
|
import Serializer from './serializer'
|
|
4
3
|
import {
|
|
@@ -15,6 +14,7 @@ import {
|
|
|
15
14
|
} from './types'
|
|
16
15
|
import IndexedFormula from './store'
|
|
17
16
|
import { BlankNode, NamedNode } from './tf-types'
|
|
17
|
+
import * as jsonld from 'jsonld'
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Serialize to the appropriate format
|
|
@@ -85,16 +85,12 @@ export default function serialize (
|
|
|
85
85
|
sz.setFlags('deinprstux') // Use adapters to connect to incmpatible parser
|
|
86
86
|
n3String = sz.statementsToNTriples(newSts)
|
|
87
87
|
// n3String = sz.statementsToN3(newSts)
|
|
88
|
-
|
|
89
|
-
break
|
|
88
|
+
return toJsonld(n3String) as any
|
|
90
89
|
case NQuadsContentType:
|
|
91
90
|
case NQuadsAltContentType: // @@@ just outpout the quads? Does not work for collections
|
|
92
91
|
sz.setFlags('deinprstux q') // Suppress nice parts of N3 to make ntriples
|
|
93
92
|
documentString = sz.statementsToNTriples(newSts) // q in flag means actually quads
|
|
94
93
|
return executeCallback(null, documentString)
|
|
95
|
-
// n3String = sz.statementsToN3(newSts)
|
|
96
|
-
// documentString = convert.convertToNQuads(n3String, callback)
|
|
97
|
-
// break
|
|
98
94
|
default:
|
|
99
95
|
throw new Error('Serialize: Content-type ' + contentType + ' not supported for data write.')
|
|
100
96
|
}
|
|
@@ -114,4 +110,11 @@ export default function serialize (
|
|
|
114
110
|
return result as string
|
|
115
111
|
}
|
|
116
112
|
}
|
|
113
|
+
|
|
114
|
+
function toJsonld (item ) {
|
|
115
|
+
try {
|
|
116
|
+
return jsonld.fromRDF(item, {format: 'application/n-quads'}).then( docJsonld => { return JSON.stringify(docJsonld) })
|
|
117
|
+
// return JSON.stringify(await jsonld.fromRDF(item, {format: 'application/n-quads'}))
|
|
118
|
+
} catch (e) { throw e }
|
|
119
|
+
}
|
|
117
120
|
}
|
package/esm/convert.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import asyncLib from 'async'; // @@ Goal: remove this dependency
|
|
2
|
-
import jsonld from 'jsonld';
|
|
3
|
-
import { Parser, Writer } from 'n3'; // @@ Goal: remove this dependency
|
|
4
|
-
|
|
5
|
-
export function convertToJson(n3String, jsonCallback) {
|
|
6
|
-
var jsonString;
|
|
7
|
-
var n3Parser = new Parser();
|
|
8
|
-
var n3Writer = new Writer({
|
|
9
|
-
format: 'N-Quads'
|
|
10
|
-
});
|
|
11
|
-
asyncLib.waterfall([function (callback) {
|
|
12
|
-
n3Parser.parse(n3String, function (error, quad, prefixes) {
|
|
13
|
-
if (error) {
|
|
14
|
-
callback(error);
|
|
15
|
-
} else if (quad !== null) {
|
|
16
|
-
n3Writer.addQuad(quad);
|
|
17
|
-
} else {
|
|
18
|
-
n3Writer.end(callback);
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}, function (result, callback) {
|
|
22
|
-
try {
|
|
23
|
-
jsonld.fromRDF(result, {
|
|
24
|
-
format: 'application/nquads'
|
|
25
|
-
}).then(result => {
|
|
26
|
-
callback(null, result);
|
|
27
|
-
});
|
|
28
|
-
} catch (err) {
|
|
29
|
-
callback(err);
|
|
30
|
-
}
|
|
31
|
-
}, function (json, callback) {
|
|
32
|
-
jsonString = JSON.stringify(json);
|
|
33
|
-
jsonCallback(null, jsonString);
|
|
34
|
-
}], function (err, result) {
|
|
35
|
-
jsonCallback(err, jsonString);
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
export function convertToNQuads(n3String, nquadCallback) {
|
|
39
|
-
var nquadString;
|
|
40
|
-
var n3Parser = new Parser();
|
|
41
|
-
var n3Writer = new Writer({
|
|
42
|
-
format: 'N-Quads'
|
|
43
|
-
});
|
|
44
|
-
asyncLib.waterfall([function (callback) {
|
|
45
|
-
n3Parser.parse(n3String, function (error, triple, prefixes) {
|
|
46
|
-
if (error) {
|
|
47
|
-
callback(error);
|
|
48
|
-
} else if (quad !== null) {
|
|
49
|
-
n3Writer.addQuad(quad);
|
|
50
|
-
} else {
|
|
51
|
-
n3Writer.end(callback);
|
|
52
|
-
}
|
|
53
|
-
});
|
|
54
|
-
}, function (result, callback) {
|
|
55
|
-
nquadString = result;
|
|
56
|
-
nquadCallback(null, nquadString);
|
|
57
|
-
}], function (err, result) {
|
|
58
|
-
nquadCallback(err, nquadString);
|
|
59
|
-
});
|
|
60
|
-
}
|
package/lib/convert.d.ts
DELETED
package/lib/convert.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.convertToJson = convertToJson;
|
|
8
|
-
exports.convertToNQuads = convertToNQuads;
|
|
9
|
-
var _async = _interopRequireDefault(require("async"));
|
|
10
|
-
var _jsonld = _interopRequireDefault(require("jsonld"));
|
|
11
|
-
var _n = require("n3");
|
|
12
|
-
// @@ Goal: remove this dependency
|
|
13
|
-
|
|
14
|
-
// @@ Goal: remove this dependency
|
|
15
|
-
|
|
16
|
-
function convertToJson(n3String, jsonCallback) {
|
|
17
|
-
var jsonString;
|
|
18
|
-
var n3Parser = new _n.Parser();
|
|
19
|
-
var n3Writer = new _n.Writer({
|
|
20
|
-
format: 'N-Quads'
|
|
21
|
-
});
|
|
22
|
-
_async.default.waterfall([function (callback) {
|
|
23
|
-
n3Parser.parse(n3String, function (error, quad, prefixes) {
|
|
24
|
-
if (error) {
|
|
25
|
-
callback(error);
|
|
26
|
-
} else if (quad !== null) {
|
|
27
|
-
n3Writer.addQuad(quad);
|
|
28
|
-
} else {
|
|
29
|
-
n3Writer.end(callback);
|
|
30
|
-
}
|
|
31
|
-
});
|
|
32
|
-
}, function (result, callback) {
|
|
33
|
-
try {
|
|
34
|
-
_jsonld.default.fromRDF(result, {
|
|
35
|
-
format: 'application/nquads'
|
|
36
|
-
}).then(result => {
|
|
37
|
-
callback(null, result);
|
|
38
|
-
});
|
|
39
|
-
} catch (err) {
|
|
40
|
-
callback(err);
|
|
41
|
-
}
|
|
42
|
-
}, function (json, callback) {
|
|
43
|
-
jsonString = JSON.stringify(json);
|
|
44
|
-
jsonCallback(null, jsonString);
|
|
45
|
-
}], function (err, result) {
|
|
46
|
-
jsonCallback(err, jsonString);
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
function convertToNQuads(n3String, nquadCallback) {
|
|
50
|
-
var nquadString;
|
|
51
|
-
var n3Parser = new _n.Parser();
|
|
52
|
-
var n3Writer = new _n.Writer({
|
|
53
|
-
format: 'N-Quads'
|
|
54
|
-
});
|
|
55
|
-
_async.default.waterfall([function (callback) {
|
|
56
|
-
n3Parser.parse(n3String, function (error, triple, prefixes) {
|
|
57
|
-
if (error) {
|
|
58
|
-
callback(error);
|
|
59
|
-
} else if (quad !== null) {
|
|
60
|
-
n3Writer.addQuad(quad);
|
|
61
|
-
} else {
|
|
62
|
-
n3Writer.end(callback);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
}, function (result, callback) {
|
|
66
|
-
nquadString = result;
|
|
67
|
-
nquadCallback(null, nquadString);
|
|
68
|
-
}], function (err, result) {
|
|
69
|
-
nquadCallback(err, nquadString);
|
|
70
|
-
});
|
|
71
|
-
}
|
package/src/convert.js
DELETED
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import asyncLib from 'async' // @@ Goal: remove this dependency
|
|
2
|
-
import jsonld from 'jsonld'
|
|
3
|
-
import { Parser, Writer } from 'n3' // @@ Goal: remove this dependency
|
|
4
|
-
|
|
5
|
-
export function convertToJson (n3String, jsonCallback) {
|
|
6
|
-
var jsonString
|
|
7
|
-
var n3Parser = new Parser()
|
|
8
|
-
var n3Writer = new Writer({
|
|
9
|
-
format: 'N-Quads'
|
|
10
|
-
})
|
|
11
|
-
asyncLib.waterfall([
|
|
12
|
-
function (callback) {
|
|
13
|
-
n3Parser.parse(n3String, function (error, quad, prefixes) {
|
|
14
|
-
if (error) {
|
|
15
|
-
callback(error);
|
|
16
|
-
} else if (quad !== null) {
|
|
17
|
-
n3Writer.addQuad(quad);
|
|
18
|
-
} else {
|
|
19
|
-
n3Writer.end(callback);
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
},
|
|
23
|
-
function (result, callback) {
|
|
24
|
-
try {
|
|
25
|
-
jsonld.fromRDF(result, {
|
|
26
|
-
format: 'application/nquads'
|
|
27
|
-
}).then((result) => {
|
|
28
|
-
callback(null, result)
|
|
29
|
-
})
|
|
30
|
-
} catch (err) {
|
|
31
|
-
callback(err)
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
function (json, callback) {
|
|
35
|
-
jsonString = JSON.stringify(json)
|
|
36
|
-
jsonCallback(null, jsonString)
|
|
37
|
-
}
|
|
38
|
-
], function (err, result) {
|
|
39
|
-
jsonCallback(err, jsonString)
|
|
40
|
-
}
|
|
41
|
-
)
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
export function convertToNQuads (n3String, nquadCallback) {
|
|
45
|
-
var nquadString
|
|
46
|
-
var n3Parser = new Parser()
|
|
47
|
-
var n3Writer = new Writer({
|
|
48
|
-
format: 'N-Quads'
|
|
49
|
-
})
|
|
50
|
-
asyncLib.waterfall([
|
|
51
|
-
function (callback) {
|
|
52
|
-
n3Parser.parse(n3String, function (error, triple, prefixes) {
|
|
53
|
-
if (error) {
|
|
54
|
-
callback(error);
|
|
55
|
-
} else if (quad !== null) {
|
|
56
|
-
n3Writer.addQuad(quad);
|
|
57
|
-
} else {
|
|
58
|
-
n3Writer.end(callback);
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
},
|
|
62
|
-
function (result, callback) {
|
|
63
|
-
nquadString = result
|
|
64
|
-
nquadCallback(null, nquadString)
|
|
65
|
-
}
|
|
66
|
-
], function (err, result) {
|
|
67
|
-
nquadCallback(err, nquadString)
|
|
68
|
-
}
|
|
69
|
-
)
|
|
70
|
-
}
|