@_linked/rdf-mem-store 0.0.1

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 (137) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +285 -0
  3. package/lib/cjs/Datafactory.d.ts +29 -0
  4. package/lib/cjs/Datafactory.js +101 -0
  5. package/lib/cjs/Datafactory.js.map +1 -0
  6. package/lib/cjs/InMemoryStore.d.ts +35 -0
  7. package/lib/cjs/InMemoryStore.js +98 -0
  8. package/lib/cjs/InMemoryStore.js.map +1 -0
  9. package/lib/cjs/collections/NodeMap.d.ts +35 -0
  10. package/lib/cjs/collections/NodeMap.js +244 -0
  11. package/lib/cjs/collections/NodeMap.js.map +1 -0
  12. package/lib/cjs/collections/NodeSet.d.ts +55 -0
  13. package/lib/cjs/collections/NodeSet.js +296 -0
  14. package/lib/cjs/collections/NodeSet.js.map +1 -0
  15. package/lib/cjs/collections/NodeURIMappings.d.ts +20 -0
  16. package/lib/cjs/collections/NodeURIMappings.js +65 -0
  17. package/lib/cjs/collections/NodeURIMappings.js.map +1 -0
  18. package/lib/cjs/collections/NodeValuesSet.d.ts +63 -0
  19. package/lib/cjs/collections/NodeValuesSet.js +100 -0
  20. package/lib/cjs/collections/NodeValuesSet.js.map +1 -0
  21. package/lib/cjs/collections/QuadArray.d.ts +17 -0
  22. package/lib/cjs/collections/QuadArray.js +67 -0
  23. package/lib/cjs/collections/QuadArray.js.map +1 -0
  24. package/lib/cjs/collections/QuadMap.d.ts +64 -0
  25. package/lib/cjs/collections/QuadMap.js +155 -0
  26. package/lib/cjs/collections/QuadMap.js.map +1 -0
  27. package/lib/cjs/collections/QuadSet.d.ts +22 -0
  28. package/lib/cjs/collections/QuadSet.js +106 -0
  29. package/lib/cjs/collections/QuadSet.js.map +1 -0
  30. package/lib/cjs/collections/SearchMap.d.ts +5 -0
  31. package/lib/cjs/collections/SearchMap.js +13 -0
  32. package/lib/cjs/collections/SearchMap.js.map +1 -0
  33. package/lib/cjs/events/EventBatcher.d.ts +20 -0
  34. package/lib/cjs/events/EventBatcher.js +97 -0
  35. package/lib/cjs/events/EventBatcher.js.map +1 -0
  36. package/lib/cjs/events/EventEmitter.d.ts +15 -0
  37. package/lib/cjs/events/EventEmitter.js +102 -0
  38. package/lib/cjs/events/EventEmitter.js.map +1 -0
  39. package/lib/cjs/index.d.ts +14 -0
  40. package/lib/cjs/index.js +48 -0
  41. package/lib/cjs/index.js.map +1 -0
  42. package/lib/cjs/interfaces/IGraphObject.d.ts +29 -0
  43. package/lib/cjs/interfaces/IGraphObject.js +3 -0
  44. package/lib/cjs/interfaces/IGraphObject.js.map +1 -0
  45. package/lib/cjs/interfaces/IGraphObjectSet.d.ts +24 -0
  46. package/lib/cjs/interfaces/IGraphObjectSet.js +3 -0
  47. package/lib/cjs/interfaces/IGraphObjectSet.js.map +1 -0
  48. package/lib/cjs/interfaces/IShape.d.ts +22 -0
  49. package/lib/cjs/interfaces/IShape.js +3 -0
  50. package/lib/cjs/interfaces/IShape.js.map +1 -0
  51. package/lib/cjs/interfaces/ISingleGraphObject.d.ts +3 -0
  52. package/lib/cjs/interfaces/ISingleGraphObject.js +3 -0
  53. package/lib/cjs/interfaces/ISingleGraphObject.js.map +1 -0
  54. package/lib/cjs/models.d.ts +1167 -0
  55. package/lib/cjs/models.js +2668 -0
  56. package/lib/cjs/models.js.map +1 -0
  57. package/lib/cjs/package.json +3 -0
  58. package/lib/cjs/utils/Debug.d.ts +3 -0
  59. package/lib/cjs/utils/Debug.js +46 -0
  60. package/lib/cjs/utils/Debug.js.map +1 -0
  61. package/lib/cjs/utils/LocalQueryResolver.d.ts +21 -0
  62. package/lib/cjs/utils/LocalQueryResolver.js +1442 -0
  63. package/lib/cjs/utils/LocalQueryResolver.js.map +1 -0
  64. package/lib/cjs/utils/URI.d.ts +18 -0
  65. package/lib/cjs/utils/URI.js +42 -0
  66. package/lib/cjs/utils/URI.js.map +1 -0
  67. package/lib/cjs/utils/toNamedNode.d.ts +8 -0
  68. package/lib/cjs/utils/toNamedNode.js +15 -0
  69. package/lib/cjs/utils/toNamedNode.js.map +1 -0
  70. package/lib/esm/Datafactory.d.ts +29 -0
  71. package/lib/esm/Datafactory.js +97 -0
  72. package/lib/esm/Datafactory.js.map +1 -0
  73. package/lib/esm/InMemoryStore.d.ts +35 -0
  74. package/lib/esm/InMemoryStore.js +94 -0
  75. package/lib/esm/InMemoryStore.js.map +1 -0
  76. package/lib/esm/collections/NodeMap.d.ts +35 -0
  77. package/lib/esm/collections/NodeMap.js +240 -0
  78. package/lib/esm/collections/NodeMap.js.map +1 -0
  79. package/lib/esm/collections/NodeSet.d.ts +55 -0
  80. package/lib/esm/collections/NodeSet.js +292 -0
  81. package/lib/esm/collections/NodeSet.js.map +1 -0
  82. package/lib/esm/collections/NodeURIMappings.d.ts +20 -0
  83. package/lib/esm/collections/NodeURIMappings.js +61 -0
  84. package/lib/esm/collections/NodeURIMappings.js.map +1 -0
  85. package/lib/esm/collections/NodeValuesSet.d.ts +63 -0
  86. package/lib/esm/collections/NodeValuesSet.js +96 -0
  87. package/lib/esm/collections/NodeValuesSet.js.map +1 -0
  88. package/lib/esm/collections/QuadArray.d.ts +17 -0
  89. package/lib/esm/collections/QuadArray.js +63 -0
  90. package/lib/esm/collections/QuadArray.js.map +1 -0
  91. package/lib/esm/collections/QuadMap.d.ts +64 -0
  92. package/lib/esm/collections/QuadMap.js +151 -0
  93. package/lib/esm/collections/QuadMap.js.map +1 -0
  94. package/lib/esm/collections/QuadSet.d.ts +22 -0
  95. package/lib/esm/collections/QuadSet.js +102 -0
  96. package/lib/esm/collections/QuadSet.js.map +1 -0
  97. package/lib/esm/collections/SearchMap.d.ts +5 -0
  98. package/lib/esm/collections/SearchMap.js +9 -0
  99. package/lib/esm/collections/SearchMap.js.map +1 -0
  100. package/lib/esm/events/EventBatcher.d.ts +20 -0
  101. package/lib/esm/events/EventBatcher.js +90 -0
  102. package/lib/esm/events/EventBatcher.js.map +1 -0
  103. package/lib/esm/events/EventEmitter.d.ts +15 -0
  104. package/lib/esm/events/EventEmitter.js +98 -0
  105. package/lib/esm/events/EventEmitter.js.map +1 -0
  106. package/lib/esm/index.d.ts +14 -0
  107. package/lib/esm/index.js +22 -0
  108. package/lib/esm/index.js.map +1 -0
  109. package/lib/esm/interfaces/IGraphObject.d.ts +29 -0
  110. package/lib/esm/interfaces/IGraphObject.js +2 -0
  111. package/lib/esm/interfaces/IGraphObject.js.map +1 -0
  112. package/lib/esm/interfaces/IGraphObjectSet.d.ts +24 -0
  113. package/lib/esm/interfaces/IGraphObjectSet.js +2 -0
  114. package/lib/esm/interfaces/IGraphObjectSet.js.map +1 -0
  115. package/lib/esm/interfaces/IShape.d.ts +22 -0
  116. package/lib/esm/interfaces/IShape.js +2 -0
  117. package/lib/esm/interfaces/IShape.js.map +1 -0
  118. package/lib/esm/interfaces/ISingleGraphObject.d.ts +3 -0
  119. package/lib/esm/interfaces/ISingleGraphObject.js +2 -0
  120. package/lib/esm/interfaces/ISingleGraphObject.js.map +1 -0
  121. package/lib/esm/models.d.ts +1167 -0
  122. package/lib/esm/models.js +2659 -0
  123. package/lib/esm/models.js.map +1 -0
  124. package/lib/esm/package.json +3 -0
  125. package/lib/esm/utils/Debug.d.ts +3 -0
  126. package/lib/esm/utils/Debug.js +42 -0
  127. package/lib/esm/utils/Debug.js.map +1 -0
  128. package/lib/esm/utils/LocalQueryResolver.d.ts +21 -0
  129. package/lib/esm/utils/LocalQueryResolver.js +1434 -0
  130. package/lib/esm/utils/LocalQueryResolver.js.map +1 -0
  131. package/lib/esm/utils/URI.d.ts +18 -0
  132. package/lib/esm/utils/URI.js +38 -0
  133. package/lib/esm/utils/URI.js.map +1 -0
  134. package/lib/esm/utils/toNamedNode.d.ts +8 -0
  135. package/lib/esm/utils/toNamedNode.js +12 -0
  136. package/lib/esm/utils/toNamedNode.js.map +1 -0
  137. package/package.json +57 -0
