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.
Files changed (115) hide show
  1. package/dist/rdflib.min.js +1 -1
  2. package/dist/rdflib.min.js.LICENSE.txt +13 -1
  3. package/dist/rdflib.min.js.map +1 -1
  4. package/esm/blank-node.js +3 -27
  5. package/esm/collection.js +7 -29
  6. package/esm/default-graph.js +1 -15
  7. package/esm/empty.js +0 -13
  8. package/esm/factories/canonical-data-factory.js +5 -40
  9. package/esm/factories/extended-term-factory.js +0 -11
  10. package/esm/factories/factory-types.js +2 -1
  11. package/esm/factories/rdflib-data-factory.js +0 -8
  12. package/esm/fetcher.js +257 -481
  13. package/esm/formula.js +43 -142
  14. package/esm/index.js +19 -36
  15. package/esm/jsonldparser.js +20 -29
  16. package/esm/jsonparser.js +0 -7
  17. package/esm/lists.js +18 -33
  18. package/esm/literal.js +10 -42
  19. package/esm/n3parser.js +38 -351
  20. package/esm/named-node.js +8 -27
  21. package/esm/namespace.js +0 -1
  22. package/esm/node-internal.js +11 -24
  23. package/esm/node.js +1 -6
  24. package/esm/parse.js +10 -17
  25. package/esm/patch-parser.js +9 -29
  26. package/esm/query-to-sparql.js +0 -18
  27. package/esm/query.js +50 -133
  28. package/esm/rdfaparser.js +72 -210
  29. package/esm/rdfxmlparser.js +31 -128
  30. package/esm/serialize.js +8 -33
  31. package/esm/serializer.js +122 -286
  32. package/esm/sparql-to-query.js +44 -134
  33. package/esm/statement.js +8 -19
  34. package/esm/store.js +109 -280
  35. package/esm/types.js +3 -2
  36. package/esm/update-manager.js +110 -246
  37. package/esm/updates-via.js +0 -27
  38. package/esm/uri.js +6 -50
  39. package/esm/utils/default-graph-uri.js +1 -0
  40. package/esm/utils/termValue.js +0 -1
  41. package/esm/utils/terms.js +15 -16
  42. package/esm/utils-js.js +16 -57
  43. package/esm/utils.js +4 -15
  44. package/esm/variable.js +0 -20
  45. package/lib/blank-node.js +3 -28
  46. package/lib/class-order.js +0 -1
  47. package/lib/collection.js +7 -34
  48. package/lib/default-graph.js +0 -20
  49. package/lib/empty.js +0 -18
  50. package/lib/factories/canonical-data-factory.js +4 -51
  51. package/lib/factories/extended-term-factory.js +0 -18
  52. package/lib/factories/factory-types.d.ts +6 -6
  53. package/lib/factories/factory-types.js +0 -3
  54. package/lib/factories/rdflib-data-factory.js +0 -12
  55. package/lib/fetcher.d.ts +6 -6
  56. package/lib/fetcher.js +258 -470
  57. package/lib/formula.d.ts +1 -1
  58. package/lib/formula.js +43 -151
  59. package/lib/index.d.ts +1 -2
  60. package/lib/index.js +14 -82
  61. package/lib/jsonldparser.js +19 -33
  62. package/lib/jsonparser.js +0 -9
  63. package/lib/lists.js +14 -39
  64. package/lib/literal.js +10 -49
  65. package/lib/log.d.ts +0 -6
  66. package/lib/log.js +0 -1
  67. package/lib/n3parser.d.ts +1 -0
  68. package/lib/n3parser.js +39 -359
  69. package/lib/named-node.js +7 -35
  70. package/lib/namespace.js +0 -3
  71. package/lib/node-internal.js +11 -21
  72. package/lib/node.js +1 -11
  73. package/lib/parse.d.ts +1 -1
  74. package/lib/parse.js +8 -27
  75. package/lib/patch-parser.js +10 -33
  76. package/lib/query-to-sparql.js +0 -23
  77. package/lib/query.js +46 -152
  78. package/lib/rdfaparser.js +72 -220
  79. package/lib/rdfxmlparser.js +31 -132
  80. package/lib/serialize.d.ts +1 -1
  81. package/lib/serialize.js +8 -43
  82. package/lib/serializer.d.ts +1 -0
  83. package/lib/serializer.js +121 -297
  84. package/lib/sparql-to-query.js +42 -167
  85. package/lib/statement.js +8 -24
  86. package/lib/store.d.ts +2 -2
  87. package/lib/store.js +102 -282
  88. package/lib/tf-types.d.ts +4 -4
  89. package/lib/types.d.ts +8 -8
  90. package/lib/types.js +3 -3
  91. package/lib/update-manager.d.ts +2 -2
  92. package/lib/update-manager.js +110 -254
  93. package/lib/updates-via.js +0 -30
  94. package/lib/uri.js +5 -58
  95. package/lib/utils/default-graph-uri.js +1 -3
  96. package/lib/utils/termValue.js +0 -2
  97. package/lib/utils/terms.js +15 -34
  98. package/lib/utils-js.js +16 -80
  99. package/lib/utils.js +4 -21
  100. package/lib/variable.js +0 -25
  101. package/lib/xsd-internal.js +0 -3
  102. package/lib/xsd.js +0 -4
  103. package/package.json +40 -39
  104. package/src/fetcher.ts +2 -2
  105. package/src/index.ts +0 -2
  106. package/src/jsonldparser.js +13 -4
  107. package/src/n3parser.js +12 -4
  108. package/src/serialize.ts +4 -11
  109. package/src/serializer.js +24 -0
  110. package/src/update-manager.ts +18 -7
  111. package/changes.txt +0 -59
  112. package/esm/convert.js +0 -61
  113. package/lib/convert.d.ts +0 -2
  114. package/lib/convert.js +0 -77
  115. 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'; // Prepare bound versions of data factory methods for export
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
- graph = boundDataFactory.graph,
53
- lit = boundDataFactory.lit,
54
- st = boundDataFactory.st,
55
- namedNode = boundDataFactory.namedNode,
56
- variable = boundDataFactory.variable,
57
- blankNode = boundDataFactory.blankNode,
58
- defaultGraph = boundDataFactory.defaultGraph,
59
- literal = boundDataFactory.literal,
60
- quad = boundDataFactory.quad,
61
- triple = boundDataFactory.triple;
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
- var term = Node.fromValue; // TODO: this export is broken;
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, convert, 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
74
- NextId, fromNT, fetcher, graph, lit, st, namedNode as sym, // RDFJS DataFactory interface
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);
@@ -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.rdfFactory.namedNode(obj['@id']);
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.rdfFactory.namedNode(obj['@id']) : kb.rdfFactory.blankNode();
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.rdfFactory.namedNode(flatResource['@id']) : kb.rdfFactory.blankNode();
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; // this is an array of resources
95
-
96
- var nestedFlatResources = flatResource[property]; // recursively process all flat resources in the array, but with the graphId as base.
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'; // import Formula from './formula'
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
- _step;
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
- _step2;
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); // console.log(` substituteInDoc predicate ${x} in ${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
- _step3;
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
- _step4;
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
- _step5;
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); // console.log(' List now is: ', total)
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); // Replace old list with new list:
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
- var str = literal.value; // #x22 ("), #x5C (\), #x0A (\n) and #xD (\r) are disallowed and need to be replaced
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 };