rdflib 2.2.34 → 2.2.35-2bb9ed0b

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 (100) hide show
  1. package/dist/515.rdflib.min.js +3 -0
  2. package/dist/515.rdflib.min.js.map +1 -0
  3. package/dist/789.rdflib.min.js +1 -0
  4. package/dist/rdflib.min.js +1 -1
  5. package/dist/rdflib.min.js.LICENSE.txt +0 -2
  6. package/dist/rdflib.min.js.map +1 -1
  7. package/esm/blank-node.js +57 -85
  8. package/esm/class-order.js +1 -1
  9. package/esm/collection.js +70 -106
  10. package/esm/default-graph.js +13 -33
  11. package/esm/empty.js +8 -26
  12. package/esm/factories/canonical-data-factory.js +33 -30
  13. package/esm/factories/extended-term-factory.js +18 -14
  14. package/esm/factories/factory-types.js +1 -1
  15. package/esm/factories/rdflib-data-factory.js +9 -11
  16. package/esm/fetcher.js +1364 -1668
  17. package/esm/formula.js +631 -739
  18. package/esm/index.js +31 -51
  19. package/esm/jsonldparser.js +19 -26
  20. package/esm/jsonparser.js +1 -1
  21. package/esm/lists.js +41 -86
  22. package/esm/literal.js +120 -157
  23. package/esm/log.js +7 -7
  24. package/esm/n3parser.js +1008 -1090
  25. package/esm/named-node.js +69 -99
  26. package/esm/namespace.js +2 -4
  27. package/esm/node-internal.js +73 -97
  28. package/esm/node.js +1 -2
  29. package/esm/parse.js +3 -3
  30. package/esm/patch-parser.js +1 -2
  31. package/esm/query.js +15 -30
  32. package/esm/rdfaparser.js +775 -846
  33. package/esm/rdfxmlparser.js +348 -365
  34. package/esm/serialize.js +2 -3
  35. package/esm/serializer.js +834 -889
  36. package/esm/sparql-to-query.js +0 -2
  37. package/esm/statement.js +52 -72
  38. package/esm/store.js +852 -963
  39. package/esm/types.js +26 -21
  40. package/esm/update-manager.js +963 -1104
  41. package/esm/updates-via.js +104 -134
  42. package/esm/uri.js +3 -3
  43. package/esm/utils/default-graph-uri.js +2 -2
  44. package/esm/utils/terms.js +4 -5
  45. package/esm/utils-js.js +5 -6
  46. package/esm/utils.js +7 -6
  47. package/esm/variable.js +32 -58
  48. package/esm/xsd.js +2 -2
  49. package/lib/blank-node.js +56 -83
  50. package/lib/class-order.js +2 -3
  51. package/lib/collection.js +69 -104
  52. package/lib/default-graph.js +13 -32
  53. package/lib/empty.js +8 -25
  54. package/lib/factories/canonical-data-factory.js +36 -34
  55. package/lib/factories/extended-term-factory.js +19 -16
  56. package/lib/factories/factory-types.js +2 -3
  57. package/lib/factories/rdflib-data-factory.js +10 -13
  58. package/lib/fetcher.js +1394 -1693
  59. package/lib/formula.js +631 -738
  60. package/lib/index.js +66 -89
  61. package/lib/jsonldparser.js +21 -32
  62. package/lib/jsonparser.js +3 -4
  63. package/lib/lists.js +47 -87
  64. package/lib/literal.js +120 -156
  65. package/lib/log.js +8 -9
  66. package/lib/n3parser.js +1011 -1096
  67. package/lib/named-node.js +69 -98
  68. package/lib/namespace.js +2 -4
  69. package/lib/node-internal.js +72 -95
  70. package/lib/node.js +2 -4
  71. package/lib/parse.js +5 -6
  72. package/lib/patch-parser.js +1 -2
  73. package/lib/query.js +19 -32
  74. package/lib/rdfaparser.js +777 -849
  75. package/lib/rdfxmlparser.js +350 -366
  76. package/lib/serialize.js +2 -3
  77. package/lib/serializer.js +838 -892
  78. package/lib/sparql-to-query.js +0 -2
  79. package/lib/statement.js +54 -74
  80. package/lib/store.js +873 -978
  81. package/lib/types.js +22 -43
  82. package/lib/update-manager.js +972 -1111
  83. package/lib/updates-via.js +105 -134
  84. package/lib/uri.js +3 -3
  85. package/lib/utils/default-graph-uri.js +2 -4
  86. package/lib/utils/terms.js +4 -6
  87. package/lib/utils-js.js +11 -13
  88. package/lib/utils.js +6 -7
  89. package/lib/variable.js +34 -60
  90. package/lib/xsd-internal.js +2 -3
  91. package/lib/xsd.js +3 -4
  92. package/package.json +31 -31
  93. package/src/n3parser.js +1 -1
  94. package/src/rdfxmlparser.js +2 -1
  95. package/src/serializer.js +1 -1
  96. package/.babelrc +0 -20
  97. package/dist/670.rdflib.min.js +0 -1
  98. package/dist/730.rdflib.min.js +0 -3
  99. package/dist/730.rdflib.min.js.map +0 -1
  100. /package/dist/{730.rdflib.min.js.LICENSE.txt → 515.rdflib.min.js.LICENSE.txt} +0 -0
