@_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.
- package/CHANGELOG.md +7 -0
- package/README.md +285 -0
- package/lib/cjs/Datafactory.d.ts +29 -0
- package/lib/cjs/Datafactory.js +101 -0
- package/lib/cjs/Datafactory.js.map +1 -0
- package/lib/cjs/InMemoryStore.d.ts +35 -0
- package/lib/cjs/InMemoryStore.js +98 -0
- package/lib/cjs/InMemoryStore.js.map +1 -0
- package/lib/cjs/collections/NodeMap.d.ts +35 -0
- package/lib/cjs/collections/NodeMap.js +244 -0
- package/lib/cjs/collections/NodeMap.js.map +1 -0
- package/lib/cjs/collections/NodeSet.d.ts +55 -0
- package/lib/cjs/collections/NodeSet.js +296 -0
- package/lib/cjs/collections/NodeSet.js.map +1 -0
- package/lib/cjs/collections/NodeURIMappings.d.ts +20 -0
- package/lib/cjs/collections/NodeURIMappings.js +65 -0
- package/lib/cjs/collections/NodeURIMappings.js.map +1 -0
- package/lib/cjs/collections/NodeValuesSet.d.ts +63 -0
- package/lib/cjs/collections/NodeValuesSet.js +100 -0
- package/lib/cjs/collections/NodeValuesSet.js.map +1 -0
- package/lib/cjs/collections/QuadArray.d.ts +17 -0
- package/lib/cjs/collections/QuadArray.js +67 -0
- package/lib/cjs/collections/QuadArray.js.map +1 -0
- package/lib/cjs/collections/QuadMap.d.ts +64 -0
- package/lib/cjs/collections/QuadMap.js +155 -0
- package/lib/cjs/collections/QuadMap.js.map +1 -0
- package/lib/cjs/collections/QuadSet.d.ts +22 -0
- package/lib/cjs/collections/QuadSet.js +106 -0
- package/lib/cjs/collections/QuadSet.js.map +1 -0
- package/lib/cjs/collections/SearchMap.d.ts +5 -0
- package/lib/cjs/collections/SearchMap.js +13 -0
- package/lib/cjs/collections/SearchMap.js.map +1 -0
- package/lib/cjs/events/EventBatcher.d.ts +20 -0
- package/lib/cjs/events/EventBatcher.js +97 -0
- package/lib/cjs/events/EventBatcher.js.map +1 -0
- package/lib/cjs/events/EventEmitter.d.ts +15 -0
- package/lib/cjs/events/EventEmitter.js +102 -0
- package/lib/cjs/events/EventEmitter.js.map +1 -0
- package/lib/cjs/index.d.ts +14 -0
- package/lib/cjs/index.js +48 -0
- package/lib/cjs/index.js.map +1 -0
- package/lib/cjs/interfaces/IGraphObject.d.ts +29 -0
- package/lib/cjs/interfaces/IGraphObject.js +3 -0
- package/lib/cjs/interfaces/IGraphObject.js.map +1 -0
- package/lib/cjs/interfaces/IGraphObjectSet.d.ts +24 -0
- package/lib/cjs/interfaces/IGraphObjectSet.js +3 -0
- package/lib/cjs/interfaces/IGraphObjectSet.js.map +1 -0
- package/lib/cjs/interfaces/IShape.d.ts +22 -0
- package/lib/cjs/interfaces/IShape.js +3 -0
- package/lib/cjs/interfaces/IShape.js.map +1 -0
- package/lib/cjs/interfaces/ISingleGraphObject.d.ts +3 -0
- package/lib/cjs/interfaces/ISingleGraphObject.js +3 -0
- package/lib/cjs/interfaces/ISingleGraphObject.js.map +1 -0
- package/lib/cjs/models.d.ts +1167 -0
- package/lib/cjs/models.js +2668 -0
- package/lib/cjs/models.js.map +1 -0
- package/lib/cjs/package.json +3 -0
- package/lib/cjs/utils/Debug.d.ts +3 -0
- package/lib/cjs/utils/Debug.js +46 -0
- package/lib/cjs/utils/Debug.js.map +1 -0
- package/lib/cjs/utils/LocalQueryResolver.d.ts +21 -0
- package/lib/cjs/utils/LocalQueryResolver.js +1442 -0
- package/lib/cjs/utils/LocalQueryResolver.js.map +1 -0
- package/lib/cjs/utils/URI.d.ts +18 -0
- package/lib/cjs/utils/URI.js +42 -0
- package/lib/cjs/utils/URI.js.map +1 -0
- package/lib/cjs/utils/toNamedNode.d.ts +8 -0
- package/lib/cjs/utils/toNamedNode.js +15 -0
- package/lib/cjs/utils/toNamedNode.js.map +1 -0
- package/lib/esm/Datafactory.d.ts +29 -0
- package/lib/esm/Datafactory.js +97 -0
- package/lib/esm/Datafactory.js.map +1 -0
- package/lib/esm/InMemoryStore.d.ts +35 -0
- package/lib/esm/InMemoryStore.js +94 -0
- package/lib/esm/InMemoryStore.js.map +1 -0
- package/lib/esm/collections/NodeMap.d.ts +35 -0
- package/lib/esm/collections/NodeMap.js +240 -0
- package/lib/esm/collections/NodeMap.js.map +1 -0
- package/lib/esm/collections/NodeSet.d.ts +55 -0
- package/lib/esm/collections/NodeSet.js +292 -0
- package/lib/esm/collections/NodeSet.js.map +1 -0
- package/lib/esm/collections/NodeURIMappings.d.ts +20 -0
- package/lib/esm/collections/NodeURIMappings.js +61 -0
- package/lib/esm/collections/NodeURIMappings.js.map +1 -0
- package/lib/esm/collections/NodeValuesSet.d.ts +63 -0
- package/lib/esm/collections/NodeValuesSet.js +96 -0
- package/lib/esm/collections/NodeValuesSet.js.map +1 -0
- package/lib/esm/collections/QuadArray.d.ts +17 -0
- package/lib/esm/collections/QuadArray.js +63 -0
- package/lib/esm/collections/QuadArray.js.map +1 -0
- package/lib/esm/collections/QuadMap.d.ts +64 -0
- package/lib/esm/collections/QuadMap.js +151 -0
- package/lib/esm/collections/QuadMap.js.map +1 -0
- package/lib/esm/collections/QuadSet.d.ts +22 -0
- package/lib/esm/collections/QuadSet.js +102 -0
- package/lib/esm/collections/QuadSet.js.map +1 -0
- package/lib/esm/collections/SearchMap.d.ts +5 -0
- package/lib/esm/collections/SearchMap.js +9 -0
- package/lib/esm/collections/SearchMap.js.map +1 -0
- package/lib/esm/events/EventBatcher.d.ts +20 -0
- package/lib/esm/events/EventBatcher.js +90 -0
- package/lib/esm/events/EventBatcher.js.map +1 -0
- package/lib/esm/events/EventEmitter.d.ts +15 -0
- package/lib/esm/events/EventEmitter.js +98 -0
- package/lib/esm/events/EventEmitter.js.map +1 -0
- package/lib/esm/index.d.ts +14 -0
- package/lib/esm/index.js +22 -0
- package/lib/esm/index.js.map +1 -0
- package/lib/esm/interfaces/IGraphObject.d.ts +29 -0
- package/lib/esm/interfaces/IGraphObject.js +2 -0
- package/lib/esm/interfaces/IGraphObject.js.map +1 -0
- package/lib/esm/interfaces/IGraphObjectSet.d.ts +24 -0
- package/lib/esm/interfaces/IGraphObjectSet.js +2 -0
- package/lib/esm/interfaces/IGraphObjectSet.js.map +1 -0
- package/lib/esm/interfaces/IShape.d.ts +22 -0
- package/lib/esm/interfaces/IShape.js +2 -0
- package/lib/esm/interfaces/IShape.js.map +1 -0
- package/lib/esm/interfaces/ISingleGraphObject.d.ts +3 -0
- package/lib/esm/interfaces/ISingleGraphObject.js +2 -0
- package/lib/esm/interfaces/ISingleGraphObject.js.map +1 -0
- package/lib/esm/models.d.ts +1167 -0
- package/lib/esm/models.js +2659 -0
- package/lib/esm/models.js.map +1 -0
- package/lib/esm/package.json +3 -0
- package/lib/esm/utils/Debug.d.ts +3 -0
- package/lib/esm/utils/Debug.js +42 -0
- package/lib/esm/utils/Debug.js.map +1 -0
- package/lib/esm/utils/LocalQueryResolver.d.ts +21 -0
- package/lib/esm/utils/LocalQueryResolver.js +1434 -0
- package/lib/esm/utils/LocalQueryResolver.js.map +1 -0
- package/lib/esm/utils/URI.d.ts +18 -0
- package/lib/esm/utils/URI.js +38 -0
- package/lib/esm/utils/URI.js.map +1 -0
- package/lib/esm/utils/toNamedNode.d.ts +8 -0
- package/lib/esm/utils/toNamedNode.js +12 -0
- package/lib/esm/utils/toNamedNode.js.map +1 -0
- 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
|
+
}
|