@@ -0,0 +1,244 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeMap = void 0;
4
+ /*
5
+ * This Source Code Form is subject to the terms of the Mozilla Public
6
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
7
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
+ */
9
+ const CoreMap_1 = require("@_linked/core/collections/CoreMap");
10
+ const QuadSet_js_1 = require("./QuadSet.js");
11
+ const QuadArray_js_1 = require("./QuadArray.js");
12
+ const NodeSet_js_1 = require("./NodeSet.js");
13
+ class NodeMap extends CoreMap_1.CoreMap {
14
+ constructor(iterable) {
15
+ super(iterable);
16
+ }
17
+ getQuads(property) {
18
+ var res = new QuadSet_js_1.QuadSet();
19
+ for (var [key, node] of this) {
20
+ for (var quad of node.getQuads(property)) {
21
+ res.add(quad);
22
+ }
23
+ }
24
+ return res;
25
+ }
26
+ getInverseQuads(property) {
27
+ var res = new QuadSet_js_1.QuadSet();
28
+ for (var [key, node] of this) {
29
+ for (var quad of node.getInverseQuads(property)) {
30
+ res.add(quad);
31
+ }
32
+ }
33
+ return res;
34
+ }
35
+ getAll(property) {
36
+ var res = new NodeSet_js_1.NodeSet();
37
+ for (var [key, node] of this) {
38
+ res = res.concat(node.getAll(property));
39
+ }
40
+ return res;
41
+ }
42
+ getAllInverse(property) {
43
+ var res = new NodeSet_js_1.NodeSet();
44
+ for (var [key, node] of this) {
45
+ res = res.concat(node.getAllInverse(property));
46
+ }
47
+ return res;
48
+ }
49
+ getMultipleInverse(properties) {
50
+ var res = new NodeSet_js_1.NodeSet();
51
+ for (var [key, node] of this) {
52
+ for (var property of properties) {
53
+ res = res.concat(node.getAllInverse(property));
54
+ }
55
+ }
56
+ return res;
57
+ }
58
+ getMultiple(properties) {
59
+ var res = new NodeSet_js_1.NodeSet();
60
+ for (var [key, node] of this) {
61
+ for (var property of properties) {
62
+ res = res.concat(node.getAll(property));
63
+ }
64
+ }
65
+ return res;
66
+ }
67
+ getDeep(property, maxDepth = Infinity) {
68
+ var result = new NodeSet_js_1.NodeSet();
69
+ var stack = new NodeSet_js_1.NodeSet(this.values());
70
+ while (stack.size > 0 && maxDepth > 0) {
71
+ var nextLevelStack = new NodeSet_js_1.NodeSet();
72
+ for (let node of stack) {
73
+ for (var value of node.getAll(property)) {
74
+ if (!result.has(value)) {
75
+ result.add(value);
76
+ nextLevelStack.add(value);
77
+ }
78
+ }
79
+ }
80
+ stack = nextLevelStack;
81
+ maxDepth--;
82
+ }
83
+ return result;
84
+ }
85
+ getOneFromPath(...properties) {
86
+ //NOTE: same implementation as in NamedNode
87
+ //we just need one, so we do a depth-first algorithm which will be more performant, so:
88
+ //take first property
89
+ var property = properties.shift();
90
+ //if more properties left
91
+ if (properties.length > 0) {
92
+ var res;
93
+ //check if any of the values of that property for this node
94
+ //has a path to the rest of the properties, and if so return the found value
95
+ for (var value of this.getAll(property)) {
96
+ if ((res = value.getOneFromPath(...properties))) {
97
+ return res;
98
+ }
99
+ }
100
+ }
101
+ else {
102
+ //return the first value possible
103
+ return this.getOne(property);
104
+ }
105
+ }
106
+ getAllFromPath(...properties) {
107
+ //we just need all paths, so we can do a breadth first implementation
108
+ //take first property
109
+ var property = properties.shift();
110
+ if (properties.length > 0) {
111
+ //and ask the whole set of values to return all values of the rest of the path
112
+ return this.getAll(property).getAllFromPath(...properties);
113
+ }
114
+ else {
115
+ return this.getAll(property);
116
+ }
117
+ }
118
+ getProperties(includeFromIncomingArcs = false) {
119
+ var res = new NodeSet_js_1.NodeSet();
120
+ for (var [key, node] of this) {
121
+ res = res.concat(node.getProperties(includeFromIncomingArcs));
122
+ }
123
+ return res;
124
+ }
125
+ getInverseProperties() {
126
+ var res = new NodeSet_js_1.NodeSet();
127
+ for (var [key, node] of this) {
128
+ res = res.concat(node.getInverseProperties());
129
+ }
130
+ return res;
131
+ }
132
+ getOne(property) {
133
+ for (var [key, node] of this) {
134
+ if (node.hasProperty(property)) {
135
+ return node.getOne(property);
136
+ }
137
+ }
138
+ }
139
+ getOneInverse(property) {
140
+ for (var [key, node] of this) {
141
+ if (node.hasInverseProperty(property)) {
142
+ return node.getOneInverse(property);
143
+ }
144
+ }
145
+ }
146
+ getAllQuads(includeAsObject = false, includeImplicit = false) {
147
+ var res = new QuadArray_js_1.QuadArray();
148
+ for (var [key, node] of this) {
149
+ for (var item of node.getAllQuads(includeAsObject, includeImplicit)) {
150
+ if (res.indexOf(item) === -1) {
151
+ res.push(item);
152
+ }
153
+ }
154
+ }
155
+ return res;
156
+ }
157
+ getAllInverseQuads(includeImplicit) {
158
+ var res = new QuadArray_js_1.QuadArray();
159
+ for (var [key, node] of this) {
160
+ for (var item of node.getAllInverseQuads(includeImplicit)) {
161
+ if (res.indexOf(item) === -1) {
162
+ res.push(item);
163
+ }
164
+ }
165
+ }
166
+ return res;
167
+ }
168
+ where(property, value) {
169
+ //TODO: test performance with
170
+ //return this.filter(r => r.has(property,value));
171
+ var res = this.createNew();
172
+ for (var [key, node] of this) {
173
+ if (node.has(property, value)) {
174
+ //as any apparently needed, strange that NamedNode is not seen as matching to R?
175
+ res.set(key, node);
176
+ }
177
+ }
178
+ return res;
179
+ }
180
+ getWhere(property, value) {
181
+ for (var [key, node] of this) {
182
+ if (node.has(property, value)) {
183
+ return node;
184
+ }
185
+ }
186
+ return undefined;
187
+ }
188
+ setEach(property, value) {
189
+ let res = false;
190
+ for (var [key, node] of this) {
191
+ res = node.set(property, value) && res;
192
+ }
193
+ return res;
194
+ }
195
+ msetEach(property, values) {
196
+ let res = false;
197
+ for (var [key, node] of this) {
198
+ res = node.mset(property, values) && res;
199
+ }
200
+ return res;
201
+ }
202
+ updateEach(property, value) {
203
+ let res = false;
204
+ for (var [key, node] of this) {
205
+ res = node.overwrite(property, value) && res;
206
+ }
207
+ return res;
208
+ }
209
+ mupdateEach(property, values) {
210
+ let res = false;
211
+ for (var [key, node] of this) {
212
+ res = node.moverwrite(property, values) && res;
213
+ }
214
+ return res;
215
+ }
216
+ unsetEach(property, value) {
217
+ let res = false;
218
+ for (var [key, node] of this) {
219
+ res = node.unset(property, value) && res;
220
+ }
221
+ return res;
222
+ }
223
+ unsetAllEach(property) {
224
+ let res = false;
225
+ for (var [key, node] of this) {
226
+ res = node.unsetAll(property) && res;
227
+ }
228
+ return res;
229
+ }
230
+ promiseLoaded(loadInverseProperties = false) {
231
+ return Promise.all([...this.values()].map((node) => node.promiseLoaded(loadInverseProperties)))
232
+ .then((res) => {
233
+ return res.every((result) => result === true);
234
+ })
235
+ .catch(() => {
236
+ return false;
237
+ });
238
+ }
239
+ isLoaded(includingInverseProperties = false) {
240
+ return [...this.values()].every((value) => value.isLoaded(includingInverseProperties));
241
+ }
242
+ }
243
+ exports.NodeMap = NodeMap;
244
+ //# sourceMappingURL=NodeMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeMap.js","sourceRoot":"","sources":["../../../src/collections/NodeMap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import { CoreSet } from '@_linked/core/collections/CoreSet';
2
+ import { NamedNode, Node } from '../models.js';
3
+ import { IGraphObjectSet } from '../interfaces/IGraphObjectSet.js';
4
+ import { QuadSet } from './QuadSet.js';
5
+ import { QuadArray } from './QuadArray.js';
6
+ import { ICoreIterable } from '@_linked/core/interfaces/ICoreIterable';
7
+ export declare class NodeSet<R extends Node = Node> extends CoreSet<R> implements IGraphObjectSet<Node> {
8
+ constructor(iterable?: Iterable<R>);
9
+ static fromValues<T extends Node = Node>(strings: string[]): NodeSet<T>;
10
+ getProperties(includeFromIncomingArcs?: boolean): NodeSet<NamedNode>;
11
+ getInverseProperties(): NodeSet<NamedNode>;
12
+ getOne(property: NamedNode): Node | undefined;
13
+ /**
14
+ * Returns a NodeSet containing the merged results of node.get(property) for each node in this set
15
+ * @param property
16
+ * @returns {NodeSet}
17
+ */
18
+ getAll(property: NamedNode): NodeSet;
19
+ getValues(property: NamedNode): string[];
20
+ /**
21
+ * Returns an array of the URI's or literal values (for Literals) of the nodes in this set
22
+ */
23
+ getNodeValues(): string[];
24
+ getOneFromPath(...properties: NamedNode[]): Node | undefined;
25
+ getAllFromPath(...properties: NamedNode[]): NodeSet;
26
+ getOneInverse(property: NamedNode): NamedNode | undefined;
27
+ getAllInverse(property: NamedNode): NodeSet<NamedNode>;
28
+ getMultipleInverse(properties: ICoreIterable<NamedNode>): NodeSet;
29
+ getMultiple(properties: ICoreIterable<NamedNode>): NodeSet;
30
+ getDeep(property: NamedNode, maxDepth?: number): NodeSet;
31
+ getQuads(property: NamedNode): QuadSet;
32
+ getInverseQuads(property: NamedNode): QuadSet | any;
33
+ getAllQuads(includeAsObject?: boolean, includeImplicit?: boolean): QuadArray;
34
+ getAllInverseQuads(includeImplicit?: boolean): QuadArray;
35
+ where(property: NamedNode, value: Node): this;
36
+ getWhere(property: NamedNode, value: Node): Node | undefined;
37
+ setEach(property: NamedNode, value: Node): boolean;
38
+ msetEach(property: NamedNode, values: ICoreIterable<Node>): boolean;
39
+ updateEach(property: NamedNode, value: Node): boolean;
40
+ mupdateEach(property: NamedNode, values: ICoreIterable<Node>): boolean;
41
+ unsetEach(property: NamedNode, value: Node): boolean;
42
+ unsetAllEach(property: NamedNode): boolean;
43
+ /**
44
+ * @deprecated
45
+ * @param loadInverseProperties
46
+ */
47
+ promiseLoaded(loadInverseProperties?: boolean): Promise<boolean>;
48
+ /**
49
+ * @deprecated
50
+ * @param includingInverseProperties
51
+ */
52
+ isLoaded(includingInverseProperties?: boolean): boolean;
53
+ toString(): string;
54
+ print(includeIncomingProperties?: boolean): string;
55
+ }
@@ -0,0 +1,296 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.NodeSet = void 0;
4
+ /*
5
+ * This Source Code Form is subject to the terms of the Mozilla Public
6
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
7
+ * file, You can obtain one at https://mozilla.org/MPL/2.0/.
8
+ */
9
+ const CoreSet_1 = require("@_linked/core/collections/CoreSet");
10
+ const models_js_1 = require("../models.js");
11
+ const QuadSet_js_1 = require("./QuadSet.js");
12
+ const QuadArray_js_1 = require("./QuadArray.js");
13
+ const Debug_js_1 = require("../utils/Debug.js");
14
+ const URI_js_1 = require("../utils/URI.js");
15
+ class NodeSet extends CoreSet_1.CoreSet {
16
+ constructor(iterable) {
17
+ super(iterable);
18
+ }
19
+ static fromValues(strings) {
20
+ return new NodeSet(strings.map((s) => (URI_js_1.URI.isURI(s)
21
+ ? models_js_1.NamedNode.getOrCreate(s)
22
+ : new models_js_1.Literal(s))));
23
+ }
24
+ //we cannot use NamedNodeSet here because of requirement loops
25
+ getProperties(includeFromIncomingArcs = false) {
26
+ var res = new NodeSet();
27
+ for (var node of this) {
28
+ res = res.concat(node.getProperties(includeFromIncomingArcs));
29
+ }
30
+ return res;
31
+ }
32
+ getInverseProperties() {
33
+ var res = new NodeSet();
34
+ for (var node of this) {
35
+ res = res.concat(node.getInverseProperties());
36
+ }
37
+ return res;
38
+ }
39
+ getOne(property) {
40
+ for (var node of this) {
41
+ if (node.hasProperty(property)) {
42
+ return node.getOne(property);
43
+ }
44
+ }
45
+ return undefined;
46
+ }
47
+ /**
48
+ * Returns a NodeSet containing the merged results of node.get(property) for each node in this set
49
+ * @param property
50
+ * @returns {NodeSet}
51
+ */
52
+ getAll(property) {
53
+ var res = new NodeSet();
54
+ for (var node of this) {
55
+ res = res.concat(node.getAll(property));
56
+ }
57
+ return res;
58
+ }
59
+ getValues(property) {
60
+ var res = [];
61
+ for (var node of this) {
62
+ res.push(node.getValue(property));
63
+ }
64
+ return res;
65
+ }
66
+ /**
67
+ * Returns an array of the URI's or literal values (for Literals) of the nodes in this set
68
+ */
69
+ getNodeValues() {
70
+ var res = [];
71
+ for (var node of this) {
72
+ res.push(node.value);
73
+ }
74
+ return res;
75
+ }
76
+ getOneFromPath(...properties) {
77
+ //NOTE: same implementation as in NamedNode
78
+ //we just need one, so we do a depth-first algorithm which will be more performant, so:
79
+ //take first property
80
+ var property = properties.shift();
81
+ //if more properties left
82
+ if (properties.length > 0) {
83
+ var res;
84
+ //check if any of the values of that property for this node
85
+ //has a path to the rest of the properties, and if so return the found value
86
+ for (var value of this.getAll(property)) {
87
+ if ((res = value.getOneFromPath(...properties))) {
88
+ return res;
89
+ }
90
+ }
91
+ }
92
+ else {
93
+ //return the first value possible
94
+ return this.getOne(property);
95
+ }
96
+ }
97
+ getAllFromPath(...properties) {
98
+ //we just need all paths, so we can do a breadth first implementation
99
+ //take first property
100
+ var property = properties.shift();
101
+ if (properties.length > 0) {
102
+ //and ask the whole set of values to return all values of the rest of the path
103
+ return this.getAll(property).getAllFromPath(...properties);
104
+ }
105
+ else {
106
+ return this.getAll(property);
107
+ }
108
+ }
109
+ getOneInverse(property) {
110
+ for (var node of this) {
111
+ if (node.hasInverseProperty(property)) {
112
+ return node.getOneInverse(property);
113
+ }
114
+ }
115
+ return undefined;
116
+ }
117
+ getAllInverse(property) {
118
+ var res = new NodeSet();
119
+ for (var node of this) {
120
+ res = res.concat(node.getAllInverse(property));
121
+ }
122
+ return res;
123
+ }
124
+ getMultipleInverse(properties) {
125
+ var res = new NodeSet();
126
+ for (var instance of this) {
127
+ for (var property of properties) {
128
+ res = res.concat(instance.getAllInverse(property));
129
+ }
130
+ }
131
+ return res;
132
+ }
133
+ getMultiple(properties) {
134
+ var res = new NodeSet();
135
+ for (var node of this) {
136
+ for (var property of properties) {
137
+ res = res.concat(node.getAll(property));
138
+ }
139
+ }
140
+ return res;
141
+ }
142
+ getDeep(property, maxDepth = Infinity) {
143
+ var result = new NodeSet();
144
+ var stack = this;
145
+ while (stack.size > 0 && maxDepth > 0) {
146
+ var nextLevelStack = new NodeSet();
147
+ for (let node of stack) {
148
+ for (var value of node.getAll(property)) {
149
+ if (!result.has(value)) {
150
+ result.add(value);
151
+ nextLevelStack.add(value);
152
+ }
153
+ }
154
+ }
155
+ stack = nextLevelStack;
156
+ maxDepth--;
157
+ }
158
+ return result;
159
+ }
160
+ getQuads(property) {
161
+ var res = new QuadSet_js_1.QuadSet();
162
+ for (var node of this) {
163
+ for (var quad of node.getQuads(property)) {
164
+ res.add(quad);
165
+ }
166
+ }
167
+ return res;
168
+ }
169
+ getInverseQuads(property) {
170
+ var res = new QuadSet_js_1.QuadSet();
171
+ for (var node of this) {
172
+ for (var quad of node.getInverseQuads(property)) {
173
+ res.add(quad);
174
+ }
175
+ }
176
+ return res;
177
+ }
178
+ getAllQuads(includeAsObject, includeImplicit = false) {
179
+ var res = new QuadArray_js_1.QuadArray();
180
+ for (var node of this) {
181
+ for (var item of node.getAllQuads(includeAsObject, includeImplicit)) {
182
+ if (res.indexOf(item) === -1) {
183
+ res.push(item);
184
+ }
185
+ }
186
+ //res = res.concat(node.getAllQuads(includeAsObject));
187
+ }
188
+ return res;
189
+ }
190
+ getAllInverseQuads(includeImplicit) {
191
+ var res = new QuadArray_js_1.QuadArray();
192
+ for (var node of this) {
193
+ for (var item of node.getAllInverseQuads(includeImplicit)) {
194
+ if (res.indexOf(item) === -1) {
195
+ res.push(item);
196
+ }
197
+ }
198
+ }
199
+ return res;
200
+ }
201
+ where(property, value) {
202
+ //TODO: test performance with
203
+ //return this.filter(r => r.has(property,value));
204
+ var res = this.createNew();
205
+ for (var node of this) {
206
+ if (node.has(property, value)) {
207
+ //as any apparently needed, strange that NamedNode is not seen as matching to R?
208
+ res.add(node);
209
+ }
210
+ }
211
+ return res;
212
+ }
213
+ getWhere(property, value) {
214
+ for (var node of this) {
215
+ if (node.has(property, value)) {
216
+ return node;
217
+ }
218
+ }
219
+ return undefined;
220
+ }
221
+ setEach(property, value) {
222
+ let res = false;
223
+ for (var node of this) {
224
+ res = node.set(property, value) && res;
225
+ }
226
+ return res;
227
+ }
228
+ msetEach(property, values) {
229
+ let res = false;
230
+ for (var node of this) {
231
+ res = node.mset(property, values) && res;
232
+ }
233
+ return res;
234
+ }
235
+ updateEach(property, value) {
236
+ let res = false;
237
+ for (var node of this) {
238
+ res = node.overwrite(property, value) && res;
239
+ }
240
+ return res;
241
+ }
242
+ mupdateEach(property, values) {
243
+ let res = false;
244
+ for (var node of this) {
245
+ res = node.moverwrite(property, values) && res;
246
+ }
247
+ return res;
248
+ }
249
+ unsetEach(property, value) {
250
+ let res = false;
251
+ for (var node of this) {
252
+ res = node.unset(property, value) && res;
253
+ }
254
+ return res;
255
+ }
256
+ unsetAllEach(property) {
257
+ let res = false;
258
+ for (var node of this) {
259
+ res = node.unsetAll(property) && res;
260
+ }
261
+ return res;
262
+ }
263
+ //@TODO: remove generic isLoaded now that we have Shape loading functionality?
264
+ //@TODO: remove promiseLoaded now that we have Shape loading functionality?
265
+ /**
266
+ * @deprecated
267
+ * @param loadInverseProperties
268
+ */
269
+ promiseLoaded(loadInverseProperties = false) {
270
+ return Promise.all(this.map((node) => node.promiseLoaded(loadInverseProperties)))
271
+ .then((res) => {
272
+ return res.every((result) => result === true);
273
+ })
274
+ .catch(() => {
275
+ return false;
276
+ });
277
+ }
278
+ // perhaps we need to add a new shapeIsLoaded() method?
279
+ /**
280
+ * @deprecated
281
+ * @param includingInverseProperties
282
+ */
283
+ isLoaded(includingInverseProperties = false) {
284
+ return this.every((node) => node.isLoaded(includingInverseProperties));
285
+ }
286
+ toString() {
287
+ return ('NodeSet {\n' +
288
+ [...this].map((node) => '\t' + node.toString()).join(',\n') +
289
+ '\n}');
290
+ }
291
+ print(includeIncomingProperties = true) {
292
+ return Debug_js_1.Debug.print(this, includeIncomingProperties);
293
+ }
294
+ }
295
+ exports.NodeSet = NodeSet;
296
+ //# sourceMappingURL=NodeSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeSet.js","sourceRoot":"","sources":["../../../src/collections/NodeSet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { BlankNode, NamedNode } from '../models.js';
2
+ import { NodeMap } from './NodeMap.js';
3
+ import { NodeSet } from './NodeSet.js';
4
+ export declare class NodeURIMappings extends NodeMap<NamedNode> {
5
+ originalUris: Map<string, string>;
6
+ /**
7
+ * Will create a blanknode the first time you give a certain URI
8
+ * and return the same blanknode when you request it again.
9
+ * Note that the blanknode itself will have its own local URI regardless of the give URI
10
+ * this method allows you to parse a set of data that
11
+ * uses a certain identifier for a certain blanknode across several places
12
+ * and convert it to a local blanknode
13
+ * @param {string} givenUri
14
+ * @returns {BlankNode}
15
+ */
16
+ getOrCreateBlankNode(givenUri: string): BlankNode;
17
+ getBlankNodes(): NodeSet<BlankNode>;
18
+ getOrCreateNamedNode(uri: string): NamedNode;
19
+ getOriginalUri(localUri: string): string;
20
+ }