package/esm/index.js CHANGED
@@ -1,12 +1,4 @@
1
- import _createClass from "@babel/runtime/helpers/createClass";
2
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
3
- import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
- import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
6
- import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
7
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
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); }; }
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; } }
10
2
  import BlankNode from './blank-node';
11
3
  import Collection from './collection';
12
4
  import Empty from './empty';
@@ -39,30 +31,30 @@ import Variable from './variable';
39
31
  import DataFactory from './factories/rdflib-data-factory';
40
32
 
41
33
  // Prepare bound versions of data factory methods for export
42
- var boundDataFactory = {};
43
- for (var name in DataFactory) {
34
+ const boundDataFactory = {};
35
+ for (const name in DataFactory) {
44
36
  if (typeof DataFactory[name] === 'function') boundDataFactory[name] = DataFactory[name].bind(DataFactory);
45
37
  }
46
- var fetcher = boundDataFactory.fetcher,
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;
57
- var formula = new Formula();
58
- var fromNT = function fromNT(str) {
59
- return formula.fromNT(str);
60
- };
61
- var term = Node.fromValue;
38
+ const {
39
+ fetcher,
40
+ graph,
41
+ lit,
42
+ st,
43
+ namedNode,
44
+ variable,
45
+ blankNode,
46
+ defaultGraph,
47
+ literal,
48
+ quad,
49
+ triple
50
+ } = boundDataFactory;
51
+ const formula = new Formula();
52
+ const fromNT = str => formula.fromNT(str);
53
+ const term = Node.fromValue;
62
54
 
63
55
  // TODO: this export is broken;
64
56
  // it exports the _current_ value of nextId, which is always 0
65
- var NextId = BlankNode.nextId;
57
+ const NextId = BlankNode.nextId;
66
58
  export * from './utils/terms';
67
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,
68
60
  // Alias
@@ -71,29 +63,17 @@ NextId, fromNT, fetcher, graph, lit, st, namedNode as sym,
71
63
  // RDFJS DataFactory interface
72
64
  blankNode, defaultGraph, literal, namedNode, quad, triple, variable };
73
65
  export { termValue } from './utils/termValue';
