@undefineds.co/xpod 0.3.18 → 0.3.23
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/config/bun.json +57 -11
- package/config/cloud.json +14 -12
- package/config/local.json +16 -14
- package/config/xpod.json +47 -9
- package/dist/api/matrix/PodMatrixStore.d.ts +4 -7
- package/dist/api/matrix/PodMatrixStore.js +116 -148
- package/dist/api/matrix/PodMatrixStore.js.map +1 -1
- package/dist/api/matrix/types.d.ts +2 -0
- package/dist/api/matrix/types.js.map +1 -1
- package/dist/api/runs/PiAgentRuntimeDriver.d.ts +1 -0
- package/dist/api/runs/PiAgentRuntimeDriver.js +4 -1
- package/dist/api/runs/PiAgentRuntimeDriver.js.map +1 -1
- package/dist/components/components.jsonld +3 -0
- package/dist/components/context.jsonld +71 -32
- package/dist/http/SubgraphSparqlHttpHandler.d.ts +1 -0
- package/dist/http/SubgraphSparqlHttpHandler.js +27 -4
- package/dist/http/SubgraphSparqlHttpHandler.js.map +1 -1
- package/dist/http/SubgraphSparqlHttpHandler.jsonld +4 -0
- package/dist/http/vector/VectorHttpHandler.d.ts +5 -1
- package/dist/http/vector/VectorHttpHandler.js +5 -5
- package/dist/http/vector/VectorHttpHandler.js.map +1 -1
- package/dist/http/vector/VectorHttpHandler.jsonld +40 -28
- package/dist/index.d.ts +5 -2
- package/dist/index.js +9 -4
- package/dist/index.js.map +1 -1
- package/dist/runtime/Proxy.d.ts +3 -0
- package/dist/runtime/Proxy.js +31 -7
- package/dist/runtime/Proxy.js.map +1 -1
- package/dist/solidfs/LocalSolidFS.js +31 -124
- package/dist/solidfs/LocalSolidFS.js.map +1 -1
- package/dist/solidfs/SolidFsPathUtils.d.ts +13 -0
- package/dist/solidfs/SolidFsPathUtils.js +114 -0
- package/dist/solidfs/SolidFsPathUtils.js.map +1 -0
- package/dist/solidfs/SolidFsSyncJournal.d.ts +117 -0
- package/dist/solidfs/SolidFsSyncJournal.js +553 -0
- package/dist/solidfs/SolidFsSyncJournal.js.map +1 -0
- package/dist/solidfs/index.d.ts +1 -0
- package/dist/solidfs/index.js +1 -0
- package/dist/solidfs/index.js.map +1 -1
- package/dist/solidfs/types.d.ts +1 -0
- package/dist/solidfs/types.js.map +1 -1
- package/dist/storage/SparqlUpdateResourceStore.js +94 -33
- package/dist/storage/SparqlUpdateResourceStore.js.map +1 -1
- package/dist/storage/accessors/MixDataAccessor.d.ts +22 -5
- package/dist/storage/accessors/MixDataAccessor.js +376 -61
- package/dist/storage/accessors/MixDataAccessor.js.map +1 -1
- package/dist/storage/accessors/MixDataAccessor.jsonld +73 -5
- package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js +32 -10
- package/dist/storage/accessors/QuadstoreSparqlDataAccessor.js.map +1 -1
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js +28 -6
- package/dist/storage/accessors/QuintStoreSparqlDataAccessor.js.map +1 -1
- package/dist/storage/accessors/SolidRdfDataAccessor.d.ts +45 -0
- package/dist/storage/accessors/SolidRdfDataAccessor.js +277 -0
- package/dist/storage/accessors/SolidRdfDataAccessor.js.map +1 -0
- package/dist/storage/accessors/SolidRdfDataAccessor.jsonld +161 -0
- package/dist/storage/rdf/Rdf3xIndex.d.ts +122 -0
- package/dist/storage/rdf/Rdf3xIndex.js +2695 -0
- package/dist/storage/rdf/Rdf3xIndex.js.map +1 -0
- package/dist/storage/rdf/Rdf3xIndex.jsonld +528 -0
- package/dist/storage/rdf/Rdf3xSchema.d.ts +20 -0
- package/dist/storage/rdf/Rdf3xSchema.js +65 -0
- package/dist/storage/rdf/Rdf3xSchema.js.map +1 -0
- package/dist/storage/rdf/RdfLocalQueryEngine.d.ts +10 -4
- package/dist/storage/rdf/RdfLocalQueryEngine.js +607 -127
- package/dist/storage/rdf/RdfLocalQueryEngine.js.map +1 -1
- package/dist/storage/rdf/RdfQuadIndex.d.ts +12 -1
- package/dist/storage/rdf/RdfQuadIndex.js +152 -22
- package/dist/storage/rdf/RdfQuadIndex.js.map +1 -1
- package/dist/storage/rdf/RdfQuadIndex.jsonld +36 -4
- package/dist/storage/rdf/RdfSparqlAdapter.d.ts +20 -2
- package/dist/storage/rdf/RdfSparqlAdapter.js +364 -40
- package/dist/storage/rdf/RdfSparqlAdapter.js.map +1 -1
- package/dist/storage/rdf/RdfSparqlAdapter.jsonld +60 -0
- package/dist/storage/rdf/RdfTermDictionary.d.ts +8 -0
- package/dist/storage/rdf/RdfTermDictionary.js +141 -70
- package/dist/storage/rdf/RdfTermDictionary.js.map +1 -1
- package/dist/storage/rdf/RdfTermDictionary.jsonld +24 -0
- package/dist/storage/rdf/RdfTextIndex.js +10 -3
- package/dist/storage/rdf/RdfTextIndex.js.map +1 -1
- package/dist/storage/rdf/SolidRdfEngine.d.ts +15 -6
- package/dist/storage/rdf/SolidRdfEngine.js +218 -25
- package/dist/storage/rdf/SolidRdfEngine.js.map +1 -1
- package/dist/storage/rdf/SolidRdfEngine.jsonld +70 -7
- package/dist/storage/rdf/SolidRdfSparqlEngine.d.ts +11 -7
- package/dist/storage/rdf/SolidRdfSparqlEngine.js +60 -47
- package/dist/storage/rdf/SolidRdfSparqlEngine.js.map +1 -1
- package/dist/storage/rdf/SolidRdfSparqlEngine.jsonld +9 -5
- package/dist/storage/rdf/index.d.ts +2 -2
- package/dist/storage/rdf/index.js +3 -3
- package/dist/storage/rdf/index.js.map +1 -1
- package/dist/storage/rdf/models-benchmark.d.ts +12 -1
- package/dist/storage/rdf/models-benchmark.js +549 -32
- package/dist/storage/rdf/models-benchmark.js.map +1 -1
- package/dist/storage/rdf/types.d.ts +81 -7
- package/dist/storage/rdf/types.js.map +1 -1
- package/dist/storage/sparql/CompatibilitySparqlEngine.d.ts +36 -0
- package/dist/storage/sparql/CompatibilitySparqlEngine.js +96 -0
- package/dist/storage/sparql/CompatibilitySparqlEngine.js.map +1 -0
- package/dist/storage/sparql/CompatibilitySparqlEngine.jsonld +123 -0
- package/dist/storage/sparql/CompatibilitySparqlEngineImpl.d.ts +35 -0
- package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js +112 -0
- package/dist/storage/sparql/CompatibilitySparqlEngineImpl.js.map +1 -0
- package/dist/storage/sparql/SubgraphQueryEngine.d.ts +1 -36
- package/dist/storage/sparql/SubgraphQueryEngine.js +2 -115
- package/dist/storage/sparql/SubgraphQueryEngine.js.map +1 -1
- package/dist/storage/sparql/SubgraphQueryEngine.jsonld +1 -124
- package/dist/terminal/AclPermissionService.d.ts +2 -1
- package/dist/terminal/AclPermissionService.js +26 -3
- package/dist/terminal/AclPermissionService.js.map +1 -1
- package/dist/terminal/TerminalSessionManager.js +25 -3
- package/dist/terminal/TerminalSessionManager.js.map +1 -1
- package/package.json +1 -1
- package/dist/storage/rdf/Rdf3xTripleIndex.d.ts +0 -55
- package/dist/storage/rdf/Rdf3xTripleIndex.js +0 -1235
- package/dist/storage/rdf/Rdf3xTripleIndex.js.map +0 -1
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SolidRdfDataAccessor = void 0;
|
|
7
|
+
const node_stream_1 = require("node:stream");
|
|
8
|
+
const arrayify_stream_1 = __importDefault(require("arrayify-stream"));
|
|
9
|
+
const global_logger_factory_1 = require("global-logger-factory");
|
|
10
|
+
const n3_1 = require("n3");
|
|
11
|
+
const community_server_1 = require("@solid/community-server");
|
|
12
|
+
const RdfSparqlAdapter_1 = require("../rdf/RdfSparqlAdapter");
|
|
13
|
+
const { defaultGraph, namedNode, quad } = n3_1.DataFactory;
|
|
14
|
+
/**
|
|
15
|
+
* Structured RDF DataAccessor backed directly by SolidRdfEngine.
|
|
16
|
+
*
|
|
17
|
+
* This is the server-owned Pod storage path. It writes resource graphs and
|
|
18
|
+
* metadata graphs into the term-id RDF index without routing simple CSS LDP
|
|
19
|
+
* operations through Comunica.
|
|
20
|
+
*/
|
|
21
|
+
class SolidRdfDataAccessor {
|
|
22
|
+
constructor(rdfEngine, identifierStrategy) {
|
|
23
|
+
this.rdfEngine = rdfEngine;
|
|
24
|
+
this.identifierStrategy = identifierStrategy;
|
|
25
|
+
this.logger = (0, global_logger_factory_1.getLoggerFor)(this);
|
|
26
|
+
this.adapter = new RdfSparqlAdapter_1.RdfSparqlAdapter();
|
|
27
|
+
this.initialized = false;
|
|
28
|
+
this.initializing = null;
|
|
29
|
+
}
|
|
30
|
+
async initialize() {
|
|
31
|
+
if (this.initialized) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
this.initializing ??= Promise.resolve()
|
|
35
|
+
.then(() => {
|
|
36
|
+
this.rdfEngine.open();
|
|
37
|
+
this.rdfEngine.refreshDerivedIndexes();
|
|
38
|
+
this.initialized = true;
|
|
39
|
+
})
|
|
40
|
+
.finally(() => {
|
|
41
|
+
this.initializing = null;
|
|
42
|
+
});
|
|
43
|
+
await this.initializing;
|
|
44
|
+
}
|
|
45
|
+
async finalize() {
|
|
46
|
+
if (this.initializing) {
|
|
47
|
+
await this.initializing.catch(() => { });
|
|
48
|
+
}
|
|
49
|
+
if (this.initialized) {
|
|
50
|
+
await this.rdfEngine.close();
|
|
51
|
+
this.initialized = false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
async canHandle(representation) {
|
|
55
|
+
if (representation.binary || representation.metadata.contentType !== community_server_1.INTERNAL_QUADS) {
|
|
56
|
+
throw new community_server_1.UnsupportedMediaTypeHttpError('Only Quad data is supported.');
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async getData(identifier) {
|
|
60
|
+
await this.initialize();
|
|
61
|
+
const quads = this.scanGraph(namedNode(identifier.path));
|
|
62
|
+
return (0, community_server_1.guardStream)(node_stream_1.Readable.from(quads));
|
|
63
|
+
}
|
|
64
|
+
async getMetadata(identifier) {
|
|
65
|
+
await this.initialize();
|
|
66
|
+
const name = namedNode(identifier.path);
|
|
67
|
+
const quads = this.scanGraph(this.getMetadataNode(name));
|
|
68
|
+
if (quads.length === 0) {
|
|
69
|
+
throw new community_server_1.NotFoundHttpError();
|
|
70
|
+
}
|
|
71
|
+
const metadata = new community_server_1.RepresentationMetadata(identifier).addQuads(quads);
|
|
72
|
+
if (!(0, community_server_1.isContainerIdentifier)(identifier) && !metadata.contentType) {
|
|
73
|
+
metadata.contentType = community_server_1.INTERNAL_QUADS;
|
|
74
|
+
}
|
|
75
|
+
return metadata;
|
|
76
|
+
}
|
|
77
|
+
async *getChildren(identifier) {
|
|
78
|
+
await this.initialize();
|
|
79
|
+
const name = namedNode(identifier.path);
|
|
80
|
+
for (const entry of this.rdfEngine.scan({
|
|
81
|
+
pattern: {
|
|
82
|
+
graph: name,
|
|
83
|
+
subject: name,
|
|
84
|
+
predicate: community_server_1.LDP.terms.contains,
|
|
85
|
+
},
|
|
86
|
+
options: { order: ['object'] },
|
|
87
|
+
}).quads) {
|
|
88
|
+
if (entry.object.termType === 'NamedNode') {
|
|
89
|
+
yield new community_server_1.RepresentationMetadata(entry.object);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
async writeContainer(identifier, metadata) {
|
|
94
|
+
await this.initialize();
|
|
95
|
+
(0, community_server_1.addResourceMetadata)(metadata, true);
|
|
96
|
+
(0, community_server_1.updateModifiedDate)(metadata);
|
|
97
|
+
const { name, parent } = this.getRelatedNames(identifier);
|
|
98
|
+
this.replaceMetadata(name, metadata, parent);
|
|
99
|
+
}
|
|
100
|
+
async writeDocument(identifier, data, metadata) {
|
|
101
|
+
await this.initialize();
|
|
102
|
+
if (this.isMetadataIdentifier(identifier)) {
|
|
103
|
+
throw new community_server_1.ConflictHttpError('Not allowed to create NamedNodes with the metadata extension.');
|
|
104
|
+
}
|
|
105
|
+
const triples = await (0, arrayify_stream_1.default)(data);
|
|
106
|
+
const def = defaultGraph();
|
|
107
|
+
if (triples.some((triple) => !def.equals(triple.graph))) {
|
|
108
|
+
throw new community_server_1.NotImplementedHttpError('Only triples in the default graph are supported.');
|
|
109
|
+
}
|
|
110
|
+
(0, community_server_1.addResourceMetadata)(metadata, false);
|
|
111
|
+
(0, community_server_1.updateModifiedDate)(metadata);
|
|
112
|
+
metadata.removeAll(community_server_1.CONTENT_TYPE_TERM);
|
|
113
|
+
const { name, parent } = this.getRelatedNames(identifier);
|
|
114
|
+
this.rdfEngine.delete({ graph: name });
|
|
115
|
+
this.replaceMetadata(name, metadata, parent);
|
|
116
|
+
this.putGraphQuads(name, triples);
|
|
117
|
+
}
|
|
118
|
+
async writeRdfSourceDocument(identifier, quads, metadata, source) {
|
|
119
|
+
await this.initialize();
|
|
120
|
+
if (this.isMetadataIdentifier(identifier)) {
|
|
121
|
+
throw new community_server_1.ConflictHttpError('Not allowed to create NamedNodes with the metadata extension.');
|
|
122
|
+
}
|
|
123
|
+
const def = defaultGraph();
|
|
124
|
+
if (quads.some((value) => !def.equals(value.graph))) {
|
|
125
|
+
throw new community_server_1.NotImplementedHttpError('Only triples in the default graph are supported.');
|
|
126
|
+
}
|
|
127
|
+
metadata.removeAll(community_server_1.CONTENT_TYPE_TERM);
|
|
128
|
+
const { name, parent } = this.getRelatedNames(identifier);
|
|
129
|
+
this.replaceMetadata(name, metadata, parent);
|
|
130
|
+
this.rdfEngine.replaceSource(quads.map((value) => quad(value.subject, value.predicate, value.object, name)), source);
|
|
131
|
+
}
|
|
132
|
+
async deleteRdfSourceDocument(identifier) {
|
|
133
|
+
await this.initialize();
|
|
134
|
+
const { name, parent } = this.getRelatedNames(identifier);
|
|
135
|
+
this.rdfEngine.deleteSource(identifier.path);
|
|
136
|
+
this.rdfEngine.delete({ graph: this.getMetadataNode(name) });
|
|
137
|
+
if (parent) {
|
|
138
|
+
this.rdfEngine.delete({
|
|
139
|
+
graph: parent,
|
|
140
|
+
subject: parent,
|
|
141
|
+
predicate: community_server_1.LDP.terms.contains,
|
|
142
|
+
object: name,
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
async writeMetadata(identifier, metadata) {
|
|
147
|
+
await this.initialize();
|
|
148
|
+
const { name, parent } = this.getRelatedNames(identifier);
|
|
149
|
+
const metaName = this.getMetadataNode(name);
|
|
150
|
+
this.rdfEngine.delete({ graph: metaName });
|
|
151
|
+
const inserts = this.toGraphQuads(metaName, metadata.quads());
|
|
152
|
+
if (parent) {
|
|
153
|
+
inserts.push(quad(parent, community_server_1.LDP.terms.contains, name, parent));
|
|
154
|
+
}
|
|
155
|
+
this.rdfEngine.put(inserts);
|
|
156
|
+
}
|
|
157
|
+
async deleteResource(identifier) {
|
|
158
|
+
await this.initialize();
|
|
159
|
+
const { name, parent } = this.getRelatedNames(identifier);
|
|
160
|
+
this.rdfEngine.delete({ graph: name });
|
|
161
|
+
this.rdfEngine.delete({ graph: this.getMetadataNode(name) });
|
|
162
|
+
if (parent) {
|
|
163
|
+
this.rdfEngine.delete({
|
|
164
|
+
graph: parent,
|
|
165
|
+
subject: parent,
|
|
166
|
+
predicate: community_server_1.LDP.terms.contains,
|
|
167
|
+
object: name,
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
async getDataByGraphPrefix(prefix) {
|
|
172
|
+
await this.initialize();
|
|
173
|
+
return this.rdfEngine.scan({
|
|
174
|
+
pattern: {
|
|
175
|
+
graph: { $startsWith: prefix },
|
|
176
|
+
},
|
|
177
|
+
}).quads;
|
|
178
|
+
}
|
|
179
|
+
async executeSparqlUpdate(query, baseIri) {
|
|
180
|
+
await this.initialize();
|
|
181
|
+
try {
|
|
182
|
+
const delta = this.adapter.compileUpdateDelta(query, baseIri ?? '', {
|
|
183
|
+
defaultGraph: baseIri,
|
|
184
|
+
});
|
|
185
|
+
for (const operation of delta.operations) {
|
|
186
|
+
this.applyUpdateOperation(operation);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
catch (error) {
|
|
190
|
+
if (error instanceof RdfSparqlAdapter_1.DisabledSparqlFeatureError) {
|
|
191
|
+
throw error;
|
|
192
|
+
}
|
|
193
|
+
if (error instanceof RdfSparqlAdapter_1.UnsupportedSparqlQueryError) {
|
|
194
|
+
this.logger.warn(`SolidRdfDataAccessor cannot execute SPARQL UPDATE without compatibility fallback: ${error.message}`);
|
|
195
|
+
throw error;
|
|
196
|
+
}
|
|
197
|
+
this.logger.error(`SPARQL update failed: ${(0, community_server_1.createErrorMessage)(error)}`);
|
|
198
|
+
throw error;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
applyUpdateOperation(operation) {
|
|
202
|
+
if (operation.type === 'insert') {
|
|
203
|
+
this.rdfEngine.put(operation.quads);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
if (operation.type === 'delete') {
|
|
207
|
+
for (const value of operation.quads) {
|
|
208
|
+
this.rdfEngine.delete({
|
|
209
|
+
graph: value.graph,
|
|
210
|
+
subject: value.subject,
|
|
211
|
+
predicate: value.predicate,
|
|
212
|
+
object: value.object,
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
if (operation.type === 'deleteWhere') {
|
|
218
|
+
this.deleteMaterialized(operation.template, this.rdfEngine.query(operation.query).bindings);
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
if (operation.type === 'insertWhere') {
|
|
222
|
+
this.rdfEngine.put(this.adapter.materializeDeleteWhere(operation.inserts, this.rdfEngine.query(operation.query).bindings));
|
|
223
|
+
return;
|
|
224
|
+
}
|
|
225
|
+
const rows = this.rdfEngine.query(operation.query).bindings;
|
|
226
|
+
this.deleteMaterialized(operation.deletes, rows);
|
|
227
|
+
this.rdfEngine.put(this.adapter.materializeDeleteWhere(operation.inserts, rows));
|
|
228
|
+
}
|
|
229
|
+
deleteMaterialized(template, rows) {
|
|
230
|
+
for (const value of this.adapter.materializeDeleteWhere(template, rows)) {
|
|
231
|
+
this.rdfEngine.delete({
|
|
232
|
+
graph: value.graph,
|
|
233
|
+
subject: value.subject,
|
|
234
|
+
predicate: value.predicate,
|
|
235
|
+
object: value.object,
|
|
236
|
+
});
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
getRelatedNames(identifier) {
|
|
240
|
+
const name = namedNode(identifier.path);
|
|
241
|
+
if (this.identifierStrategy.isRootContainer(identifier)) {
|
|
242
|
+
return { name };
|
|
243
|
+
}
|
|
244
|
+
const parentIdentifier = this.identifierStrategy.getParentContainer(identifier);
|
|
245
|
+
const parent = namedNode(parentIdentifier.path);
|
|
246
|
+
return { name, parent };
|
|
247
|
+
}
|
|
248
|
+
getMetadataNode(name) {
|
|
249
|
+
return namedNode(`meta:${name.value}`);
|
|
250
|
+
}
|
|
251
|
+
isMetadataIdentifier(identifier) {
|
|
252
|
+
return identifier.path.startsWith('meta:');
|
|
253
|
+
}
|
|
254
|
+
replaceMetadata(name, metadata, parent) {
|
|
255
|
+
const metaName = this.getMetadataNode(name);
|
|
256
|
+
this.rdfEngine.delete({ graph: metaName });
|
|
257
|
+
const inserts = this.toGraphQuads(metaName, metadata.quads());
|
|
258
|
+
if (parent) {
|
|
259
|
+
inserts.push(quad(parent, community_server_1.LDP.terms.contains, name, parent));
|
|
260
|
+
}
|
|
261
|
+
this.rdfEngine.put(inserts);
|
|
262
|
+
}
|
|
263
|
+
putGraphQuads(graph, triples) {
|
|
264
|
+
this.rdfEngine.put(this.toGraphQuads(graph, triples));
|
|
265
|
+
}
|
|
266
|
+
scanGraph(graph) {
|
|
267
|
+
return this.rdfEngine.scan({
|
|
268
|
+
pattern: { graph },
|
|
269
|
+
options: { order: ['subject', 'predicate', 'object'] },
|
|
270
|
+
}).quads.map((value) => quad(value.subject, value.predicate, value.object));
|
|
271
|
+
}
|
|
272
|
+
toGraphQuads(graph, quads) {
|
|
273
|
+
return quads.map((value) => quad(value.subject, value.predicate, value.object, graph));
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
exports.SolidRdfDataAccessor = SolidRdfDataAccessor;
|
|
277
|
+
//# sourceMappingURL=SolidRdfDataAccessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SolidRdfDataAccessor.js","sourceRoot":"","sources":["../../../src/storage/accessors/SolidRdfDataAccessor.ts"],"names":[],"mappings":"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","sourcesContent":["import { Readable } from 'node:stream';\nimport arrayifyStream from 'arrayify-stream';\nimport { getLoggerFor } from 'global-logger-factory';\nimport { DataFactory } from 'n3';\nimport type { NamedNode, Quad } from '@rdfjs/types';\nimport {\n addResourceMetadata,\n CONTENT_TYPE_TERM,\n ConflictHttpError,\n createErrorMessage,\n DataAccessor,\n guardStream,\n IdentifierStrategy,\n INTERNAL_QUADS,\n isContainerIdentifier,\n LDP,\n NotFoundHttpError,\n NotImplementedHttpError,\n RepresentationMetadata,\n UnsupportedMediaTypeHttpError,\n updateModifiedDate,\n type Guarded,\n type Representation,\n type ResourceIdentifier,\n} from '@solid/community-server';\nimport type { RdfSparqlUpdateDeltaOperation, RdfSparqlUpdateTemplate } from '../rdf/RdfSparqlAdapter';\nimport {\n DisabledSparqlFeatureError,\n RdfSparqlAdapter,\n UnsupportedSparqlQueryError,\n} from '../rdf/RdfSparqlAdapter';\nimport { SolidRdfEngine } from '../rdf/SolidRdfEngine';\nimport type { RdfBindingRow, RdfSourceInput } from '../rdf/types';\nimport type { Quint } from '../quint/types';\n\nconst { defaultGraph, namedNode, quad } = DataFactory;\n\n/**\n * Structured RDF DataAccessor backed directly by SolidRdfEngine.\n *\n * This is the server-owned Pod storage path. It writes resource graphs and\n * metadata graphs into the term-id RDF index without routing simple CSS LDP\n * operations through Comunica.\n */\nexport class SolidRdfDataAccessor implements DataAccessor {\n protected readonly logger = getLoggerFor(this);\n private readonly adapter = new RdfSparqlAdapter();\n private initialized = false;\n private initializing: Promise<void> | null = null;\n\n public constructor(\n private readonly rdfEngine: SolidRdfEngine,\n private readonly identifierStrategy: IdentifierStrategy,\n ) {}\n\n public async initialize(): Promise<void> {\n if (this.initialized) {\n return;\n }\n\n this.initializing ??= Promise.resolve()\n .then(() => {\n this.rdfEngine.open();\n this.rdfEngine.refreshDerivedIndexes();\n this.initialized = true;\n })\n .finally(() => {\n this.initializing = null;\n });\n\n await this.initializing;\n }\n\n public async finalize(): Promise<void> {\n if (this.initializing) {\n await this.initializing.catch(() => {});\n }\n if (this.initialized) {\n await this.rdfEngine.close();\n this.initialized = false;\n }\n }\n\n public async canHandle(representation: Representation): Promise<void> {\n if (representation.binary || representation.metadata.contentType !== INTERNAL_QUADS) {\n throw new UnsupportedMediaTypeHttpError('Only Quad data is supported.');\n }\n }\n\n public async getData(identifier: ResourceIdentifier): Promise<Guarded<Readable>> {\n await this.initialize();\n const quads = this.scanGraph(namedNode(identifier.path));\n return guardStream(Readable.from(quads));\n }\n\n public async getMetadata(identifier: ResourceIdentifier): Promise<RepresentationMetadata> {\n await this.initialize();\n const name = namedNode(identifier.path);\n const quads = this.scanGraph(this.getMetadataNode(name));\n\n if (quads.length === 0) {\n throw new NotFoundHttpError();\n }\n\n const metadata = new RepresentationMetadata(identifier).addQuads(quads);\n if (!isContainerIdentifier(identifier) && !metadata.contentType) {\n metadata.contentType = INTERNAL_QUADS;\n }\n return metadata;\n }\n\n public async* getChildren(identifier: ResourceIdentifier): AsyncIterableIterator<RepresentationMetadata> {\n await this.initialize();\n const name = namedNode(identifier.path);\n for (const entry of this.rdfEngine.scan({\n pattern: {\n graph: name,\n subject: name,\n predicate: LDP.terms.contains,\n },\n options: { order: ['object'] },\n }).quads) {\n if (entry.object.termType === 'NamedNode') {\n yield new RepresentationMetadata(entry.object as NamedNode);\n }\n }\n }\n\n public async writeContainer(identifier: ResourceIdentifier, metadata: RepresentationMetadata): Promise<void> {\n await this.initialize();\n addResourceMetadata(metadata, true);\n updateModifiedDate(metadata);\n const { name, parent } = this.getRelatedNames(identifier);\n this.replaceMetadata(name, metadata, parent);\n }\n\n public async writeDocument(\n identifier: ResourceIdentifier,\n data: Guarded<Readable>,\n metadata: RepresentationMetadata,\n ): Promise<void> {\n await this.initialize();\n if (this.isMetadataIdentifier(identifier)) {\n throw new ConflictHttpError('Not allowed to create NamedNodes with the metadata extension.');\n }\n\n const triples = await arrayifyStream<Quad>(data);\n const def = defaultGraph();\n if (triples.some((triple): boolean => !def.equals(triple.graph))) {\n throw new NotImplementedHttpError('Only triples in the default graph are supported.');\n }\n\n addResourceMetadata(metadata, false);\n updateModifiedDate(metadata);\n metadata.removeAll(CONTENT_TYPE_TERM);\n const { name, parent } = this.getRelatedNames(identifier);\n this.rdfEngine.delete({ graph: name });\n this.replaceMetadata(name, metadata, parent);\n this.putGraphQuads(name, triples);\n }\n\n public async writeRdfSourceDocument(\n identifier: ResourceIdentifier,\n quads: Quad[],\n metadata: RepresentationMetadata,\n source: RdfSourceInput,\n ): Promise<void> {\n await this.initialize();\n if (this.isMetadataIdentifier(identifier)) {\n throw new ConflictHttpError('Not allowed to create NamedNodes with the metadata extension.');\n }\n\n const def = defaultGraph();\n if (quads.some((value): boolean => !def.equals(value.graph))) {\n throw new NotImplementedHttpError('Only triples in the default graph are supported.');\n }\n\n metadata.removeAll(CONTENT_TYPE_TERM);\n const { name, parent } = this.getRelatedNames(identifier);\n this.replaceMetadata(name, metadata, parent);\n this.rdfEngine.replaceSource(\n quads.map((value) => quad(value.subject, value.predicate, value.object, name) as Quad),\n source,\n );\n }\n\n public async deleteRdfSourceDocument(identifier: ResourceIdentifier): Promise<void> {\n await this.initialize();\n const { name, parent } = this.getRelatedNames(identifier);\n this.rdfEngine.deleteSource(identifier.path);\n this.rdfEngine.delete({ graph: this.getMetadataNode(name) });\n if (parent) {\n this.rdfEngine.delete({\n graph: parent,\n subject: parent,\n predicate: LDP.terms.contains,\n object: name,\n });\n }\n }\n\n public async writeMetadata(identifier: ResourceIdentifier, metadata: RepresentationMetadata): Promise<void> {\n await this.initialize();\n const { name, parent } = this.getRelatedNames(identifier);\n const metaName = this.getMetadataNode(name);\n this.rdfEngine.delete({ graph: metaName });\n const inserts = this.toGraphQuads(metaName, metadata.quads());\n if (parent) {\n inserts.push(quad(parent, LDP.terms.contains, name, parent) as Quad);\n }\n this.rdfEngine.put(inserts);\n }\n\n public async deleteResource(identifier: ResourceIdentifier): Promise<void> {\n await this.initialize();\n const { name, parent } = this.getRelatedNames(identifier);\n this.rdfEngine.delete({ graph: name });\n this.rdfEngine.delete({ graph: this.getMetadataNode(name) });\n if (parent) {\n this.rdfEngine.delete({\n graph: parent,\n subject: parent,\n predicate: LDP.terms.contains,\n object: name,\n });\n }\n }\n\n public async getDataByGraphPrefix(prefix: string): Promise<Quint[]> {\n await this.initialize();\n return this.rdfEngine.scan({\n pattern: {\n graph: { $startsWith: prefix },\n },\n }).quads as Quint[];\n }\n\n public async executeSparqlUpdate(query: string, baseIri?: string): Promise<void> {\n await this.initialize();\n try {\n const delta = this.adapter.compileUpdateDelta(query, baseIri ?? '', {\n defaultGraph: baseIri,\n });\n for (const operation of delta.operations) {\n this.applyUpdateOperation(operation);\n }\n } catch (error: unknown) {\n if (error instanceof DisabledSparqlFeatureError) {\n throw error;\n }\n if (error instanceof UnsupportedSparqlQueryError) {\n this.logger.warn(`SolidRdfDataAccessor cannot execute SPARQL UPDATE without compatibility fallback: ${error.message}`);\n throw error;\n }\n this.logger.error(`SPARQL update failed: ${createErrorMessage(error)}`);\n throw error;\n }\n }\n\n private applyUpdateOperation(operation: RdfSparqlUpdateDeltaOperation): void {\n if (operation.type === 'insert') {\n this.rdfEngine.put(operation.quads);\n return;\n }\n if (operation.type === 'delete') {\n for (const value of operation.quads) {\n this.rdfEngine.delete({\n graph: value.graph,\n subject: value.subject,\n predicate: value.predicate,\n object: value.object,\n });\n }\n return;\n }\n\n if (operation.type === 'deleteWhere') {\n this.deleteMaterialized(operation.template, this.rdfEngine.query(operation.query).bindings);\n return;\n }\n\n if (operation.type === 'insertWhere') {\n this.rdfEngine.put(this.adapter.materializeDeleteWhere(\n operation.inserts,\n this.rdfEngine.query(operation.query).bindings,\n ));\n return;\n }\n\n const rows = this.rdfEngine.query(operation.query).bindings;\n this.deleteMaterialized(operation.deletes, rows);\n this.rdfEngine.put(this.adapter.materializeDeleteWhere(operation.inserts, rows));\n }\n\n private deleteMaterialized(template: RdfSparqlUpdateTemplate[], rows: RdfBindingRow[]): void {\n for (const value of this.adapter.materializeDeleteWhere(template, rows)) {\n this.rdfEngine.delete({\n graph: value.graph,\n subject: value.subject,\n predicate: value.predicate,\n object: value.object,\n });\n }\n }\n\n private getRelatedNames(identifier: ResourceIdentifier): { name: NamedNode; parent?: NamedNode } {\n const name = namedNode(identifier.path);\n\n if (this.identifierStrategy.isRootContainer(identifier)) {\n return { name };\n }\n\n const parentIdentifier = this.identifierStrategy.getParentContainer(identifier);\n const parent = namedNode(parentIdentifier.path);\n return { name, parent };\n }\n\n protected getMetadataNode(name: NamedNode): NamedNode {\n return namedNode(`meta:${name.value}`);\n }\n\n private isMetadataIdentifier(identifier: ResourceIdentifier): boolean {\n return identifier.path.startsWith('meta:');\n }\n\n private replaceMetadata(name: NamedNode, metadata: RepresentationMetadata, parent?: NamedNode): void {\n const metaName = this.getMetadataNode(name);\n this.rdfEngine.delete({ graph: metaName });\n const inserts = this.toGraphQuads(metaName, metadata.quads());\n if (parent) {\n inserts.push(quad(parent, LDP.terms.contains, name, parent) as Quad);\n }\n this.rdfEngine.put(inserts);\n }\n\n private putGraphQuads(graph: NamedNode, triples: Quad[]): void {\n this.rdfEngine.put(this.toGraphQuads(graph, triples));\n }\n\n private scanGraph(graph: NamedNode): Quad[] {\n return this.rdfEngine.scan({\n pattern: { graph },\n options: { order: ['subject', 'predicate', 'object'] },\n }).quads.map((value) => quad(value.subject, value.predicate, value.object) as Quad);\n }\n\n private toGraphQuads(graph: NamedNode, quads: Quad[]): Quad[] {\n return quads.map((value) => quad(value.subject, value.predicate, value.object, graph) as Quad);\n }\n}\n"]}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": [
|
|
3
|
+
"https://linkedsoftwaredependencies.org/bundles/npm/@undefineds.co/xpod/^0.0.0/components/context.jsonld",
|
|
4
|
+
"https://linkedsoftwaredependencies.org/bundles/npm/@solid/community-server/^8.0.0/components/context.jsonld"
|
|
5
|
+
],
|
|
6
|
+
"@id": "npmd:@undefineds.co/xpod",
|
|
7
|
+
"components": [
|
|
8
|
+
{
|
|
9
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor",
|
|
10
|
+
"@type": "Class",
|
|
11
|
+
"requireElement": "SolidRdfDataAccessor",
|
|
12
|
+
"extends": [
|
|
13
|
+
"css:dist/storage/accessors/DataAccessor.jsonld#DataAccessor"
|
|
14
|
+
],
|
|
15
|
+
"comment": "Structured RDF DataAccessor backed directly by SolidRdfEngine. This is the server-owned Pod storage path. It writes resource graphs and metadata graphs into the term-id RDF index without routing simple CSS LDP operations through Comunica.",
|
|
16
|
+
"parameters": [
|
|
17
|
+
{
|
|
18
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor_rdfEngine",
|
|
19
|
+
"range": "undefineds:dist/storage/rdf/SolidRdfEngine.jsonld#SolidRdfEngine"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor_identifierStrategy",
|
|
23
|
+
"range": "css:dist/util/identifiers/IdentifierStrategy.jsonld#IdentifierStrategy"
|
|
24
|
+
}
|
|
25
|
+
],
|
|
26
|
+
"memberFields": [
|
|
27
|
+
{
|
|
28
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_rdfEngine",
|
|
29
|
+
"memberFieldName": "rdfEngine"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_identifierStrategy",
|
|
33
|
+
"memberFieldName": "identifierStrategy"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_logger",
|
|
37
|
+
"memberFieldName": "logger",
|
|
38
|
+
"range": {
|
|
39
|
+
"@type": "ParameterRangeWildcard"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_adapter",
|
|
44
|
+
"memberFieldName": "adapter"
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_initialized",
|
|
48
|
+
"memberFieldName": "initialized"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_initializing",
|
|
52
|
+
"memberFieldName": "initializing"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_constructor",
|
|
56
|
+
"memberFieldName": "constructor"
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_initialize",
|
|
60
|
+
"memberFieldName": "initialize"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_finalize",
|
|
64
|
+
"memberFieldName": "finalize"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_canHandle",
|
|
68
|
+
"memberFieldName": "canHandle"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_getData",
|
|
72
|
+
"memberFieldName": "getData"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_getMetadata",
|
|
76
|
+
"memberFieldName": "getMetadata"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_getChildren",
|
|
80
|
+
"memberFieldName": "getChildren"
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_writeContainer",
|
|
84
|
+
"memberFieldName": "writeContainer"
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_writeDocument",
|
|
88
|
+
"memberFieldName": "writeDocument"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_writeRdfSourceDocument",
|
|
92
|
+
"memberFieldName": "writeRdfSourceDocument"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_deleteRdfSourceDocument",
|
|
96
|
+
"memberFieldName": "deleteRdfSourceDocument"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_writeMetadata",
|
|
100
|
+
"memberFieldName": "writeMetadata"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_deleteResource",
|
|
104
|
+
"memberFieldName": "deleteResource"
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_getDataByGraphPrefix",
|
|
108
|
+
"memberFieldName": "getDataByGraphPrefix"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_executeSparqlUpdate",
|
|
112
|
+
"memberFieldName": "executeSparqlUpdate"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_applyUpdateOperation",
|
|
116
|
+
"memberFieldName": "applyUpdateOperation"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_deleteMaterialized",
|
|
120
|
+
"memberFieldName": "deleteMaterialized"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_getRelatedNames",
|
|
124
|
+
"memberFieldName": "getRelatedNames"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_getMetadataNode",
|
|
128
|
+
"memberFieldName": "getMetadataNode"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_isMetadataIdentifier",
|
|
132
|
+
"memberFieldName": "isMetadataIdentifier"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_replaceMetadata",
|
|
136
|
+
"memberFieldName": "replaceMetadata"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_putGraphQuads",
|
|
140
|
+
"memberFieldName": "putGraphQuads"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_scanGraph",
|
|
144
|
+
"memberFieldName": "scanGraph"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor__member_toGraphQuads",
|
|
148
|
+
"memberFieldName": "toGraphQuads"
|
|
149
|
+
}
|
|
150
|
+
],
|
|
151
|
+
"constructorArguments": [
|
|
152
|
+
{
|
|
153
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor_rdfEngine"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"@id": "undefineds:dist/storage/accessors/SolidRdfDataAccessor.jsonld#SolidRdfDataAccessor_identifierStrategy"
|
|
157
|
+
}
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
]
|
|
161
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { Rdf3xCardinalityEstimate, Rdf3xCountResult, Rdf3xIndexStats, Rdf3xJoinOptions, Rdf3xJoinScanResult, Rdf3xPatternKey, Rdf3xRebuildResult, Rdf3xIndexOptions, Rdf3xTriplePattern, Rdf3xTripleScanOptions, Rdf3xTripleScanResult, RdfIndexSpaceObject, RdfQuadJoinCountOptions, RdfQuadJoinGroupAggregateOptions, RdfQuadJoinPattern, RdfQuadTupleConstraintSource } from './types';
|
|
2
|
+
export declare class Rdf3xIndex {
|
|
3
|
+
private readonly options;
|
|
4
|
+
private readonly sqliteRuntime;
|
|
5
|
+
private db;
|
|
6
|
+
private dictionary;
|
|
7
|
+
constructor(options: Rdf3xIndexOptions);
|
|
8
|
+
open(): void;
|
|
9
|
+
close(): void;
|
|
10
|
+
clear(): void;
|
|
11
|
+
rebuildFromCurrentQuads(): Rdf3xRebuildResult;
|
|
12
|
+
factsDataVersion(): number;
|
|
13
|
+
isSyncedWithCurrentQuads(): boolean;
|
|
14
|
+
scan(pattern: Rdf3xTriplePattern, options?: Rdf3xTripleScanOptions): Rdf3xTripleScanResult;
|
|
15
|
+
scanWithTupleConstraints(pattern: Rdf3xTriplePattern, tupleValues: RdfQuadTupleConstraintSource, options?: Rdf3xTripleScanOptions): Rdf3xTripleScanResult;
|
|
16
|
+
countDistinct(pattern: Rdf3xTriplePattern, distinctKey: Rdf3xPatternKey): Rdf3xCountResult;
|
|
17
|
+
private scanInternal;
|
|
18
|
+
private compileDistinctCountSql;
|
|
19
|
+
private compileMembershipDistinctCountSql;
|
|
20
|
+
joinPatterns(patterns: RdfQuadJoinPattern[], options?: Rdf3xJoinOptions): Rdf3xJoinScanResult;
|
|
21
|
+
countJoinPatterns(patterns: RdfQuadJoinPattern[], options: RdfQuadJoinCountOptions): Rdf3xJoinScanResult;
|
|
22
|
+
aggregateJoinPatterns(patterns: RdfQuadJoinPattern[], options: RdfQuadJoinCountOptions): Rdf3xJoinScanResult;
|
|
23
|
+
groupCountJoinPatterns(patterns: RdfQuadJoinPattern[], options: RdfQuadJoinGroupAggregateOptions): Rdf3xJoinScanResult;
|
|
24
|
+
groupAggregateJoinPatterns(patterns: RdfQuadJoinPattern[], options: RdfQuadJoinGroupAggregateOptions): Rdf3xJoinScanResult;
|
|
25
|
+
private aggregateJoinPatternsInternal;
|
|
26
|
+
private groupAggregateJoinPatternsInternal;
|
|
27
|
+
estimateCardinality(pattern: Rdf3xTriplePattern): Rdf3xCardinalityEstimate;
|
|
28
|
+
stats(): Rdf3xIndexStats;
|
|
29
|
+
collectSpaceObjects(): RdfIndexSpaceObject[];
|
|
30
|
+
private initializeSchema;
|
|
31
|
+
private dropMaterializedFactCopies;
|
|
32
|
+
private dropLegacyRowidTables;
|
|
33
|
+
private clearRdf3xTables;
|
|
34
|
+
private prepareSchemaVersion;
|
|
35
|
+
private ensureMetadataTable;
|
|
36
|
+
private dropRdf3xSchema;
|
|
37
|
+
private currentFactsDataVersion;
|
|
38
|
+
private setFactsDataVersion;
|
|
39
|
+
private setMetadataValue;
|
|
40
|
+
private rebuildPairProjection;
|
|
41
|
+
private rebuildTermProjection;
|
|
42
|
+
private rebuildGraphProjection;
|
|
43
|
+
private compileScanSql;
|
|
44
|
+
private compileMembershipScanSql;
|
|
45
|
+
private compileJoinPatterns;
|
|
46
|
+
private joinSourceSql;
|
|
47
|
+
private membershipJoinSourceSql;
|
|
48
|
+
private canUseIndexOnlyJoin;
|
|
49
|
+
private buildMergeJoinPlan;
|
|
50
|
+
private joinSourceColumnRef;
|
|
51
|
+
private buildTupleConstraintJoin;
|
|
52
|
+
private buildJoinValuesJoins;
|
|
53
|
+
private populateJoinValuesTable;
|
|
54
|
+
private joinValueColumnName;
|
|
55
|
+
private populateTupleConstraintTable;
|
|
56
|
+
private termIdForTupleConstraint;
|
|
57
|
+
private tupleColumnName;
|
|
58
|
+
private tupleColumnRef;
|
|
59
|
+
private buildJoinOrderClause;
|
|
60
|
+
private buildJoinAggregateColumn;
|
|
61
|
+
private buildGroupAggregateHavingClause;
|
|
62
|
+
private havingSqlOperator;
|
|
63
|
+
private buildGroupAggregateOrderScope;
|
|
64
|
+
private buildOrderClause;
|
|
65
|
+
private chooseJoinStart;
|
|
66
|
+
private orderJoinSources;
|
|
67
|
+
private chooseNextJoinSource;
|
|
68
|
+
private compareJoinConnectivity;
|
|
69
|
+
private boundVariableCount;
|
|
70
|
+
private compareJoinFanout;
|
|
71
|
+
private estimateJoinFanout;
|
|
72
|
+
private boundPatternKeys;
|
|
73
|
+
private sourceVariables;
|
|
74
|
+
private compareJoinSources;
|
|
75
|
+
private estimateResolvedCardinality;
|
|
76
|
+
private resolveJoinPattern;
|
|
77
|
+
private joinMetrics;
|
|
78
|
+
private joinRowsToBindings;
|
|
79
|
+
private buildPagination;
|
|
80
|
+
private estimateExactTriple;
|
|
81
|
+
private estimatePairProjection;
|
|
82
|
+
private estimateTermProjection;
|
|
83
|
+
private estimateMembershipCardinality;
|
|
84
|
+
private estimateResolvedMembershipCardinality;
|
|
85
|
+
private buildMembershipWhere;
|
|
86
|
+
private pairProjectionFor;
|
|
87
|
+
private appendResolvedIdSetConditions;
|
|
88
|
+
private appendResolvedExcludedIdSetConditions;
|
|
89
|
+
private resolvePattern;
|
|
90
|
+
private resolveTermInIds;
|
|
91
|
+
private resolveTermNotInIds;
|
|
92
|
+
private resolveOperatorPattern;
|
|
93
|
+
private resolveTermMetadataFilter;
|
|
94
|
+
private resolveTextSearchFilter;
|
|
95
|
+
private resolveDatatypeFilter;
|
|
96
|
+
private countDistinctResolvedMembershipTuple;
|
|
97
|
+
private estimateObjectRangeCardinality;
|
|
98
|
+
private appendObjectRangeCondition;
|
|
99
|
+
private appendTermFilterJoinsAndConditions;
|
|
100
|
+
private appendTermFilterCondition;
|
|
101
|
+
private appendTextSearchCondition;
|
|
102
|
+
private appendTermTypeCondition;
|
|
103
|
+
private appendLanguageCondition;
|
|
104
|
+
private appendDatatypeCondition;
|
|
105
|
+
private resolveObjectRange;
|
|
106
|
+
private numericValueForPattern;
|
|
107
|
+
private lexicalValueForPattern;
|
|
108
|
+
private choosePermutation;
|
|
109
|
+
private permutation;
|
|
110
|
+
private rowsToQuads;
|
|
111
|
+
private permutationSource;
|
|
112
|
+
private factSource;
|
|
113
|
+
private uniqueTripleCount;
|
|
114
|
+
private rowCount;
|
|
115
|
+
private collectPageCount;
|
|
116
|
+
private estimateDatabaseBytes;
|
|
117
|
+
private estimateSpaceObjectsFromSchema;
|
|
118
|
+
private estimatePageSize;
|
|
119
|
+
private metrics;
|
|
120
|
+
private requireDb;
|
|
121
|
+
private requireDictionary;
|
|
122
|
+
}
|