rdflib 2.2.21 → 2.2.22-0de51c50
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.LICENSE.txt +13 -1
- package/dist/rdflib.min.js.map +1 -1
- package/esm/blank-node.js +3 -27
- package/esm/collection.js +7 -29
- package/esm/default-graph.js +1 -15
- package/esm/empty.js +0 -13
- package/esm/factories/canonical-data-factory.js +5 -40
- package/esm/factories/extended-term-factory.js +0 -11
- package/esm/factories/factory-types.js +2 -1
- package/esm/factories/rdflib-data-factory.js +0 -8
- package/esm/fetcher.js +257 -481
- package/esm/formula.js +43 -142
- package/esm/index.js +19 -36
- package/esm/jsonldparser.js +20 -29
- package/esm/jsonparser.js +0 -7
- package/esm/lists.js +18 -33
- package/esm/literal.js +10 -42
- package/esm/n3parser.js +38 -351
- package/esm/named-node.js +8 -27
- package/esm/namespace.js +0 -1
- package/esm/node-internal.js +11 -24
- package/esm/node.js +1 -6
- package/esm/parse.js +10 -17
- package/esm/patch-parser.js +9 -29
- package/esm/query-to-sparql.js +0 -18
- package/esm/query.js +50 -133
- package/esm/rdfaparser.js +72 -210
- package/esm/rdfxmlparser.js +31 -128
- package/esm/serialize.js +8 -33
- package/esm/serializer.js +122 -286
- package/esm/sparql-to-query.js +44 -134
- package/esm/statement.js +8 -19
- package/esm/store.js +109 -280
- package/esm/types.js +3 -2
- package/esm/update-manager.js +110 -246
- package/esm/updates-via.js +0 -27
- package/esm/uri.js +6 -50
- package/esm/utils/default-graph-uri.js +1 -0
- package/esm/utils/termValue.js +0 -1
- package/esm/utils/terms.js +15 -16
- package/esm/utils-js.js +16 -57
- package/esm/utils.js +4 -15
- package/esm/variable.js +0 -20
- package/lib/blank-node.js +3 -28
- package/lib/class-order.js +0 -1
- package/lib/collection.js +7 -34
- package/lib/default-graph.js +0 -20
- package/lib/empty.js +0 -18
- package/lib/factories/canonical-data-factory.js +4 -51
- package/lib/factories/extended-term-factory.js +0 -18
- package/lib/factories/factory-types.d.ts +6 -6
- package/lib/factories/factory-types.js +0 -3
- package/lib/factories/rdflib-data-factory.js +0 -12
- package/lib/fetcher.d.ts +6 -6
- package/lib/fetcher.js +258 -470
- package/lib/formula.d.ts +1 -1
- package/lib/formula.js +43 -151
- package/lib/index.d.ts +1 -2
- package/lib/index.js +14 -82
- package/lib/jsonldparser.js +19 -33
- package/lib/jsonparser.js +0 -9
- package/lib/lists.js +14 -39
- package/lib/literal.js +10 -49
- package/lib/log.d.ts +0 -6
- package/lib/log.js +0 -1
- package/lib/n3parser.d.ts +1 -0
- package/lib/n3parser.js +39 -359
- package/lib/named-node.js +7 -35
- package/lib/namespace.js +0 -3
- package/lib/node-internal.js +11 -21
- package/lib/node.js +1 -11
- package/lib/parse.d.ts +1 -1
- package/lib/parse.js +8 -27
- package/lib/patch-parser.js +10 -33
- package/lib/query-to-sparql.js +0 -23
- package/lib/query.js +46 -152
- package/lib/rdfaparser.js +72 -220
- package/lib/rdfxmlparser.js +31 -132
- package/lib/serialize.d.ts +1 -1
- package/lib/serialize.js +8 -43
- package/lib/serializer.d.ts +1 -0
- package/lib/serializer.js +121 -297
- package/lib/sparql-to-query.js +42 -167
- package/lib/statement.js +8 -24
- package/lib/store.d.ts +2 -2
- package/lib/store.js +102 -282
- package/lib/tf-types.d.ts +4 -4
- package/lib/types.d.ts +8 -8
- package/lib/types.js +3 -3
- package/lib/update-manager.d.ts +2 -2
- package/lib/update-manager.js +110 -254
- package/lib/updates-via.js +0 -30
- package/lib/uri.js +5 -58
- package/lib/utils/default-graph-uri.js +1 -3
- package/lib/utils/termValue.js +0 -2
- package/lib/utils/terms.js +15 -34
- package/lib/utils-js.js +16 -80
- package/lib/utils.js +4 -21
- package/lib/variable.js +0 -25
- package/lib/xsd-internal.js +0 -3
- package/lib/xsd.js +0 -4
- package/package.json +40 -39
- package/src/fetcher.ts +2 -2
- package/src/index.ts +0 -2
- package/src/jsonldparser.js +13 -4
- package/src/n3parser.js +12 -4
- package/src/serialize.ts +4 -11
- package/src/serializer.js +24 -0
- package/src/update-manager.ts +18 -7
- package/changes.txt +0 -59
- package/esm/convert.js +0 -61
- package/lib/convert.d.ts +0 -2
- package/lib/convert.js +0 -77
- package/src/convert.js +0 -70
package/esm/index.js
CHANGED
|
@@ -5,14 +5,10 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
5
5
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
6
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
7
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
|
-
|
|
9
8
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
10
|
-
|
|
11
9
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
12
|
-
|
|
13
10
|
import BlankNode from './blank-node';
|
|
14
11
|
import Collection from './collection';
|
|
15
|
-
import * as convert from './convert';
|
|
16
12
|
import Empty from './empty';
|
|
17
13
|
import Fetcher from './fetcher';
|
|
18
14
|
import Formula from './formula';
|
|
@@ -40,77 +36,64 @@ import { UpdatesVia } from './updates-via';
|
|
|
40
36
|
import * as uri from './uri';
|
|
41
37
|
import * as Util from './utils-js';
|
|
42
38
|
import Variable from './variable';
|
|
43
|
-
import DataFactory from './factories/rdflib-data-factory';
|
|
39
|
+
import DataFactory from './factories/rdflib-data-factory';
|
|
44
40
|
|
|
41
|
+
// Prepare bound versions of data factory methods for export
|
|
45
42
|
var boundDataFactory = {};
|
|
46
|
-
|
|
47
43
|
for (var name in DataFactory) {
|
|
48
44
|
if (typeof DataFactory[name] === 'function') boundDataFactory[name] = DataFactory[name].bind(DataFactory);
|
|
49
45
|
}
|
|
50
|
-
|
|
51
46
|
var fetcher = boundDataFactory.fetcher,
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
47
|
+
graph = boundDataFactory.graph,
|
|
48
|
+
lit = boundDataFactory.lit,
|
|
49
|
+
st = boundDataFactory.st,
|
|
50
|
+
namedNode = boundDataFactory.namedNode,
|
|
51
|
+
variable = boundDataFactory.variable,
|
|
52
|
+
blankNode = boundDataFactory.blankNode,
|
|
53
|
+
defaultGraph = boundDataFactory.defaultGraph,
|
|
54
|
+
literal = boundDataFactory.literal,
|
|
55
|
+
quad = boundDataFactory.quad,
|
|
56
|
+
triple = boundDataFactory.triple;
|
|
62
57
|
var formula = new Formula();
|
|
63
|
-
|
|
64
58
|
var fromNT = function fromNT(str) {
|
|
65
59
|
return formula.fromNT(str);
|
|
66
60
|
};
|
|
61
|
+
var term = Node.fromValue;
|
|
67
62
|
|
|
68
|
-
|
|
63
|
+
// TODO: this export is broken;
|
|
69
64
|
// it exports the _current_ value of nextId, which is always 0
|
|
70
|
-
|
|
71
65
|
var NextId = BlankNode.nextId;
|
|
72
66
|
export * from './utils/terms';
|
|
73
|
-
export { BlankNode, Collection,
|
|
74
|
-
|
|
67
|
+
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,
|
|
68
|
+
// Alias
|
|
69
|
+
|
|
70
|
+
NextId, fromNT, fetcher, graph, lit, st, namedNode as sym,
|
|
71
|
+
// RDFJS DataFactory interface
|
|
75
72
|
blankNode, defaultGraph, literal, namedNode, quad, triple, variable };
|
|
76
73
|
export { termValue } from './utils/termValue';
|
|
77
74
|
export var ConnectedStore = /*#__PURE__*/function (_Store) {
|
|
78
75
|
_inherits(ConnectedStore, _Store);
|
|
79
|
-
|
|
80
76
|
var _super = _createSuper(ConnectedStore);
|
|
81
|
-
|
|
82
77
|
function ConnectedStore(features) {
|
|
83
78
|
var _this;
|
|
84
|
-
|
|
85
79
|
_classCallCheck(this, ConnectedStore);
|
|
86
|
-
|
|
87
80
|
_this = _super.call(this, features);
|
|
88
|
-
|
|
89
81
|
_defineProperty(_assertThisInitialized(_this), "fetcher", void 0);
|
|
90
|
-
|
|
91
82
|
_this.fetcher = new Fetcher(_assertThisInitialized(_this), {});
|
|
92
83
|
return _this;
|
|
93
84
|
}
|
|
94
|
-
|
|
95
85
|
return _createClass(ConnectedStore);
|
|
96
86
|
}(Store);
|
|
97
87
|
export var LiveStore = /*#__PURE__*/function (_ConnectedStore) {
|
|
98
88
|
_inherits(LiveStore, _ConnectedStore);
|
|
99
|
-
|
|
100
89
|
var _super2 = _createSuper(LiveStore);
|
|
101
|
-
|
|
102
90
|
function LiveStore(features) {
|
|
103
91
|
var _this2;
|
|
104
|
-
|
|
105
92
|
_classCallCheck(this, LiveStore);
|
|
106
|
-
|
|
107
93
|
_this2 = _super2.call(this, features);
|
|
108
|
-
|
|
109
94
|
_defineProperty(_assertThisInitialized(_this2), "updater", void 0);
|
|
110
|
-
|
|
111
95
|
_this2.updater = new UpdateManager(_assertThisInitialized(_this2));
|
|
112
96
|
return _this2;
|
|
113
97
|
}
|
|
114
|
-
|
|
115
98
|
return _createClass(LiveStore);
|
|
116
99
|
}(ConnectedStore);
|
package/esm/jsonldparser.js
CHANGED
|
@@ -1,49 +1,42 @@
|
|
|
1
1
|
import jsonld from 'jsonld';
|
|
2
2
|
import { arrayToStatements } from './utils';
|
|
3
|
+
|
|
3
4
|
/**
|
|
4
5
|
* Parses json-ld formatted JS objects to a rdf Term.
|
|
5
6
|
* @param kb - The DataFactory to use.
|
|
6
7
|
* @param obj - The json-ld object to process.
|
|
7
8
|
* @return {Literal|NamedNode|BlankNode|Collection}
|
|
8
9
|
*/
|
|
9
|
-
|
|
10
10
|
export function jsonldObjectToTerm(kb, obj) {
|
|
11
11
|
if (typeof obj === 'string') {
|
|
12
12
|
return kb.rdfFactory.literal(obj);
|
|
13
13
|
}
|
|
14
|
-
|
|
15
14
|
if (Object.prototype.hasOwnProperty.call(obj, '@list')) {
|
|
16
15
|
if (kb.rdfFactory.supports["COLLECTIONS"] === true) {
|
|
17
16
|
return listToCollection(kb, obj['@list']);
|
|
18
17
|
}
|
|
19
|
-
|
|
20
18
|
return listToStatements(kb, obj);
|
|
21
19
|
}
|
|
22
|
-
|
|
23
20
|
if (Object.prototype.hasOwnProperty.call(obj, '@id')) {
|
|
24
|
-
return kb
|
|
21
|
+
return nodeType(kb, obj);
|
|
25
22
|
}
|
|
26
|
-
|
|
27
23
|
if (Object.prototype.hasOwnProperty.call(obj, '@language')) {
|
|
28
24
|
return kb.rdfFactory.literal(obj['@value'], obj['@language']);
|
|
29
25
|
}
|
|
30
|
-
|
|
31
26
|
if (Object.prototype.hasOwnProperty.call(obj, '@type')) {
|
|
32
27
|
return kb.rdfFactory.literal(obj['@value'], kb.rdfFactory.namedNode(obj['@type']));
|
|
33
28
|
}
|
|
34
|
-
|
|
35
29
|
if (Object.prototype.hasOwnProperty.call(obj, '@value')) {
|
|
36
30
|
return kb.rdfFactory.literal(obj['@value']);
|
|
37
31
|
}
|
|
38
|
-
|
|
39
32
|
return kb.rdfFactory.literal(obj);
|
|
40
33
|
}
|
|
34
|
+
|
|
41
35
|
/**
|
|
42
36
|
* Adds the statements in a json-ld list object to {kb}.
|
|
43
37
|
*/
|
|
44
|
-
|
|
45
38
|
function listToStatements(kb, obj) {
|
|
46
|
-
var listId = obj['@id'] ? kb
|
|
39
|
+
var listId = obj['@id'] ? nodeType(kb, obj) : kb.rdfFactory.blankNode();
|
|
47
40
|
var items = obj['@list'].map(function (listItem) {
|
|
48
41
|
return jsonldObjectToTerm(kb, listItem);
|
|
49
42
|
});
|
|
@@ -51,23 +44,20 @@ function listToStatements(kb, obj) {
|
|
|
51
44
|
kb.addAll(statements);
|
|
52
45
|
return listId;
|
|
53
46
|
}
|
|
54
|
-
|
|
55
47
|
function listToCollection(kb, obj) {
|
|
56
48
|
if (!Array.isArray(obj)) {
|
|
57
49
|
throw new TypeError("Object must be an array");
|
|
58
50
|
}
|
|
59
|
-
|
|
60
51
|
return kb.rdfFactory.collection(obj.map(function (o) {
|
|
61
52
|
return jsonldObjectToTerm(kb, o);
|
|
62
53
|
}));
|
|
63
54
|
}
|
|
55
|
+
|
|
64
56
|
/**
|
|
65
57
|
* Takes a json-ld formatted string {str} and adds its statements to {kb}.
|
|
66
58
|
*
|
|
67
59
|
* Ensure that {kb.rdfFactory} is a DataFactory.
|
|
68
60
|
*/
|
|
69
|
-
|
|
70
|
-
|
|
71
61
|
export default function jsonldParser(str, kb, base, callback) {
|
|
72
62
|
var baseString = base && Object.prototype.hasOwnProperty.call(base, 'termType') ? base.value : base;
|
|
73
63
|
return jsonld.flatten(JSON.parse(str), null, {
|
|
@@ -79,29 +69,34 @@ export default function jsonldParser(str, kb, base, callback) {
|
|
|
79
69
|
}, kb);
|
|
80
70
|
}).then(callback).catch(callback);
|
|
81
71
|
}
|
|
82
|
-
|
|
72
|
+
function nodeType(kb, obj) {
|
|
73
|
+
if (obj['@id'].startsWith('_:')) {
|
|
74
|
+
// This object is a Blank Node. Pass the id without the `_:` prefix
|
|
75
|
+
return kb.rdfFactory.blankNode(obj['@id'].substring(2));
|
|
76
|
+
} else {
|
|
77
|
+
// This object is a Named Node
|
|
78
|
+
return kb.rdfFactory.namedNode(obj['@id']);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
83
81
|
function processResource(kb, base, flatResource) {
|
|
84
|
-
var id = flatResource['@id'] ? kb
|
|
85
|
-
|
|
82
|
+
var id = flatResource['@id'] ? nodeType(kb, flatResource) : kb.rdfFactory.blankNode();
|
|
86
83
|
for (var _i = 0, _Object$keys = Object.keys(flatResource); _i < _Object$keys.length; _i++) {
|
|
87
84
|
var property = _Object$keys[_i];
|
|
88
|
-
|
|
89
85
|
if (property === '@id') {
|
|
90
86
|
continue;
|
|
91
87
|
} else if (property == '@graph') {
|
|
92
88
|
// the JSON-LD flattened structure may contain nested graphs
|
|
93
89
|
// the id value for this object is the new base (named graph id) for all nested flat resources
|
|
94
|
-
var graphId = id;
|
|
95
|
-
|
|
96
|
-
var nestedFlatResources = flatResource[property];
|
|
90
|
+
var graphId = id;
|
|
91
|
+
// this is an array of resources
|
|
92
|
+
var nestedFlatResources = flatResource[property];
|
|
97
93
|
|
|
94
|
+
// recursively process all flat resources in the array, but with the graphId as base.
|
|
98
95
|
for (var i = 0; i < nestedFlatResources.length; i++) {
|
|
99
96
|
kb = processResource(kb, graphId, nestedFlatResources[i]);
|
|
100
97
|
}
|
|
101
98
|
}
|
|
102
|
-
|
|
103
99
|
var value = flatResource[property];
|
|
104
|
-
|
|
105
100
|
if (Array.isArray(value)) {
|
|
106
101
|
for (var _i2 = 0; _i2 < value.length; _i2++) {
|
|
107
102
|
kb.addStatement(createStatement(kb, id, property, value[_i2], base));
|
|
@@ -110,9 +105,9 @@ function processResource(kb, base, flatResource) {
|
|
|
110
105
|
kb.addStatement(createStatement(kb, id, property, value, base));
|
|
111
106
|
}
|
|
112
107
|
}
|
|
113
|
-
|
|
114
108
|
return kb;
|
|
115
109
|
}
|
|
110
|
+
|
|
116
111
|
/**
|
|
117
112
|
* Create statement quad depending on @type being a type node
|
|
118
113
|
* @param kb
|
|
@@ -121,11 +116,8 @@ function processResource(kb, base, flatResource) {
|
|
|
121
116
|
* @param value
|
|
122
117
|
* @return quad statement
|
|
123
118
|
*/
|
|
124
|
-
|
|
125
|
-
|
|
126
119
|
function createStatement(kb, id, property, value, base) {
|
|
127
120
|
var predicate, object;
|
|
128
|
-
|
|
129
121
|
if (property === "@type") {
|
|
130
122
|
predicate = kb.rdfFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type");
|
|
131
123
|
object = kb.rdfFactory.namedNode(value);
|
|
@@ -133,6 +125,5 @@ function createStatement(kb, id, property, value, base) {
|
|
|
133
125
|
predicate = kb.rdfFactory.namedNode(property);
|
|
134
126
|
object = jsonldObjectToTerm(kb, value);
|
|
135
127
|
}
|
|
136
|
-
|
|
137
128
|
return kb.rdfFactory.quad(id, predicate, object, kb.rdfFactory.namedNode(base));
|
|
138
129
|
}
|
package/esm/jsonparser.js
CHANGED
|
@@ -4,7 +4,6 @@ export default (function () {
|
|
|
4
4
|
var subject, predicate, object;
|
|
5
5
|
var bnodes = {};
|
|
6
6
|
var why = store.sym(source);
|
|
7
|
-
|
|
8
7
|
for (var x in data) {
|
|
9
8
|
if (x.indexOf('_:') === 0) {
|
|
10
9
|
if (bnodes[x]) {
|
|
@@ -16,16 +15,12 @@ export default (function () {
|
|
|
16
15
|
} else {
|
|
17
16
|
subject = store.sym(x);
|
|
18
17
|
}
|
|
19
|
-
|
|
20
18
|
var preds = data[x];
|
|
21
|
-
|
|
22
19
|
for (var y in preds) {
|
|
23
20
|
var objects = preds[y];
|
|
24
21
|
predicate = store.sym(y);
|
|
25
|
-
|
|
26
22
|
for (var z in objects) {
|
|
27
23
|
var obj = objects[z];
|
|
28
|
-
|
|
29
24
|
if (obj.type === 'uri') {
|
|
30
25
|
object = store.sym(obj.value);
|
|
31
26
|
store.add(subject, predicate, object, why);
|
|
@@ -36,7 +31,6 @@ export default (function () {
|
|
|
36
31
|
object = store.bnode(obj.value);
|
|
37
32
|
bnodes[obj.value] = object;
|
|
38
33
|
}
|
|
39
|
-
|
|
40
34
|
store.add(subject, predicate, object, why);
|
|
41
35
|
} else if (obj.type === 'Literal') {
|
|
42
36
|
// var datatype
|
|
@@ -47,7 +41,6 @@ export default (function () {
|
|
|
47
41
|
} else {
|
|
48
42
|
object = store.literal(obj.value);
|
|
49
43
|
}
|
|
50
|
-
|
|
51
44
|
store.add(subject, predicate, object, why);
|
|
52
45
|
} else {
|
|
53
46
|
throw new Error('error: unexpected termtype: ' + z.type);
|
package/esm/lists.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
2
|
-
|
|
3
2
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
-
|
|
5
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
6
|
-
|
|
3
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
7
4
|
/* Lists form conversion
|
|
8
5
|
*/
|
|
6
|
+
|
|
9
7
|
// import DataFactory from './factories/extended-term-factory'
|
|
10
8
|
// import jsonldParser from './jsonldparser'
|
|
11
9
|
// @ts-ignore is this injected?
|
|
@@ -15,23 +13,24 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
|
|
|
15
13
|
// import RDFParser from './rdfxmlparser'
|
|
16
14
|
// import sparqlUpdateParser from './patch-parser'
|
|
17
15
|
// import * as Util from './utils-js'
|
|
16
|
+
|
|
18
17
|
// import BlankNode from './blank-node'
|
|
19
18
|
// import NamedNode from './named-node'
|
|
20
19
|
import Collection from './collection';
|
|
21
|
-
import Statement from './statement';
|
|
20
|
+
import Statement from './statement';
|
|
21
|
+
// import Formula from './formula'
|
|
22
22
|
|
|
23
23
|
import Namespace from './namespace';
|
|
24
24
|
var RDF = Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#');
|
|
25
|
+
|
|
25
26
|
/* Replace a given node with another node throughout a given document
|
|
26
27
|
*
|
|
27
28
|
* we do the predicate as well for complenesss though we don't expect Collections to use it
|
|
28
29
|
*/
|
|
29
|
-
|
|
30
30
|
export function substituteInDoc(store, x, y, doc) {
|
|
31
31
|
// console.log(`substituteInDoc put ${x} for ${y} in ${doc}}`)
|
|
32
32
|
var _iterator = _createForOfIteratorHelper(store.statementsMatching(y, null, null, doc)),
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
_step;
|
|
35
34
|
try {
|
|
36
35
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
37
36
|
var quad = _step.value;
|
|
@@ -44,15 +43,13 @@ export function substituteInDoc(store, x, y, doc) {
|
|
|
44
43
|
} finally {
|
|
45
44
|
_iterator.f();
|
|
46
45
|
}
|
|
47
|
-
|
|
48
46
|
var _iterator2 = _createForOfIteratorHelper(store.statementsMatching(null, y, null, doc)),
|
|
49
|
-
|
|
50
|
-
|
|
47
|
+
_step2;
|
|
51
48
|
try {
|
|
52
49
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
53
50
|
var _quad = _step2.value;
|
|
54
|
-
store.remove(_quad);
|
|
55
|
-
|
|
51
|
+
store.remove(_quad);
|
|
52
|
+
// console.log(` substituteInDoc predicate ${x} in ${quad}}`)
|
|
56
53
|
store.add(new Statement(_quad.subject, x, _quad.object, doc));
|
|
57
54
|
}
|
|
58
55
|
} catch (err) {
|
|
@@ -60,10 +57,8 @@ export function substituteInDoc(store, x, y, doc) {
|
|
|
60
57
|
} finally {
|
|
61
58
|
_iterator2.f();
|
|
62
59
|
}
|
|
63
|
-
|
|
64
60
|
var _iterator3 = _createForOfIteratorHelper(store.statementsMatching(null, null, y, doc)),
|
|
65
|
-
|
|
66
|
-
|
|
61
|
+
_step3;
|
|
67
62
|
try {
|
|
68
63
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
69
64
|
var _quad2 = _step3.value;
|
|
@@ -76,15 +71,13 @@ export function substituteInDoc(store, x, y, doc) {
|
|
|
76
71
|
_iterator3.f();
|
|
77
72
|
}
|
|
78
73
|
}
|
|
74
|
+
|
|
79
75
|
/* Change all lone rdf:nil nodes into empty Collections
|
|
80
76
|
*/
|
|
81
|
-
|
|
82
77
|
export function substituteNillsInDoc(store, doc) {
|
|
83
78
|
var x = RDF('nil');
|
|
84
|
-
|
|
85
79
|
var _iterator4 = _createForOfIteratorHelper(store.statementsMatching(x, null, null, doc)),
|
|
86
|
-
|
|
87
|
-
|
|
80
|
+
_step4;
|
|
88
81
|
try {
|
|
89
82
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
90
83
|
var quad = _step4.value;
|
|
@@ -97,20 +90,15 @@ export function substituteNillsInDoc(store, doc) {
|
|
|
97
90
|
} finally {
|
|
98
91
|
_iterator4.f();
|
|
99
92
|
}
|
|
100
|
-
|
|
101
93
|
var _iterator5 = _createForOfIteratorHelper(store.statementsMatching(null, null, x, doc)),
|
|
102
|
-
|
|
103
|
-
|
|
94
|
+
_step5;
|
|
104
95
|
try {
|
|
105
96
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
106
97
|
var _quad3 = _step5.value;
|
|
107
|
-
|
|
108
98
|
if (!_quad3.predicate.sameTerm(RDF('rest'))) {
|
|
109
99
|
// If not a tail
|
|
110
100
|
store.remove(_quad3);
|
|
111
|
-
|
|
112
101
|
var _y = new Collection();
|
|
113
|
-
|
|
114
102
|
store.add(new Statement(_quad3.subject, _quad3.predicate, _y, doc));
|
|
115
103
|
}
|
|
116
104
|
}
|
|
@@ -137,27 +125,24 @@ export function convertFirstRestNil(store, doc // Do whole store?
|
|
|
137
125
|
var firsts = store.statementsMatching(ele, RDF('first'), null, doc);
|
|
138
126
|
if (firsts.length !== 1) throw new Error("Bad list structure: rest but ".concat(firsts.length, " firsts at ").concat(ele));
|
|
139
127
|
var value = firsts[0].object;
|
|
140
|
-
var total = [value].concat(listSoFar);
|
|
141
|
-
|
|
128
|
+
var total = [value].concat(listSoFar);
|
|
129
|
+
// console.log(' List now is: ', total)
|
|
142
130
|
var totalTrash = trash.concat(rests).concat(firsts);
|
|
143
131
|
var pres = store.statementsMatching(null, RDF('rest'), ele, doc);
|
|
144
|
-
|
|
145
132
|
if (pres.length === 0) {
|
|
146
133
|
// Head of the list
|
|
147
134
|
var newList = new Collection(total);
|
|
148
|
-
store.remove(totalTrash);
|
|
149
|
-
|
|
135
|
+
store.remove(totalTrash);
|
|
136
|
+
// Replace old list with new list:
|
|
150
137
|
substituteInDoc(store, newList, ele, doc);
|
|
151
138
|
return;
|
|
152
139
|
}
|
|
153
|
-
|
|
154
140
|
if (pres.length !== 1) throw new Error("Bad list structure: ".concat(pres.length, " pres at ").concat(ele));
|
|
155
141
|
var pre = pres[0].subject;
|
|
156
142
|
if (pre.termType !== 'BlankNode') throw new Error("Bad list element node ".concat(pre, " type: ").concat(pre.termType, " "));
|
|
157
143
|
preceding(pre, total, totalTrash);
|
|
158
144
|
return;
|
|
159
145
|
}
|
|
160
|
-
|
|
161
146
|
substituteNillsInDoc(store, doc); // lone ones only
|
|
162
147
|
|
|
163
148
|
var tails = store.statementsMatching(null, RDF('rest'), RDF('nil'), doc);
|
package/esm/literal.js
CHANGED
|
@@ -6,27 +6,21 @@ import _inherits from "@babel/runtime/helpers/inherits";
|
|
|
6
6
|
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
7
7
|
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
8
8
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
|
-
|
|
10
9
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
11
|
-
|
|
12
10
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
13
|
-
|
|
14
11
|
import ClassOrder from './class-order';
|
|
15
12
|
import RDFlibNamedNode from './named-node';
|
|
16
13
|
import Node from './node-internal';
|
|
17
14
|
import { LiteralTermType } from './types';
|
|
18
15
|
import { isLiteral } from './utils/terms';
|
|
19
16
|
import XSD from './xsd-internal';
|
|
20
|
-
|
|
21
17
|
/**
|
|
22
18
|
* An RDF literal, containing some value which isn't expressed as an IRI.
|
|
23
19
|
* @link https://rdf.js.org/data-model-spec/#literal-interface
|
|
24
20
|
*/
|
|
25
21
|
var Literal = /*#__PURE__*/function (_Node) {
|
|
26
22
|
_inherits(Literal, _Node);
|
|
27
|
-
|
|
28
23
|
var _super = _createSuper(Literal);
|
|
29
|
-
|
|
30
24
|
/**
|
|
31
25
|
* The literal's datatype as a named node
|
|
32
26
|
*/
|
|
@@ -43,21 +37,13 @@ var Literal = /*#__PURE__*/function (_Node) {
|
|
|
43
37
|
*/
|
|
44
38
|
function Literal(value, language, datatype) {
|
|
45
39
|
var _this;
|
|
46
|
-
|
|
47
40
|
_classCallCheck(this, Literal);
|
|
48
|
-
|
|
49
41
|
_this = _super.call(this, value);
|
|
50
|
-
|
|
51
42
|
_defineProperty(_assertThisInitialized(_this), "termType", LiteralTermType);
|
|
52
|
-
|
|
53
43
|
_defineProperty(_assertThisInitialized(_this), "classOrder", ClassOrder.Literal);
|
|
54
|
-
|
|
55
44
|
_defineProperty(_assertThisInitialized(_this), "datatype", XSD.string);
|
|
56
|
-
|
|
57
45
|
_defineProperty(_assertThisInitialized(_this), "isVar", 0);
|
|
58
|
-
|
|
59
46
|
_defineProperty(_assertThisInitialized(_this), "language", '');
|
|
60
|
-
|
|
61
47
|
if (language) {
|
|
62
48
|
_this.language = language;
|
|
63
49
|
_this.datatype = XSD.langString;
|
|
@@ -66,38 +52,35 @@ var Literal = /*#__PURE__*/function (_Node) {
|
|
|
66
52
|
} else {
|
|
67
53
|
_this.datatype = XSD.string;
|
|
68
54
|
}
|
|
69
|
-
|
|
70
55
|
return _this;
|
|
71
56
|
}
|
|
57
|
+
|
|
72
58
|
/**
|
|
73
59
|
* Gets a copy of this literal
|
|
74
60
|
*/
|
|
75
|
-
|
|
76
|
-
|
|
77
61
|
_createClass(Literal, [{
|
|
78
62
|
key: "copy",
|
|
79
63
|
value: function copy() {
|
|
80
64
|
return new Literal(this.value, this.lang, this.datatype);
|
|
81
65
|
}
|
|
66
|
+
|
|
82
67
|
/**
|
|
83
68
|
* Gets whether two literals are the same
|
|
84
69
|
* @param other The other statement
|
|
85
70
|
*/
|
|
86
|
-
|
|
87
71
|
}, {
|
|
88
72
|
key: "equals",
|
|
89
73
|
value: function equals(other) {
|
|
90
74
|
if (!other) {
|
|
91
75
|
return false;
|
|
92
76
|
}
|
|
93
|
-
|
|
94
77
|
return this.termType === other.termType && this.value === other.value && this.language === other.language && (!this.datatype && !other.datatype || this.datatype && this.datatype.equals(other.datatype));
|
|
95
78
|
}
|
|
79
|
+
|
|
96
80
|
/**
|
|
97
81
|
* The language for the literal
|
|
98
82
|
* @deprecated use {language} instead
|
|
99
83
|
*/
|
|
100
|
-
|
|
101
84
|
}, {
|
|
102
85
|
key: "lang",
|
|
103
86
|
get: function get() {
|
|
@@ -111,18 +94,18 @@ var Literal = /*#__PURE__*/function (_Node) {
|
|
|
111
94
|
value: function toNT() {
|
|
112
95
|
return Literal.toNT(this);
|
|
113
96
|
}
|
|
114
|
-
/** Serializes a literal to an N-Triples string */
|
|
115
97
|
|
|
98
|
+
/** Serializes a literal to an N-Triples string */
|
|
116
99
|
}, {
|
|
117
100
|
key: "toString",
|
|
118
101
|
value: function toString() {
|
|
119
102
|
return '' + this.value;
|
|
120
103
|
}
|
|
104
|
+
|
|
121
105
|
/**
|
|
122
106
|
* Builds a literal node from a boolean value
|
|
123
107
|
* @param value - The value
|
|
124
108
|
*/
|
|
125
|
-
|
|
126
109
|
}], [{
|
|
127
110
|
key: "toNT",
|
|
128
111
|
value: function toNT(literal) {
|
|
@@ -131,23 +114,20 @@ var Literal = /*#__PURE__*/function (_Node) {
|
|
|
131
114
|
} else if (typeof literal.value !== 'string') {
|
|
132
115
|
throw new Error('Value of RDF literal is not string or number: ' + literal.value);
|
|
133
116
|
}
|
|
134
|
-
|
|
135
|
-
|
|
117
|
+
var str = literal.value;
|
|
118
|
+
// #x22 ("), #x5C (\), #x0A (\n) and #xD (\r) are disallowed and need to be replaced
|
|
136
119
|
// see https://www.w3.org/TR/n-triples/#grammar-production-STRING_LITERAL_QUOTE
|
|
137
|
-
|
|
138
120
|
str = str.replace(/\\/g, '\\\\');
|
|
139
121
|
str = str.replace(/\"/g, '\\"');
|
|
140
122
|
str = str.replace(/\n/g, '\\n');
|
|
141
123
|
str = str.replace(/\r/g, '\\r');
|
|
142
124
|
str = '"' + str + '"';
|
|
143
|
-
|
|
144
125
|
if (literal.language) {
|
|
145
126
|
str += '@' + literal.language;
|
|
146
127
|
} else if (!literal.datatype.equals(XSD.string)) {
|
|
147
128
|
// Only add datatype if it's not a string
|
|
148
129
|
str += '^^' + literal.datatype.toCanonical();
|
|
149
130
|
}
|
|
150
|
-
|
|
151
131
|
return str;
|
|
152
132
|
}
|
|
153
133
|
}, {
|
|
@@ -156,81 +136,69 @@ var Literal = /*#__PURE__*/function (_Node) {
|
|
|
156
136
|
var strValue = value ? '1' : '0';
|
|
157
137
|
return new Literal(strValue, null, XSD.boolean);
|
|
158
138
|
}
|
|
139
|
+
|
|
159
140
|
/**
|
|
160
141
|
* Builds a literal node from a date value
|
|
161
142
|
* @param value The value
|
|
162
143
|
*/
|
|
163
|
-
|
|
164
144
|
}, {
|
|
165
145
|
key: "fromDate",
|
|
166
146
|
value: function fromDate(value) {
|
|
167
147
|
if (!(value instanceof Date)) {
|
|
168
148
|
throw new TypeError('Invalid argument to Literal.fromDate()');
|
|
169
149
|
}
|
|
170
|
-
|
|
171
150
|
var d2 = function d2(x) {
|
|
172
151
|
return ('' + (100 + x)).slice(1, 3);
|
|
173
152
|
};
|
|
174
|
-
|
|
175
153
|
var date = '' + value.getUTCFullYear() + '-' + d2(value.getUTCMonth() + 1) + '-' + d2(value.getUTCDate()) + 'T' + d2(value.getUTCHours()) + ':' + d2(value.getUTCMinutes()) + ':' + d2(value.getUTCSeconds()) + 'Z';
|
|
176
154
|
return new Literal(date, null, XSD.dateTime);
|
|
177
155
|
}
|
|
156
|
+
|
|
178
157
|
/**
|
|
179
158
|
* Builds a literal node from a number value
|
|
180
159
|
* @param value - The value
|
|
181
160
|
*/
|
|
182
|
-
|
|
183
161
|
}, {
|
|
184
162
|
key: "fromNumber",
|
|
185
163
|
value: function fromNumber(value) {
|
|
186
164
|
if (typeof value !== 'number') {
|
|
187
165
|
throw new TypeError('Invalid argument to Literal.fromNumber()');
|
|
188
166
|
}
|
|
189
|
-
|
|
190
167
|
var datatype;
|
|
191
168
|
var strValue = value.toString();
|
|
192
|
-
|
|
193
169
|
if (strValue.indexOf('e') < 0 && Math.abs(value) <= Number.MAX_SAFE_INTEGER) {
|
|
194
170
|
datatype = Number.isInteger(value) ? XSD.integer : XSD.decimal;
|
|
195
171
|
} else {
|
|
196
172
|
datatype = XSD.double;
|
|
197
173
|
}
|
|
198
|
-
|
|
199
174
|
return new Literal(strValue, null, datatype);
|
|
200
175
|
}
|
|
176
|
+
|
|
201
177
|
/**
|
|
202
178
|
* Builds a literal node from an input value
|
|
203
179
|
* @param value - The input value
|
|
204
180
|
*/
|
|
205
|
-
|
|
206
181
|
}, {
|
|
207
182
|
key: "fromValue",
|
|
208
183
|
value: function fromValue(value) {
|
|
209
184
|
if (isLiteral(value)) {
|
|
210
185
|
return value;
|
|
211
186
|
}
|
|
212
|
-
|
|
213
187
|
switch (_typeof(value)) {
|
|
214
188
|
case 'object':
|
|
215
189
|
if (value instanceof Date) {
|
|
216
190
|
return Literal.fromDate(value);
|
|
217
191
|
}
|
|
218
|
-
|
|
219
192
|
case 'boolean':
|
|
220
193
|
return Literal.fromBoolean(value);
|
|
221
|
-
|
|
222
194
|
case 'number':
|
|
223
195
|
return Literal.fromNumber(value);
|
|
224
|
-
|
|
225
196
|
case 'string':
|
|
226
197
|
return new Literal(value);
|
|
227
198
|
}
|
|
228
|
-
|
|
229
199
|
throw new Error("Can't make literal from " + value + ' of type ' + _typeof(value));
|
|
230
200
|
}
|
|
231
201
|
}]);
|
|
232
|
-
|
|
233
202
|
return Literal;
|
|
234
203
|
}(Node);
|
|
235
|
-
|
|
236
204
|
export { Literal as default };
|