74
- export var ConnectedStore = /*#__PURE__*/function (_Store) {
75
- _inherits(ConnectedStore, _Store);
76
- var _super = _createSuper(ConnectedStore);
77
- function ConnectedStore(features) {
78
- var _this;
79
- _classCallCheck(this, ConnectedStore);
80
- _this = _super.call(this, features);
81
- _defineProperty(_assertThisInitialized(_this), "fetcher", void 0);
82
- _this.fetcher = new Fetcher(_assertThisInitialized(_this), {});
83
- return _this;
66
+ export class ConnectedStore extends Store {
67
+ constructor(features) {
68
+ super(features);
69
+ _defineProperty(this, "fetcher", void 0);
70
+ this.fetcher = new Fetcher(this, {});
84
71
  }
85
- return _createClass(ConnectedStore);
86
- }(Store);
87
- export var LiveStore = /*#__PURE__*/function (_ConnectedStore) {
88
- _inherits(LiveStore, _ConnectedStore);
89
- var _super2 = _createSuper(LiveStore);
90
- function LiveStore(features) {
91
- var _this2;
92
- _classCallCheck(this, LiveStore);
93
- _this2 = _super2.call(this, features);
94
- _defineProperty(_assertThisInitialized(_this2), "updater", void 0);
95
- _this2.updater = new UpdateManager(_assertThisInitialized(_this2));
96
- return _this2;
72
+ }
73
+ export class LiveStore extends ConnectedStore {
74
+ constructor(features) {
75
+ super(features);
76
+ _defineProperty(this, "updater", void 0);
77
+ this.updater = new UpdateManager(this);
97
78
  }
98
- return _createClass(LiveStore);
99
- }(ConnectedStore);
79
+ }
@@ -35,11 +35,9 @@ export function jsonldObjectToTerm(kb, obj) {
35
35
  * Adds the statements in a json-ld list object to {kb}.
36
36
  */
37
37
  function listToStatements(kb, obj) {
38
- var listId = obj['@id'] ? nodeType(kb, obj) : kb.rdfFactory.blankNode();
39
- var items = obj['@list'].map(function (listItem) {
40
- return jsonldObjectToTerm(kb, listItem);
41
- });
42
- var statements = arrayToStatements(kb.rdfFactory, listId, items);
38
+ const listId = obj['@id'] ? nodeType(kb, obj) : kb.rdfFactory.blankNode();
39
+ const items = obj['@list'].map(listItem => jsonldObjectToTerm(kb, listItem));
40
+ const statements = arrayToStatements(kb.rdfFactory, listId, items);
43
41
  kb.addAll(statements);
44
42
  return listId;
45
43
  }
@@ -47,9 +45,7 @@ function listToCollection(kb, obj) {
47
45
  if (!Array.isArray(obj)) {
48
46
  throw new TypeError("Object must be an array");
49
47
  }
50
- return kb.rdfFactory.collection(obj.map(function (o) {
51
- return jsonldObjectToTerm(kb, o);
52
- }));
48
+ return kb.rdfFactory.collection(obj.map(o => jsonldObjectToTerm(kb, o)));
53
49
  }
54
50
 
55
51
  /**
@@ -58,17 +54,15 @@ function listToCollection(kb, obj) {
58
54
  * Ensure that {kb.rdfFactory} is a DataFactory.
59
55
  */
60
56
  export default function jsonldParser(str, kb, base, callback) {
61
- var baseString = base && Object.prototype.hasOwnProperty.call(base, 'termType') ? base.value : base;
62
- return import('jsonld').then(function (jsonld) {
57
+ const baseString = base && Object.prototype.hasOwnProperty.call(base, 'termType') ? base.value : base;
58
+ return import('jsonld').then(jsonld => {
63
59
  return jsonld.flatten(JSON.parse(str), null, {
64
60
  base: baseString
65
61
  });
66
- }).then(function (flattened) {
67
- return flattened.reduce(function (store, flatResource) {
68
- kb = processResource(kb, base, flatResource);
69
- return kb;
70
- }, kb);
71
- }).then(callback).catch(callback);
62
+ }).then(flattened => flattened.reduce((store, flatResource) => {
63
+ kb = processResource(kb, base, flatResource);
64
+ return kb;
65
+ }, kb)).then(callback).catch(callback);
72
66
  }
73
67
  function nodeType(kb, obj) {
74
68
  if (obj['@id'].startsWith('_:')) {
@@ -80,27 +74,26 @@ function nodeType(kb, obj) {
80
74
  }
81
75
  }
82
76
  function processResource(kb, base, flatResource) {
83
- var id = flatResource['@id'] ? nodeType(kb, flatResource) : kb.rdfFactory.blankNode();
84
- for (var _i = 0, _Object$keys = Object.keys(flatResource); _i < _Object$keys.length; _i++) {
85
- var property = _Object$keys[_i];
77
+ const id = flatResource['@id'] ? nodeType(kb, flatResource) : kb.rdfFactory.blankNode();
78
+ for (const property of Object.keys(flatResource)) {
86
79
  if (property === '@id') {
87
80
  continue;
88
81
  } else if (property == '@graph') {
89
82
  // the JSON-LD flattened structure may contain nested graphs
90
83
  // the id value for this object is the new base (named graph id) for all nested flat resources
91
- var graphId = id;
84
+ const graphId = id;
92
85
  // this is an array of resources
93
- var nestedFlatResources = flatResource[property];
86
+ const nestedFlatResources = flatResource[property];
94
87
 
95
88
  // recursively process all flat resources in the array, but with the graphId as base.
96
- for (var i = 0; i < nestedFlatResources.length; i++) {
89
+ for (let i = 0; i < nestedFlatResources.length; i++) {
97
90
  kb = processResource(kb, graphId, nestedFlatResources[i]);
98
91
  }
99
92
  }
100
- var value = flatResource[property];
93
+ const value = flatResource[property];
101
94
  if (Array.isArray(value)) {
102
- for (var _i2 = 0; _i2 < value.length; _i2++) {
103
- kb.addStatement(createStatement(kb, id, property, value[_i2], base));
95
+ for (let i = 0; i < value.length; i++) {
96
+ kb.addStatement(createStatement(kb, id, property, value[i], base));
104
97
  }
105
98
  } else {
106
99
  kb.addStatement(createStatement(kb, id, property, value, base));
@@ -118,7 +111,7 @@ function processResource(kb, base, flatResource) {
118
111
  * @return quad statement
119
112
  */
120
113
  function createStatement(kb, id, property, value, base) {
121
- var predicate, object;
114
+ let predicate, object;
122
115
  if (property === "@type") {
123
116
  predicate = kb.rdfFactory.namedNode("http://www.w3.org/1999/02/22-rdf-syntax-ns#type");
124
117
  object = kb.rdfFactory.namedNode(value);
package/esm/jsonparser.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export default (function () {
2
2
  return {
3
- parseJSON: function parseJSON(data, source, store) {
3
+ parseJSON: function (data, source, store) {
4
4
  var subject, predicate, object;
5
5
  var bnodes = {};
6
6
  var why = store.sym(source);
package/esm/lists.js CHANGED
@@ -1,6 +1,3 @@
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
- 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); }
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; }
4
1
  /* Lists form conversion
5
2
  */
6
3
 
@@ -13,6 +10,7 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
13
10
  // import RDFParser from './rdfxmlparser'
14
11
  // import sparqlUpdateParser from './patch-parser'
15
12
  // import * as Util from './utils-js'
13
+
16
14
  // import BlankNode from './blank-node'
17
15
  // import NamedNode from './named-node'
18
16
  import Collection from './collection';
@@ -20,9 +18,11 @@ import Statement from './statement';
20
18
  // import Formula from './formula'
21
19
 
22
20
  // import { ContentType, TurtleContentType, N3ContentType, RDFXMLContentType, XHTMLContentType, HTMLContentType, SPARQLUpdateContentType, SPARQLUpdateSingleMatchContentType, JSONLDContentType, NQuadsContentType, NQuadsAltContentType } from './types'
21
+
23
22
  // import { Quad } from './tf-types'
23
+
24
24
  import Namespace from './namespace';
25
- var RDF = Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#');
25
+ const RDF = Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#');
26
26
 
27
27
  /* Replace a given node with another node throughout a given document
28
28
  *
@@ -30,83 +30,38 @@ var RDF = Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#');
30
30
  */
31
31
  export function substituteInDoc(store, x, y, doc) {
32
32
  // console.log(`substituteInDoc put ${x} for ${y} in ${doc}}`)
33
- var _iterator = _createForOfIteratorHelper(store.statementsMatching(y, null, null, doc)),
34
- _step;
35
- try {
36
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
37
- var quad = _step.value;
38
- var newStatement = new Statement(x, quad.predicate, quad.object, doc);
39
- store.remove(quad);
40
- store.add(newStatement);
41
- }
42
- } catch (err) {
43
- _iterator.e(err);
44
- } finally {
45
- _iterator.f();
33
+ for (const quad of store.statementsMatching(y, null, null, doc)) {
34
+ const newStatement = new Statement(x, quad.predicate, quad.object, doc);
35
+ store.remove(quad);
36
+ store.add(newStatement);
46
37
  }
47
- var _iterator2 = _createForOfIteratorHelper(store.statementsMatching(null, y, null, doc)),
48
- _step2;
49
- try {
50
- for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
51
- var _quad = _step2.value;
52
- store.remove(_quad);
53
- // console.log(` substituteInDoc predicate ${x} in ${quad}}`)
54
- store.add(new Statement(_quad.subject, x, _quad.object, doc));
55
- }
56
- } catch (err) {
57
- _iterator2.e(err);
58
- } finally {
59
- _iterator2.f();
38
+ for (const quad of store.statementsMatching(null, y, null, doc)) {
39
+ store.remove(quad);
40
+ // console.log(` substituteInDoc predicate ${x} in ${quad}}`)
41
+ store.add(new Statement(quad.subject, x, quad.object, doc));
60
42
  }
61
- var _iterator3 = _createForOfIteratorHelper(store.statementsMatching(null, null, y, doc)),
62
- _step3;
63
- try {
64
- for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
65
- var _quad2 = _step3.value;
66
- store.remove(_quad2);
67
- store.add(new Statement(_quad2.subject, _quad2.predicate, x, doc));
68
- }
69
- } catch (err) {
70
- _iterator3.e(err);
71
- } finally {
72
- _iterator3.f();
43
+ for (const quad of store.statementsMatching(null, null, y, doc)) {
44
+ store.remove(quad);
45
+ store.add(new Statement(quad.subject, quad.predicate, x, doc));
73
46
  }
74
47
  }
75
48
 
76
49
  /* Change all lone rdf:nil nodes into empty Collections
77
50
  */
78
51
  export function substituteNillsInDoc(store, doc) {
79
- var x = RDF('nil');
80
- var _iterator4 = _createForOfIteratorHelper(store.statementsMatching(x, null, null, doc)),
81
- _step4;
82
- try {
83
- for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
84
- var quad = _step4.value;
85
- store.remove(quad);
86
- var y = new Collection();
87
- store.add(new Statement(y, quad.predicate, quad.object, doc));
88
- }
89
- } catch (err) {
90
- _iterator4.e(err);
91
- } finally {
92
- _iterator4.f();
52
+ const x = RDF('nil');
53
+ for (const quad of store.statementsMatching(x, null, null, doc)) {
54
+ store.remove(quad);
55
+ const y = new Collection();
56
+ store.add(new Statement(y, quad.predicate, quad.object, doc));
93
57
  }
94
- var _iterator5 = _createForOfIteratorHelper(store.statementsMatching(null, null, x, doc)),
95
- _step5;
96
- try {
97
- for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
98
- var _quad3 = _step5.value;
99
- if (!_quad3.predicate.sameTerm(RDF('rest'))) {
100
- // If not a tail
101
- store.remove(_quad3);
102
- var _y = new Collection();
103
- store.add(new Statement(_quad3.subject, _quad3.predicate, _y, doc));
104
- }
58
+ for (const quad of store.statementsMatching(null, null, x, doc)) {
59
+ if (!quad.predicate.sameTerm(RDF('rest'))) {
60
+ // If not a tail
61
+ store.remove(quad);
62
+ const y = new Collection();
63
+ store.add(new Statement(quad.subject, quad.predicate, y, doc));
105
64
  }
106
- } catch (err) {
107
- _iterator5.e(err);
108
- } finally {
109
- _iterator5.f();
110
65
  }
111
66
  }
112
67
  /**
@@ -121,34 +76,34 @@ export function substituteNillsInDoc(store, doc) {
121
76
  export function convertFirstRestNil(store, doc // Do whole store?
122
77
  ) {
123
78
  function preceding(ele, listSoFar, trash) {
124
- var rests = store.statementsMatching(ele, RDF('rest'), null, doc);
125
- if (rests.length !== 1) throw new Error("Bad list structure: no rest at ".concat(ele));
126
- var firsts = store.statementsMatching(ele, RDF('first'), null, doc);
127
- if (firsts.length !== 1) throw new Error("Bad list structure: rest but ".concat(firsts.length, " firsts at ").concat(ele));
128
- var value = firsts[0].object;
129
- var total = [value].concat(listSoFar);
79
+ const rests = store.statementsMatching(ele, RDF('rest'), null, doc);
80
+ if (rests.length !== 1) throw new Error(`Bad list structure: no rest at ${ele}`);
81
+ const firsts = store.statementsMatching(ele, RDF('first'), null, doc);
82
+ if (firsts.length !== 1) throw new Error(`Bad list structure: rest but ${firsts.length} firsts at ${ele}`);
83
+ const value = firsts[0].object;
84
+ const total = [value].concat(listSoFar);
130
85
  // console.log(' List now is: ', total)
131
- var totalTrash = trash.concat(rests).concat(firsts);
132
- var pres = store.statementsMatching(null, RDF('rest'), ele, doc);
86
+ const totalTrash = trash.concat(rests).concat(firsts);
87
+ const pres = store.statementsMatching(null, RDF('rest'), ele, doc);
133
88
  if (pres.length === 0) {
134
89
  // Head of the list
135
- var newList = new Collection(total);
90
+ const newList = new Collection(total);
136
91
  store.remove(totalTrash);
137
92
  // Replace old list with new list:
138
93
  substituteInDoc(store, newList, ele, doc);
139
94
  return;
140
95
  }
141
- if (pres.length !== 1) throw new Error("Bad list structure: ".concat(pres.length, " pres at ").concat(ele));
142
- var pre = pres[0].subject;
143
- if (pre.termType !== 'BlankNode') throw new Error("Bad list element node ".concat(pre, " type: ").concat(pre.termType, " "));
96
+ if (pres.length !== 1) throw new Error(`Bad list structure: ${pres.length} pres at ${ele}`);
97
+ const pre = pres[0].subject;
98
+ if (pre.termType !== 'BlankNode') throw new Error(`Bad list element node ${pre} type: ${pre.termType} `);
144
99
  preceding(pre, total, totalTrash);
145
100
  return;
146
101
  }
147
102
  substituteNillsInDoc(store, doc); // lone ones only
148
103
 
149
- var tails = store.statementsMatching(null, RDF('rest'), RDF('nil'), doc);
150
- tails.forEach(function (tail) {
151
- if (tail.subject.termType !== 'BlankNode') throw new Error("Bad list element node ".concat(tail.subject, " type: ").concat(tail.subject.termType, " "));
104
+ const tails = store.statementsMatching(null, RDF('rest'), RDF('nil'), doc);
105
+ tails.forEach(tail => {
106
+ if (tail.subject.termType !== 'BlankNode') throw new Error(`Bad list element node ${tail.subject} type: ${tail.subject.termType} `);
152
107
  preceding(tail.subject, [], []);
153
108
  });
154
109
  }