@undefineds.co/xpod 0.3.18 → 0.3.22
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/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/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
|
@@ -5,6 +5,7 @@ export interface RdfTermRow {
|
|
|
5
5
|
id: number;
|
|
6
6
|
kind: RdfTermKind;
|
|
7
7
|
value: string;
|
|
8
|
+
value_head: string;
|
|
8
9
|
datatype_id: number | null;
|
|
9
10
|
lang: string | null;
|
|
10
11
|
hash: string;
|
|
@@ -40,6 +41,7 @@ export interface RdfQuadIndexOptions {
|
|
|
40
41
|
path: string;
|
|
41
42
|
debug?: boolean;
|
|
42
43
|
}
|
|
44
|
+
export type RdfDerivedIndexProfile = 'baseline' | 'rdf3x';
|
|
43
45
|
export interface RdfShadowAutoBackfillOptions {
|
|
44
46
|
enabled?: boolean;
|
|
45
47
|
clear?: boolean;
|
|
@@ -76,6 +78,30 @@ export interface RdfIndexStats {
|
|
|
76
78
|
literalDatatypeDistribution: RdfLiteralDatatypeDistribution[];
|
|
77
79
|
cardinalityDistributions: RdfCardinalityDistributions;
|
|
78
80
|
}
|
|
81
|
+
export interface RdfEngineStorageStats {
|
|
82
|
+
derivedIndexProfile: RdfDerivedIndexProfile;
|
|
83
|
+
facts: RdfIndexStats;
|
|
84
|
+
rdf3x?: {
|
|
85
|
+
stats: Rdf3xIndexStats;
|
|
86
|
+
syncedWithFacts: boolean;
|
|
87
|
+
};
|
|
88
|
+
factsBytes: number;
|
|
89
|
+
derivedBytes: number;
|
|
90
|
+
totalBytes: number;
|
|
91
|
+
derivedToFactsRatio: number;
|
|
92
|
+
totalToFactsRatio: number;
|
|
93
|
+
}
|
|
94
|
+
export interface RdfDerivedIndexRefreshResult {
|
|
95
|
+
derivedIndexProfile: RdfDerivedIndexProfile;
|
|
96
|
+
factsDataVersion: number;
|
|
97
|
+
rdf3x?: {
|
|
98
|
+
refreshed: boolean;
|
|
99
|
+
previousFactsDataVersion: number;
|
|
100
|
+
factsDataVersion: number;
|
|
101
|
+
syncedWithFacts: boolean;
|
|
102
|
+
rebuild?: Rdf3xRebuildResult;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
79
105
|
export interface RdfIndexSpaceObject {
|
|
80
106
|
name: string;
|
|
81
107
|
kind: 'table' | 'index' | 'internal' | 'unknown';
|
|
@@ -138,27 +164,50 @@ export type Rdf3xPatternKey = 'graph' | Rdf3xTermKey;
|
|
|
138
164
|
export type Rdf3xPermutationName = 'SPO' | 'SOP' | 'PSO' | 'POS' | 'OSP' | 'OPS';
|
|
139
165
|
export type Rdf3xPairProjectionName = 'SP' | 'SO' | 'PS' | 'PO' | 'OS' | 'OP';
|
|
140
166
|
export type Rdf3xTermProjectionName = 'S' | 'P' | 'O';
|
|
141
|
-
export interface
|
|
167
|
+
export interface Rdf3xIndexOptions {
|
|
142
168
|
path: string;
|
|
143
169
|
debug?: boolean;
|
|
144
170
|
}
|
|
145
171
|
export interface Rdf3xGraphPrefixPattern {
|
|
146
172
|
$startsWith: string;
|
|
147
173
|
}
|
|
148
|
-
export interface
|
|
174
|
+
export interface Rdf3xTermInPattern {
|
|
175
|
+
$in: Term[];
|
|
176
|
+
}
|
|
177
|
+
export interface Rdf3xTermNotInPattern {
|
|
178
|
+
$notIn: Term[];
|
|
179
|
+
}
|
|
180
|
+
export type Rdf3xTermTypePatternValue = 'iri' | 'blank' | 'literal' | 'numeric';
|
|
181
|
+
export interface Rdf3xTermMetadataPattern {
|
|
182
|
+
$termType?: Rdf3xTermTypePatternValue;
|
|
183
|
+
$language?: string;
|
|
184
|
+
$notLanguage?: string;
|
|
185
|
+
$langMatches?: string;
|
|
186
|
+
$datatype?: Term;
|
|
187
|
+
$notDatatype?: Term;
|
|
188
|
+
}
|
|
189
|
+
export interface Rdf3xObjectRangePattern {
|
|
149
190
|
$gt?: Term | string | number;
|
|
150
191
|
$gte?: Term | string | number;
|
|
151
192
|
$lt?: Term | string | number;
|
|
152
193
|
$lte?: Term | string | number;
|
|
153
194
|
}
|
|
195
|
+
export type Rdf3xNumericObjectRangePattern = Rdf3xObjectRangePattern;
|
|
196
|
+
export interface Rdf3xObjectTextSearchPattern {
|
|
197
|
+
$contains?: string;
|
|
198
|
+
$endsWith?: string;
|
|
199
|
+
}
|
|
200
|
+
export interface Rdf3xObjectOperatorPattern extends Rdf3xObjectRangePattern, Rdf3xObjectTextSearchPattern, Rdf3xTermMetadataPattern {
|
|
201
|
+
}
|
|
154
202
|
export interface Rdf3xTriplePattern {
|
|
155
|
-
graph?: Term | Rdf3xGraphPrefixPattern;
|
|
156
|
-
subject?: Term;
|
|
157
|
-
predicate?: Term;
|
|
158
|
-
object?: Term |
|
|
203
|
+
graph?: Term | Rdf3xGraphPrefixPattern | Rdf3xTermInPattern | Rdf3xTermNotInPattern | Rdf3xTermMetadataPattern;
|
|
204
|
+
subject?: Term | Rdf3xTermInPattern | Rdf3xTermNotInPattern | Rdf3xTermMetadataPattern;
|
|
205
|
+
predicate?: Term | Rdf3xTermInPattern | Rdf3xTermNotInPattern | Rdf3xTermMetadataPattern;
|
|
206
|
+
object?: Term | Rdf3xObjectOperatorPattern | Rdf3xTermInPattern | Rdf3xTermNotInPattern;
|
|
159
207
|
}
|
|
160
208
|
export interface Rdf3xTripleScanOptions {
|
|
161
209
|
order?: Array<'graph' | 'subject' | 'predicate' | 'object'>;
|
|
210
|
+
orderDirections?: Array<'asc' | 'desc'>;
|
|
162
211
|
reverse?: boolean;
|
|
163
212
|
limit?: number;
|
|
164
213
|
offset?: number;
|
|
@@ -175,6 +224,10 @@ export interface Rdf3xTripleScanResult {
|
|
|
175
224
|
quads: Quad[];
|
|
176
225
|
metrics: Rdf3xIndexMetrics;
|
|
177
226
|
}
|
|
227
|
+
export interface Rdf3xCountResult {
|
|
228
|
+
count: number;
|
|
229
|
+
metrics: Rdf3xIndexMetrics;
|
|
230
|
+
}
|
|
178
231
|
export interface Rdf3xJoinOptions {
|
|
179
232
|
orderBy?: RdfQuadJoinOrder[];
|
|
180
233
|
limit?: number;
|
|
@@ -182,6 +235,7 @@ export interface Rdf3xJoinOptions {
|
|
|
182
235
|
project?: string[];
|
|
183
236
|
distinct?: boolean;
|
|
184
237
|
countMatchedRows?: boolean;
|
|
238
|
+
values?: RdfValuesBindingSource[];
|
|
185
239
|
}
|
|
186
240
|
export interface Rdf3xJoinMetrics {
|
|
187
241
|
engine: 'solid-rdf3x';
|
|
@@ -200,6 +254,7 @@ export interface Rdf3xRebuildResult {
|
|
|
200
254
|
uniqueTriples: number;
|
|
201
255
|
memberships: number;
|
|
202
256
|
projectionRows: number;
|
|
257
|
+
factsDataVersion: number;
|
|
203
258
|
durationMs: number;
|
|
204
259
|
}
|
|
205
260
|
export interface Rdf3xCardinalityEstimate {
|
|
@@ -212,6 +267,7 @@ export interface Rdf3xIndexStats {
|
|
|
212
267
|
uniqueTriples: number;
|
|
213
268
|
membershipCount: number;
|
|
214
269
|
graphCount: number;
|
|
270
|
+
factsDataVersion: number;
|
|
215
271
|
permutationRows: Record<Rdf3xPermutationName, number>;
|
|
216
272
|
pairProjectionRows: Record<Rdf3xPairProjectionName, number>;
|
|
217
273
|
termProjectionRows: Record<Rdf3xTermProjectionName, number>;
|
|
@@ -311,6 +367,7 @@ export interface RdfQueryAggregate {
|
|
|
311
367
|
as: string;
|
|
312
368
|
variable?: string;
|
|
313
369
|
distinct?: boolean;
|
|
370
|
+
distinctVariables?: string[];
|
|
314
371
|
}
|
|
315
372
|
export type RdfBindExpression = {
|
|
316
373
|
type: 'term';
|
|
@@ -330,6 +387,14 @@ export type RdfBindExpression = {
|
|
|
330
387
|
} | {
|
|
331
388
|
type: 'upperCase';
|
|
332
389
|
expression: RdfBindExpression;
|
|
390
|
+
} | {
|
|
391
|
+
type: 'coalesce';
|
|
392
|
+
expressions: RdfBindExpression[];
|
|
393
|
+
} | {
|
|
394
|
+
type: 'if';
|
|
395
|
+
condition: RdfQueryFilter[];
|
|
396
|
+
then: RdfBindExpression;
|
|
397
|
+
else: RdfBindExpression;
|
|
333
398
|
} | {
|
|
334
399
|
type: 'substring';
|
|
335
400
|
expression: RdfBindExpression;
|
|
@@ -342,12 +407,20 @@ export type RdfBindExpression = {
|
|
|
342
407
|
type: 'iri';
|
|
343
408
|
expression: RdfBindExpression;
|
|
344
409
|
base: string;
|
|
410
|
+
} | {
|
|
411
|
+
type: 'strdt';
|
|
412
|
+
lexical: RdfBindExpression;
|
|
413
|
+
datatype: RdfBindExpression;
|
|
414
|
+
} | {
|
|
415
|
+
type: 'strlang';
|
|
416
|
+
lexical: RdfBindExpression;
|
|
417
|
+
language: RdfBindExpression;
|
|
345
418
|
};
|
|
346
419
|
export interface RdfQueryBind {
|
|
347
420
|
variable: string;
|
|
348
421
|
expression: RdfBindExpression;
|
|
349
422
|
}
|
|
350
|
-
export type RdfQueryFilterOperator = '$eq' | '$ne' | '$gt' | '$gte' | '$lt' | '$lte' | '$in' | '$notIn' | '$startsWith' | '$contains' | '$endsWith' | '$regex' | '$bound' | '$termType' | '$sameTerm' | '$lang' | '$notLang' | '$langMatches' | '$datatype' | '$notDatatype';
|
|
423
|
+
export type RdfQueryFilterOperator = '$eq' | '$ne' | '$gt' | '$gte' | '$lt' | '$lte' | '$in' | '$notIn' | '$startsWith' | '$contains' | '$endsWith' | '$regex' | '$notStartsWith' | '$notContains' | '$notEndsWith' | '$notRegex' | '$bound' | '$termType' | '$notTermType' | '$sameTerm' | '$notSameTerm' | '$lang' | '$notLang' | '$langIn' | '$notLangIn' | '$langMatches' | '$notLangMatches' | '$datatype' | '$notDatatype' | '$datatypeIn' | '$notDatatypeIn';
|
|
351
424
|
export type RdfQueryFilterValue = Term | string | number | boolean;
|
|
352
425
|
export interface RdfQueryFilter {
|
|
353
426
|
variable: string;
|
|
@@ -446,6 +519,7 @@ export interface RdfLocalQuery {
|
|
|
446
519
|
export interface RdfUnionQueryBranch {
|
|
447
520
|
patterns: RdfQueryPattern[];
|
|
448
521
|
values?: RdfValuesBindingSource[];
|
|
522
|
+
unions?: RdfUnionQueryGroup[];
|
|
449
523
|
optional?: Array<RdfQueryPattern[] | RdfOptionalQueryGroup>;
|
|
450
524
|
binds?: RdfQueryBind[];
|
|
451
525
|
filters?: RdfQueryFilter[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/storage/rdf/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Quad, Term } from '@rdfjs/types';\nimport type { QueryOptions, QuintPattern, TermMatch, TermName } from '../quint/types';\n\nexport type RdfTermKind = 'iri' | 'literal' | 'blank' | 'default_graph';\n\nexport interface RdfTermRow {\n id: number;\n kind: RdfTermKind;\n value: string;\n datatype_id: number | null;\n lang: string | null;\n hash: string;\n normalized_text: string | null;\n numeric_value: number | null;\n created_at: string;\n}\n\nexport interface RdfSourceInput {\n source: string;\n workspace: string;\n localPath?: string;\n contentType?: string;\n sourceVersion?: string;\n}\n\nexport interface RdfSourceRow {\n id: number;\n source: string;\n workspace: string;\n local_path: string | null;\n content_type: string | null;\n last_indexed_at: string | null;\n source_version: string | null;\n}\n\nexport interface RdfQuadRow {\n graph_id: number;\n subject_id: number;\n predicate_id: number;\n object_id: number;\n source_file_id: number | null;\n source_line_no: number | null;\n}\n\nexport interface RdfQuadIndexOptions {\n path: string;\n debug?: boolean;\n}\n\nexport interface RdfShadowAutoBackfillOptions {\n enabled?: boolean;\n clear?: boolean;\n batchSize?: number;\n}\n\nexport interface RdfIndexPutOptions {\n source?: RdfSourceInput;\n sourceLineNo?: number;\n}\n\nexport interface RdfIndexMetrics {\n engine: 'solid-rdf';\n indexChoice: string;\n /** Rows matched before LIMIT/OFFSET are applied. */\n matchedRows: number;\n returnedRows: number;\n durationMs: number;\n queryPlan?: string[];\n}\n\nexport interface RdfCardinalityEstimate {\n rows: number;\n source:\n | 'exact-count'\n | 'cached-exact-count'\n | 'exact-distinct-count'\n | 'cached-exact-distinct-count'\n | 'exact-distinct-tuple-count'\n | 'cached-exact-distinct-tuple-count';\n indexChoice: string;\n}\n\nexport interface RdfIndexStats {\n termCount: number;\n quadCount: number;\n sourceCount: number;\n graphCount: number;\n databaseBytes: number;\n tableBytes: number;\n indexBytes: number;\n spaceObjects: RdfIndexSpaceObject[];\n serializedTermTextBytes: number;\n literalDatatypeDistribution: RdfLiteralDatatypeDistribution[];\n cardinalityDistributions: RdfCardinalityDistributions;\n}\n\nexport interface RdfIndexSpaceObject {\n name: string;\n kind: 'table' | 'index' | 'internal' | 'unknown';\n tableName?: string;\n bytes: number;\n pages: number;\n estimated?: boolean;\n}\n\nexport interface RdfLiteralDatatypeDistribution {\n datatype: string;\n termCount: number;\n objectQuadCount: number;\n}\n\nexport interface RdfCardinalityTerm {\n value: string;\n kind: RdfTermKind;\n datatype?: string;\n language?: string;\n}\n\nexport interface RdfGraphCardinality {\n graph: RdfCardinalityTerm;\n quadCount: number;\n distinctSubjects: number;\n distinctPredicates: number;\n distinctObjects: number;\n}\n\nexport interface RdfPredicateCardinality {\n predicate: RdfCardinalityTerm;\n quadCount: number;\n graphCount: number;\n distinctSubjects: number;\n distinctObjects: number;\n}\n\nexport interface RdfPredicateObjectCardinality {\n predicate: RdfCardinalityTerm;\n object: RdfCardinalityTerm;\n quadCount: number;\n graphCount: number;\n distinctSubjects: number;\n}\n\nexport interface RdfSubjectPredicateCardinality {\n subject: RdfCardinalityTerm;\n predicate: RdfCardinalityTerm;\n quadCount: number;\n graphCount: number;\n distinctObjects: number;\n}\n\nexport interface RdfCardinalityDistributions {\n graphs: RdfGraphCardinality[];\n predicates: RdfPredicateCardinality[];\n predicateObjects: RdfPredicateObjectCardinality[];\n subjectPredicates: RdfSubjectPredicateCardinality[];\n}\n\nexport interface RdfQuadIndexScanResult {\n quads: Quad[];\n metrics: RdfIndexMetrics;\n}\n\nexport type Rdf3xTermKey = 'subject' | 'predicate' | 'object';\nexport type Rdf3xPatternKey = 'graph' | Rdf3xTermKey;\nexport type Rdf3xPermutationName = 'SPO' | 'SOP' | 'PSO' | 'POS' | 'OSP' | 'OPS';\nexport type Rdf3xPairProjectionName = 'SP' | 'SO' | 'PS' | 'PO' | 'OS' | 'OP';\nexport type Rdf3xTermProjectionName = 'S' | 'P' | 'O';\n\nexport interface Rdf3xTripleIndexOptions {\n path: string;\n debug?: boolean;\n}\n\nexport interface Rdf3xGraphPrefixPattern {\n $startsWith: string;\n}\n\nexport interface Rdf3xNumericObjectRangePattern {\n $gt?: Term | string | number;\n $gte?: Term | string | number;\n $lt?: Term | string | number;\n $lte?: Term | string | number;\n}\n\nexport interface Rdf3xTriplePattern {\n graph?: Term | Rdf3xGraphPrefixPattern;\n subject?: Term;\n predicate?: Term;\n object?: Term | Rdf3xNumericObjectRangePattern;\n}\n\nexport interface Rdf3xTripleScanOptions {\n order?: Array<'graph' | 'subject' | 'predicate' | 'object'>;\n reverse?: boolean;\n limit?: number;\n offset?: number;\n}\n\nexport interface Rdf3xIndexMetrics {\n engine: 'solid-rdf3x';\n indexChoice: Rdf3xPermutationName | 'source-membership' | 'none';\n matchedRows: number;\n returnedRows: number;\n durationMs: number;\n queryPlan?: string[];\n}\n\nexport interface Rdf3xTripleScanResult {\n quads: Quad[];\n metrics: Rdf3xIndexMetrics;\n}\n\nexport interface Rdf3xJoinOptions {\n orderBy?: RdfQuadJoinOrder[];\n limit?: number;\n offset?: number;\n project?: string[];\n distinct?: boolean;\n countMatchedRows?: boolean;\n}\n\nexport interface Rdf3xJoinMetrics {\n engine: 'solid-rdf3x';\n indexChoice: string;\n matchedRows: number;\n returnedRows: number;\n durationMs: number;\n queryPlan?: string[];\n}\n\nexport interface Rdf3xJoinScanResult {\n bindings: RdfBindingRow[];\n metrics: Rdf3xJoinMetrics;\n}\n\nexport interface Rdf3xRebuildResult {\n scannedQuads: number;\n uniqueTriples: number;\n memberships: number;\n projectionRows: number;\n durationMs: number;\n}\n\nexport interface Rdf3xCardinalityEstimate {\n uniqueTriples: number;\n matchingQuads: number;\n source: 'projection-stat' | 'term-stat' | 'exact-triple' | 'exact-membership' | 'full-count';\n indexChoice: Rdf3xPermutationName | 'source-membership' | 'none';\n}\n\nexport interface Rdf3xIndexStats {\n uniqueTriples: number;\n membershipCount: number;\n graphCount: number;\n permutationRows: Record<Rdf3xPermutationName, number>;\n pairProjectionRows: Record<Rdf3xPairProjectionName, number>;\n termProjectionRows: Record<Rdf3xTermProjectionName, number>;\n databaseBytes: number;\n tableBytes: number;\n indexBytes: number;\n spaceObjects: RdfIndexSpaceObject[];\n}\n\nexport interface Rdf3xShadowBindingDiff {\n missingFromRdf3x: string[];\n extraInRdf3x: string[];\n}\n\nexport interface Rdf3xShadowQuadDiff {\n missingFromRdf3x: string[];\n extraInRdf3x: string[];\n}\n\nexport interface Rdf3xShadowScanResult {\n matched: boolean;\n orderedMatch: boolean;\n primary: Quad[];\n rdf3x: Quad[];\n diff: Rdf3xShadowQuadDiff;\n primaryMetrics: RdfIndexMetrics;\n rdf3xMetrics: Rdf3xIndexMetrics;\n rebuild: Rdf3xRebuildResult;\n}\n\nexport interface Rdf3xShadowJoinResult {\n matched: boolean;\n orderedMatch: boolean;\n primary: RdfBindingRow[];\n rdf3x: RdfBindingRow[];\n diff: Rdf3xShadowBindingDiff;\n primaryMetrics: RdfIndexMetrics;\n rdf3xMetrics: Rdf3xJoinMetrics;\n rebuild: Rdf3xRebuildResult;\n}\n\nexport type RdfQuadTupleConstraint = Partial<Record<RdfQueryPatternKey, Term>>;\n\nexport interface RdfQuadTupleConstraintSource {\n columns: RdfQueryPatternKey[];\n rows: RdfQuadTupleConstraint[];\n}\n\nexport interface RdfQuadJoinPattern {\n pattern: QuintPattern;\n variables: Partial<Record<RdfQueryPatternKey, string>>;\n}\n\nexport interface RdfQuadJoinOrder {\n variable: string;\n direction?: 'asc' | 'desc';\n}\n\nexport interface RdfQuadScanOptions extends QueryOptions {\n orderDirections?: Array<'asc' | 'desc'>;\n}\n\nexport interface RdfQuadJoinOptions {\n orderBy?: RdfQuadJoinOrder[];\n limit?: number;\n offset?: number;\n project?: string[];\n distinct?: boolean;\n countMatchedRows?: boolean;\n}\n\nexport interface RdfQuadJoinAggregateOptions {\n aggregates: RdfQueryAggregate[];\n}\n\nexport type RdfQuadJoinCountOptions = RdfQuadJoinAggregateOptions;\n\nexport interface RdfQuadJoinGroupAggregateHaving {\n aggregate: string;\n operator: '$eq' | '$ne' | '$gt' | '$gte' | '$lt' | '$lte';\n value: number;\n}\n\nexport type RdfQuadJoinGroupCountHaving = RdfQuadJoinGroupAggregateHaving;\n\nexport interface RdfPatternQuery {\n pattern: QuintPattern;\n options?: QueryOptions;\n}\n\nexport interface RdfQueryVariable {\n variable: string;\n}\n\nexport type RdfQueryTermPattern = TermMatch | RdfQueryVariable;\n\nexport interface RdfQueryPattern {\n graph?: RdfQueryTermPattern;\n subject?: RdfQueryTermPattern;\n predicate?: RdfQueryTermPattern;\n object?: RdfQueryTermPattern;\n}\n\nexport interface RdfConstructTemplate {\n subject: RdfQueryTermPattern;\n predicate: RdfQueryTermPattern;\n object: RdfQueryTermPattern;\n}\n\nexport interface RdfQueryOrder {\n variable: string;\n direction?: 'asc' | 'desc';\n}\n\nexport type RdfQueryAggregateType = 'count' | 'sum' | 'avg' | 'min' | 'max';\n\nexport interface RdfQueryAggregate {\n type: RdfQueryAggregateType;\n as: string;\n variable?: string;\n distinct?: boolean;\n}\n\nexport type RdfBindExpression =\n | { type: 'term'; term: Term }\n | { type: 'variable'; variable: string }\n | { type: 'stringValue'; variable: string }\n | { type: 'stringLength'; variable: string }\n | { type: 'lowerCase'; expression: RdfBindExpression }\n | { type: 'upperCase'; expression: RdfBindExpression }\n | {\n type: 'substring';\n expression: RdfBindExpression;\n start: RdfBindExpression;\n length?: RdfBindExpression;\n }\n | { type: 'concat'; expressions: RdfBindExpression[] }\n | { type: 'iri'; expression: RdfBindExpression; base: string };\n\nexport interface RdfQueryBind {\n variable: string;\n expression: RdfBindExpression;\n}\n\nexport type RdfQueryFilterOperator =\n | '$eq'\n | '$ne'\n | '$gt'\n | '$gte'\n | '$lt'\n | '$lte'\n | '$in'\n | '$notIn'\n | '$startsWith'\n | '$contains'\n | '$endsWith'\n | '$regex'\n | '$bound'\n | '$termType'\n | '$sameTerm'\n | '$lang'\n | '$notLang'\n | '$langMatches'\n | '$datatype'\n | '$notDatatype';\n\nexport type RdfQueryFilterValue = Term | string | number | boolean;\n\nexport interface RdfQueryFilter {\n variable: string;\n operator: RdfQueryFilterOperator;\n operand?: 'stringLength' | 'stringValue' | 'lowerStringValue' | 'upperStringValue';\n value?: RdfQueryFilterValue;\n values?: RdfQueryFilterValue[];\n variable2?: string;\n flags?: string;\n source?: 'filter' | 'values';\n}\n\nexport interface RdfValuesBindingSource {\n variables: string[];\n rows: RdfBindingRow[];\n}\n\nexport interface RdfSearchScope {\n workspace?: string;\n sourcePrefix?: string;\n}\n\nexport interface RdfTextSearchPattern {\n query: string;\n scope?: RdfSearchScope;\n limit?: number;\n offset?: number;\n orderBy?: RdfTextSearchOrder[];\n source?: string;\n chunk?: string;\n content?: string;\n heading?: string;\n score?: string;\n workspace?: string;\n localPath?: string;\n contentType?: string;\n ordinal?: string;\n level?: string;\n startOffset?: string;\n endOffset?: string;\n}\n\nexport type RdfVectorDistanceMetric = 'cosine' | 'dot' | 'euclidean';\n\nexport type RdfSearchOrderDirection = 'asc' | 'desc';\nexport type RdfTextSearchOrderField = 'score' | 'source' | 'localPath' | 'ordinal' | 'startOffset' | 'endOffset';\nexport type RdfVectorSearchOrderField = RdfTextSearchOrderField | 'distance';\n\nexport interface RdfTextSearchOrder {\n field: RdfTextSearchOrderField;\n direction?: RdfSearchOrderDirection;\n}\n\nexport interface RdfVectorSearchOrder {\n field: RdfVectorSearchOrderField;\n direction?: RdfSearchOrderDirection;\n}\n\nexport interface RdfVectorSearchPattern {\n embedding: number[];\n metric?: RdfVectorDistanceMetric;\n vectorModel?: string;\n scope?: RdfSearchScope;\n limit?: number;\n offset?: number;\n threshold?: number;\n orderBy?: RdfVectorSearchOrder[];\n source?: string;\n chunk?: string;\n content?: string;\n heading?: string;\n score?: string;\n distance?: string;\n workspace?: string;\n localPath?: string;\n contentType?: string;\n ordinal?: string;\n level?: string;\n startOffset?: string;\n endOffset?: string;\n model?: string;\n}\n\nexport interface RdfLocalQuery {\n patterns: RdfQueryPattern[];\n values?: RdfValuesBindingSource[];\n textSearch?: RdfTextSearchPattern[];\n vectorSearch?: RdfVectorSearchPattern[];\n unions?: RdfUnionQueryGroup[];\n minus?: RdfMinusQueryGroup[];\n exists?: RdfExistsQueryGroup[];\n optional?: Array<RdfQueryPattern[] | RdfOptionalQueryGroup>;\n binds?: RdfQueryBind[];\n filters?: RdfQueryFilter[];\n having?: RdfQueryFilter[];\n select?: string[];\n distinct?: boolean;\n groupBy?: string[];\n aggregates?: RdfQueryAggregate[];\n aggregate?: RdfQueryAggregate;\n orderBy?: RdfQueryOrder[];\n limit?: number;\n offset?: number;\n}\n\nexport interface RdfUnionQueryBranch {\n patterns: RdfQueryPattern[];\n values?: RdfValuesBindingSource[];\n optional?: Array<RdfQueryPattern[] | RdfOptionalQueryGroup>;\n binds?: RdfQueryBind[];\n filters?: RdfQueryFilter[];\n}\n\nexport interface RdfUnionQueryGroup {\n branches: RdfUnionQueryBranch[];\n}\n\nexport interface RdfMinusQueryGroup {\n patterns: RdfQueryPattern[];\n values?: RdfValuesBindingSource[];\n unions?: RdfUnionQueryGroup[];\n optional?: Array<RdfQueryPattern[] | RdfOptionalQueryGroup>;\n binds?: RdfQueryBind[];\n filters?: RdfQueryFilter[];\n}\n\nexport interface RdfExistsQueryGroup {\n patterns: RdfQueryPattern[];\n values?: RdfValuesBindingSource[];\n unions?: RdfUnionQueryGroup[];\n optional?: Array<RdfQueryPattern[] | RdfOptionalQueryGroup>;\n binds?: RdfQueryBind[];\n filters?: RdfQueryFilter[];\n}\n\nexport interface RdfOptionalQueryGroup {\n patterns: RdfQueryPattern[];\n values?: RdfValuesBindingSource[];\n unions?: RdfUnionQueryGroup[];\n optional?: Array<RdfQueryPattern[] | RdfOptionalQueryGroup>;\n minus?: RdfMinusQueryGroup[];\n exists?: RdfExistsQueryGroup[];\n binds?: RdfQueryBind[];\n filters?: RdfQueryFilter[];\n}\n\nexport type RdfBindingRow = Record<string, Term>;\n\nexport interface RdfQuadJoinScanResult {\n bindings: RdfBindingRow[];\n metrics: RdfIndexMetrics;\n}\n\nexport interface RdfQuadJoinGroupAggregateOptions {\n groupBy: string[];\n aggregates: RdfQueryAggregate[];\n having?: RdfQuadJoinGroupAggregateHaving[];\n orderBy?: RdfQuadJoinOrder[];\n limit?: number;\n offset?: number;\n}\n\nexport type RdfQuadJoinGroupCountOptions = RdfQuadJoinGroupAggregateOptions;\n\nexport interface RdfLocalQueryMetrics {\n engine: 'solid-rdf';\n plan: string[];\n scannedRows: number;\n joinedRows: number;\n returnedRows: number;\n durationMs: number;\n indexChoices: string[];\n cardinalityEstimates?: number;\n distinctCardinalityEstimates?: number;\n searchCardinalityEstimates?: number;\n filtersApplied: number;\n filtersPushedDown: number;\n}\n\nexport interface RdfLocalQueryResult {\n bindings: RdfBindingRow[];\n count?: number;\n metrics: RdfLocalQueryMetrics;\n}\n\nexport type RdfQueryPatternKey = TermName;\n\nexport interface RdfShadowDiff {\n missingFromPrimary: string[];\n extraInPrimary: string[];\n}\n\nexport interface RdfShadowBackfillOptions {\n clear?: boolean;\n batchSize?: number;\n}\n\nexport interface RdfShadowBackfillResult {\n scannedRows: number;\n indexedRows: number;\n batchCount: number;\n durationMs: number;\n}\n\nexport interface RdfShadowScanResult {\n matched: boolean;\n orderedMatch: boolean;\n primary: Quad[];\n compatibility: Quad[];\n diff: RdfShadowDiff;\n metrics: RdfIndexMetrics;\n}\n\nexport interface RdfTextIndexOptions {\n path: string;\n}\n\nexport interface RdfTextSourceInput {\n source: string;\n workspace: string;\n localPath?: string;\n contentType?: string;\n sourceVersion?: string;\n sourceHash?: string;\n}\n\nexport interface RdfTextChunkInput {\n chunkKey: string;\n ordinal: number;\n level: number;\n heading?: string;\n path?: string[];\n content: string;\n startOffset: number;\n endOffset: number;\n}\n\nexport interface RdfTextChunkRow {\n id: number;\n source_id: number;\n source: string;\n workspace: string;\n local_path: string | null;\n content_type: string | null;\n source_version: string | null;\n source_hash: string | null;\n chunk_key: string;\n ordinal: number;\n level: number;\n heading: string | null;\n path: string | null;\n content: string;\n start_offset: number;\n end_offset: number;\n normalized_text: string;\n token_count: number;\n updated_at: string;\n}\n\nexport interface RdfTextSearchOptions {\n query: string;\n source?: string;\n workspace?: string;\n sourcePrefix?: string;\n limit?: number;\n offset?: number;\n orderBy?: RdfTextSearchOrder[];\n}\n\nexport interface RdfTextSearchResult {\n source: string;\n workspace: string;\n localPath?: string;\n contentType?: string;\n sourceVersion?: string;\n sourceHash?: string;\n chunkKey: string;\n ordinal: number;\n level: number;\n heading?: string;\n path: string[];\n content: string;\n startOffset: number;\n endOffset: number;\n score: number;\n}\n\nexport interface RdfSearchCardinalityEstimate {\n rows: number;\n source: 'text-normalized-scan' | 'text-term-posting' | 'vector-candidate-count' | 'vector-component-score';\n indexChoice: string;\n}\n\nexport interface RdfTextIndexStats {\n sourceCount: number;\n chunkCount: number;\n databaseBytes: number;\n termDocumentFrequency: RdfTextTermDocumentFrequency[];\n}\n\nexport interface RdfTextTermDocumentFrequency {\n term: string;\n sourceCount: number;\n chunkCount: number;\n totalOccurrences: number;\n}\n\nexport interface RdfVectorIndexOptions {\n path: string;\n defaultMetric?: RdfVectorDistanceMetric;\n}\n\nexport interface RdfVectorSourceInput {\n source: string;\n workspace: string;\n localPath?: string;\n contentType?: string;\n sourceVersion?: string;\n sourceHash?: string;\n}\n\nexport interface RdfVectorChunkInput {\n chunkKey: string;\n ordinal: number;\n level: number;\n embedding: number[];\n model?: string;\n heading?: string;\n path?: string[];\n content: string;\n startOffset: number;\n endOffset: number;\n}\n\nexport interface RdfVectorChunkRow {\n id: number;\n source_id: number;\n source: string;\n workspace: string;\n local_path: string | null;\n content_type: string | null;\n source_version: string | null;\n source_hash: string | null;\n chunk_key: string;\n ordinal: number;\n level: number;\n heading: string | null;\n path: string | null;\n content: string;\n start_offset: number;\n end_offset: number;\n embedding_json: string;\n dimensions: number;\n magnitude: number;\n model: string;\n updated_at: string;\n}\n\nexport interface RdfVectorSearchOptions {\n embedding: number[];\n metric?: RdfVectorDistanceMetric;\n model?: string;\n source?: string;\n workspace?: string;\n sourcePrefix?: string;\n limit?: number;\n offset?: number;\n threshold?: number;\n orderBy?: RdfVectorSearchOrder[];\n}\n\nexport interface RdfVectorSearchResult {\n source: string;\n workspace: string;\n localPath?: string;\n contentType?: string;\n sourceVersion?: string;\n sourceHash?: string;\n chunkKey: string;\n ordinal: number;\n level: number;\n heading?: string;\n path: string[];\n content: string;\n startOffset: number;\n endOffset: number;\n embedding: number[];\n model?: string;\n score: number;\n distance: number;\n}\n\nexport interface RdfVectorIndexStats {\n sourceCount: number;\n chunkCount: number;\n componentCount: number;\n databaseBytes: number;\n modelDistribution: RdfVectorModelDistribution[];\n}\n\nexport interface RdfVectorModelDistribution {\n model: string;\n dimensions: number;\n sourceCount: number;\n chunkCount: number;\n minMagnitude: number;\n maxMagnitude: number;\n averageMagnitude: number;\n}\n\nexport interface RdfTermSelection {\n sql: string;\n params: unknown[];\n indexHint: string;\n}\n\nexport interface RdfTermLookup {\n id: number;\n term: Term;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/storage/rdf/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Quad, Term } from '@rdfjs/types';\nimport type { QueryOptions, QuintPattern, TermMatch, TermName } from '../quint/types';\n\nexport type RdfTermKind = 'iri' | 'literal' | 'blank' | 'default_graph';\n\nexport interface RdfTermRow {\n id: number;\n kind: RdfTermKind;\n value: string;\n value_head: string;\n datatype_id: number | null;\n lang: string | null;\n hash: string;\n normalized_text: string | null;\n numeric_value: number | null;\n created_at: string;\n}\n\nexport interface RdfSourceInput {\n source: string;\n workspace: string;\n localPath?: string;\n contentType?: string;\n sourceVersion?: string;\n}\n\nexport interface RdfSourceRow {\n id: number;\n source: string;\n workspace: string;\n local_path: string | null;\n content_type: string | null;\n last_indexed_at: string | null;\n source_version: string | null;\n}\n\nexport interface RdfQuadRow {\n graph_id: number;\n subject_id: number;\n predicate_id: number;\n object_id: number;\n source_file_id: number | null;\n source_line_no: number | null;\n}\n\nexport interface RdfQuadIndexOptions {\n path: string;\n debug?: boolean;\n}\n\nexport type RdfDerivedIndexProfile = 'baseline' | 'rdf3x';\n\nexport interface RdfShadowAutoBackfillOptions {\n enabled?: boolean;\n clear?: boolean;\n batchSize?: number;\n}\n\nexport interface RdfIndexPutOptions {\n source?: RdfSourceInput;\n sourceLineNo?: number;\n}\n\nexport interface RdfIndexMetrics {\n engine: 'solid-rdf';\n indexChoice: string;\n /** Rows matched before LIMIT/OFFSET are applied. */\n matchedRows: number;\n returnedRows: number;\n durationMs: number;\n queryPlan?: string[];\n}\n\nexport interface RdfCardinalityEstimate {\n rows: number;\n source:\n | 'exact-count'\n | 'cached-exact-count'\n | 'exact-distinct-count'\n | 'cached-exact-distinct-count'\n | 'exact-distinct-tuple-count'\n | 'cached-exact-distinct-tuple-count';\n indexChoice: string;\n}\n\nexport interface RdfIndexStats {\n termCount: number;\n quadCount: number;\n sourceCount: number;\n graphCount: number;\n databaseBytes: number;\n tableBytes: number;\n indexBytes: number;\n spaceObjects: RdfIndexSpaceObject[];\n serializedTermTextBytes: number;\n literalDatatypeDistribution: RdfLiteralDatatypeDistribution[];\n cardinalityDistributions: RdfCardinalityDistributions;\n}\n\nexport interface RdfEngineStorageStats {\n derivedIndexProfile: RdfDerivedIndexProfile;\n facts: RdfIndexStats;\n rdf3x?: {\n stats: Rdf3xIndexStats;\n syncedWithFacts: boolean;\n };\n factsBytes: number;\n derivedBytes: number;\n totalBytes: number;\n derivedToFactsRatio: number;\n totalToFactsRatio: number;\n}\n\nexport interface RdfDerivedIndexRefreshResult {\n derivedIndexProfile: RdfDerivedIndexProfile;\n factsDataVersion: number;\n rdf3x?: {\n refreshed: boolean;\n previousFactsDataVersion: number;\n factsDataVersion: number;\n syncedWithFacts: boolean;\n rebuild?: Rdf3xRebuildResult;\n };\n}\n\nexport interface RdfIndexSpaceObject {\n name: string;\n kind: 'table' | 'index' | 'internal' | 'unknown';\n tableName?: string;\n bytes: number;\n pages: number;\n estimated?: boolean;\n}\n\nexport interface RdfLiteralDatatypeDistribution {\n datatype: string;\n termCount: number;\n objectQuadCount: number;\n}\n\nexport interface RdfCardinalityTerm {\n value: string;\n kind: RdfTermKind;\n datatype?: string;\n language?: string;\n}\n\nexport interface RdfGraphCardinality {\n graph: RdfCardinalityTerm;\n quadCount: number;\n distinctSubjects: number;\n distinctPredicates: number;\n distinctObjects: number;\n}\n\nexport interface RdfPredicateCardinality {\n predicate: RdfCardinalityTerm;\n quadCount: number;\n graphCount: number;\n distinctSubjects: number;\n distinctObjects: number;\n}\n\nexport interface RdfPredicateObjectCardinality {\n predicate: RdfCardinalityTerm;\n object: RdfCardinalityTerm;\n quadCount: number;\n graphCount: number;\n distinctSubjects: number;\n}\n\nexport interface RdfSubjectPredicateCardinality {\n subject: RdfCardinalityTerm;\n predicate: RdfCardinalityTerm;\n quadCount: number;\n graphCount: number;\n distinctObjects: number;\n}\n\nexport interface RdfCardinalityDistributions {\n graphs: RdfGraphCardinality[];\n predicates: RdfPredicateCardinality[];\n predicateObjects: RdfPredicateObjectCardinality[];\n subjectPredicates: RdfSubjectPredicateCardinality[];\n}\n\nexport interface RdfQuadIndexScanResult {\n quads: Quad[];\n metrics: RdfIndexMetrics;\n}\n\nexport type Rdf3xTermKey = 'subject' | 'predicate' | 'object';\nexport type Rdf3xPatternKey = 'graph' | Rdf3xTermKey;\nexport type Rdf3xPermutationName = 'SPO' | 'SOP' | 'PSO' | 'POS' | 'OSP' | 'OPS';\nexport type Rdf3xPairProjectionName = 'SP' | 'SO' | 'PS' | 'PO' | 'OS' | 'OP';\nexport type Rdf3xTermProjectionName = 'S' | 'P' | 'O';\n\nexport interface Rdf3xIndexOptions {\n path: string;\n debug?: boolean;\n}\n\nexport interface Rdf3xGraphPrefixPattern {\n $startsWith: string;\n}\n\nexport interface Rdf3xTermInPattern {\n $in: Term[];\n}\n\nexport interface Rdf3xTermNotInPattern {\n $notIn: Term[];\n}\n\nexport type Rdf3xTermTypePatternValue = 'iri' | 'blank' | 'literal' | 'numeric';\n\nexport interface Rdf3xTermMetadataPattern {\n $termType?: Rdf3xTermTypePatternValue;\n $language?: string;\n $notLanguage?: string;\n $langMatches?: string;\n $datatype?: Term;\n $notDatatype?: Term;\n}\n\nexport interface Rdf3xObjectRangePattern {\n $gt?: Term | string | number;\n $gte?: Term | string | number;\n $lt?: Term | string | number;\n $lte?: Term | string | number;\n}\n\nexport type Rdf3xNumericObjectRangePattern = Rdf3xObjectRangePattern;\n\nexport interface Rdf3xObjectTextSearchPattern {\n $contains?: string;\n $endsWith?: string;\n}\n\nexport interface Rdf3xObjectOperatorPattern extends Rdf3xObjectRangePattern, Rdf3xObjectTextSearchPattern, Rdf3xTermMetadataPattern {}\n\nexport interface Rdf3xTriplePattern {\n graph?: Term | Rdf3xGraphPrefixPattern | Rdf3xTermInPattern | Rdf3xTermNotInPattern | Rdf3xTermMetadataPattern;\n subject?: Term | Rdf3xTermInPattern | Rdf3xTermNotInPattern | Rdf3xTermMetadataPattern;\n predicate?: Term | Rdf3xTermInPattern | Rdf3xTermNotInPattern | Rdf3xTermMetadataPattern;\n object?: Term | Rdf3xObjectOperatorPattern | Rdf3xTermInPattern | Rdf3xTermNotInPattern;\n}\n\nexport interface Rdf3xTripleScanOptions {\n order?: Array<'graph' | 'subject' | 'predicate' | 'object'>;\n orderDirections?: Array<'asc' | 'desc'>;\n reverse?: boolean;\n limit?: number;\n offset?: number;\n}\n\nexport interface Rdf3xIndexMetrics {\n engine: 'solid-rdf3x';\n indexChoice: Rdf3xPermutationName | 'source-membership' | 'none';\n matchedRows: number;\n returnedRows: number;\n durationMs: number;\n queryPlan?: string[];\n}\n\nexport interface Rdf3xTripleScanResult {\n quads: Quad[];\n metrics: Rdf3xIndexMetrics;\n}\n\nexport interface Rdf3xCountResult {\n count: number;\n metrics: Rdf3xIndexMetrics;\n}\n\nexport interface Rdf3xJoinOptions {\n orderBy?: RdfQuadJoinOrder[];\n limit?: number;\n offset?: number;\n project?: string[];\n distinct?: boolean;\n countMatchedRows?: boolean;\n values?: RdfValuesBindingSource[];\n}\n\nexport interface Rdf3xJoinMetrics {\n engine: 'solid-rdf3x';\n indexChoice: string;\n matchedRows: number;\n returnedRows: number;\n durationMs: number;\n queryPlan?: string[];\n}\n\nexport interface Rdf3xJoinScanResult {\n bindings: RdfBindingRow[];\n metrics: Rdf3xJoinMetrics;\n}\n\nexport interface Rdf3xRebuildResult {\n scannedQuads: number;\n uniqueTriples: number;\n memberships: number;\n projectionRows: number;\n factsDataVersion: number;\n durationMs: number;\n}\n\nexport interface Rdf3xCardinalityEstimate {\n uniqueTriples: number;\n matchingQuads: number;\n source: 'projection-stat' | 'term-stat' | 'exact-triple' | 'exact-membership' | 'full-count';\n indexChoice: Rdf3xPermutationName | 'source-membership' | 'none';\n}\n\nexport interface Rdf3xIndexStats {\n uniqueTriples: number;\n membershipCount: number;\n graphCount: number;\n factsDataVersion: number;\n permutationRows: Record<Rdf3xPermutationName, number>;\n pairProjectionRows: Record<Rdf3xPairProjectionName, number>;\n termProjectionRows: Record<Rdf3xTermProjectionName, number>;\n databaseBytes: number;\n tableBytes: number;\n indexBytes: number;\n spaceObjects: RdfIndexSpaceObject[];\n}\n\nexport interface Rdf3xShadowBindingDiff {\n missingFromRdf3x: string[];\n extraInRdf3x: string[];\n}\n\nexport interface Rdf3xShadowQuadDiff {\n missingFromRdf3x: string[];\n extraInRdf3x: string[];\n}\n\nexport interface Rdf3xShadowScanResult {\n matched: boolean;\n orderedMatch: boolean;\n primary: Quad[];\n rdf3x: Quad[];\n diff: Rdf3xShadowQuadDiff;\n primaryMetrics: RdfIndexMetrics;\n rdf3xMetrics: Rdf3xIndexMetrics;\n rebuild: Rdf3xRebuildResult;\n}\n\nexport interface Rdf3xShadowJoinResult {\n matched: boolean;\n orderedMatch: boolean;\n primary: RdfBindingRow[];\n rdf3x: RdfBindingRow[];\n diff: Rdf3xShadowBindingDiff;\n primaryMetrics: RdfIndexMetrics;\n rdf3xMetrics: Rdf3xJoinMetrics;\n rebuild: Rdf3xRebuildResult;\n}\n\nexport type RdfQuadTupleConstraint = Partial<Record<RdfQueryPatternKey, Term>>;\n\nexport interface RdfQuadTupleConstraintSource {\n columns: RdfQueryPatternKey[];\n rows: RdfQuadTupleConstraint[];\n}\n\nexport interface RdfQuadJoinPattern {\n pattern: QuintPattern;\n variables: Partial<Record<RdfQueryPatternKey, string>>;\n}\n\nexport interface RdfQuadJoinOrder {\n variable: string;\n direction?: 'asc' | 'desc';\n}\n\nexport interface RdfQuadScanOptions extends QueryOptions {\n orderDirections?: Array<'asc' | 'desc'>;\n}\n\nexport interface RdfQuadJoinOptions {\n orderBy?: RdfQuadJoinOrder[];\n limit?: number;\n offset?: number;\n project?: string[];\n distinct?: boolean;\n countMatchedRows?: boolean;\n}\n\nexport interface RdfQuadJoinAggregateOptions {\n aggregates: RdfQueryAggregate[];\n}\n\nexport type RdfQuadJoinCountOptions = RdfQuadJoinAggregateOptions;\n\nexport interface RdfQuadJoinGroupAggregateHaving {\n aggregate: string;\n operator: '$eq' | '$ne' | '$gt' | '$gte' | '$lt' | '$lte';\n value: number;\n}\n\nexport type RdfQuadJoinGroupCountHaving = RdfQuadJoinGroupAggregateHaving;\n\nexport interface RdfPatternQuery {\n pattern: QuintPattern;\n options?: QueryOptions;\n}\n\nexport interface RdfQueryVariable {\n variable: string;\n}\n\nexport type RdfQueryTermPattern = TermMatch | RdfQueryVariable;\n\nexport interface RdfQueryPattern {\n graph?: RdfQueryTermPattern;\n subject?: RdfQueryTermPattern;\n predicate?: RdfQueryTermPattern;\n object?: RdfQueryTermPattern;\n}\n\nexport interface RdfConstructTemplate {\n subject: RdfQueryTermPattern;\n predicate: RdfQueryTermPattern;\n object: RdfQueryTermPattern;\n}\n\nexport interface RdfQueryOrder {\n variable: string;\n direction?: 'asc' | 'desc';\n}\n\nexport type RdfQueryAggregateType = 'count' | 'sum' | 'avg' | 'min' | 'max';\n\nexport interface RdfQueryAggregate {\n type: RdfQueryAggregateType;\n as: string;\n variable?: string;\n distinct?: boolean;\n distinctVariables?: string[];\n}\n\nexport type RdfBindExpression =\n | { type: 'term'; term: Term }\n | { type: 'variable'; variable: string }\n | { type: 'stringValue'; variable: string }\n | { type: 'stringLength'; variable: string }\n | { type: 'lowerCase'; expression: RdfBindExpression }\n | { type: 'upperCase'; expression: RdfBindExpression }\n | { type: 'coalesce'; expressions: RdfBindExpression[] }\n | { type: 'if'; condition: RdfQueryFilter[]; then: RdfBindExpression; else: RdfBindExpression }\n | {\n type: 'substring';\n expression: RdfBindExpression;\n start: RdfBindExpression;\n length?: RdfBindExpression;\n }\n | { type: 'concat'; expressions: RdfBindExpression[] }\n | { type: 'iri'; expression: RdfBindExpression; base: string }\n | { type: 'strdt'; lexical: RdfBindExpression; datatype: RdfBindExpression }\n | { type: 'strlang'; lexical: RdfBindExpression; language: RdfBindExpression };\n\nexport interface RdfQueryBind {\n variable: string;\n expression: RdfBindExpression;\n}\n\nexport type RdfQueryFilterOperator =\n | '$eq'\n | '$ne'\n | '$gt'\n | '$gte'\n | '$lt'\n | '$lte'\n | '$in'\n | '$notIn'\n | '$startsWith'\n | '$contains'\n | '$endsWith'\n | '$regex'\n | '$notStartsWith'\n | '$notContains'\n | '$notEndsWith'\n | '$notRegex'\n | '$bound'\n | '$termType'\n | '$notTermType'\n | '$sameTerm'\n | '$notSameTerm'\n | '$lang'\n | '$notLang'\n | '$langIn'\n | '$notLangIn'\n | '$langMatches'\n | '$notLangMatches'\n | '$datatype'\n | '$notDatatype'\n | '$datatypeIn'\n | '$notDatatypeIn';\n\nexport type RdfQueryFilterValue = Term | string | number | boolean;\n\nexport interface RdfQueryFilter {\n variable: string;\n operator: RdfQueryFilterOperator;\n operand?: 'stringLength' | 'stringValue' | 'lowerStringValue' | 'upperStringValue';\n value?: RdfQueryFilterValue;\n values?: RdfQueryFilterValue[];\n variable2?: string;\n flags?: string;\n source?: 'filter' | 'values';\n}\n\nexport interface RdfValuesBindingSource {\n variables: string[];\n rows: RdfBindingRow[];\n}\n\nexport interface RdfSearchScope {\n workspace?: string;\n sourcePrefix?: string;\n}\n\nexport interface RdfTextSearchPattern {\n query: string;\n scope?: RdfSearchScope;\n limit?: number;\n offset?: number;\n orderBy?: RdfTextSearchOrder[];\n source?: string;\n chunk?: string;\n content?: string;\n heading?: string;\n score?: string;\n workspace?: string;\n localPath?: string;\n contentType?: string;\n ordinal?: string;\n level?: string;\n startOffset?: string;\n endOffset?: string;\n}\n\nexport type RdfVectorDistanceMetric = 'cosine' | 'dot' | 'euclidean';\n\nexport type RdfSearchOrderDirection = 'asc' | 'desc';\nexport type RdfTextSearchOrderField = 'score' | 'source' | 'localPath' | 'ordinal' | 'startOffset' | 'endOffset';\nexport type RdfVectorSearchOrderField = RdfTextSearchOrderField | 'distance';\n\nexport interface RdfTextSearchOrder {\n field: RdfTextSearchOrderField;\n direction?: RdfSearchOrderDirection;\n}\n\nexport interface RdfVectorSearchOrder {\n field: RdfVectorSearchOrderField;\n direction?: RdfSearchOrderDirection;\n}\n\nexport interface RdfVectorSearchPattern {\n embedding: number[];\n metric?: RdfVectorDistanceMetric;\n vectorModel?: string;\n scope?: RdfSearchScope;\n limit?: number;\n offset?: number;\n threshold?: number;\n orderBy?: RdfVectorSearchOrder[];\n source?: string;\n chunk?: string;\n content?: string;\n heading?: string;\n score?: string;\n distance?: string;\n workspace?: string;\n localPath?: string;\n contentType?: string;\n ordinal?: string;\n level?: string;\n startOffset?: string;\n endOffset?: string;\n model?: string;\n}\n\nexport interface RdfLocalQuery {\n patterns: RdfQueryPattern[];\n values?: RdfValuesBindingSource[];\n textSearch?: RdfTextSearchPattern[];\n vectorSearch?: RdfVectorSearchPattern[];\n unions?: RdfUnionQueryGroup[];\n minus?: RdfMinusQueryGroup[];\n exists?: RdfExistsQueryGroup[];\n optional?: Array<RdfQueryPattern[] | RdfOptionalQueryGroup>;\n binds?: RdfQueryBind[];\n filters?: RdfQueryFilter[];\n having?: RdfQueryFilter[];\n select?: string[];\n distinct?: boolean;\n groupBy?: string[];\n aggregates?: RdfQueryAggregate[];\n aggregate?: RdfQueryAggregate;\n orderBy?: RdfQueryOrder[];\n limit?: number;\n offset?: number;\n}\n\nexport interface RdfUnionQueryBranch {\n patterns: RdfQueryPattern[];\n values?: RdfValuesBindingSource[];\n unions?: RdfUnionQueryGroup[];\n optional?: Array<RdfQueryPattern[] | RdfOptionalQueryGroup>;\n binds?: RdfQueryBind[];\n filters?: RdfQueryFilter[];\n}\n\nexport interface RdfUnionQueryGroup {\n branches: RdfUnionQueryBranch[];\n}\n\nexport interface RdfMinusQueryGroup {\n patterns: RdfQueryPattern[];\n values?: RdfValuesBindingSource[];\n unions?: RdfUnionQueryGroup[];\n optional?: Array<RdfQueryPattern[] | RdfOptionalQueryGroup>;\n binds?: RdfQueryBind[];\n filters?: RdfQueryFilter[];\n}\n\nexport interface RdfExistsQueryGroup {\n patterns: RdfQueryPattern[];\n values?: RdfValuesBindingSource[];\n unions?: RdfUnionQueryGroup[];\n optional?: Array<RdfQueryPattern[] | RdfOptionalQueryGroup>;\n binds?: RdfQueryBind[];\n filters?: RdfQueryFilter[];\n}\n\nexport interface RdfOptionalQueryGroup {\n patterns: RdfQueryPattern[];\n values?: RdfValuesBindingSource[];\n unions?: RdfUnionQueryGroup[];\n optional?: Array<RdfQueryPattern[] | RdfOptionalQueryGroup>;\n minus?: RdfMinusQueryGroup[];\n exists?: RdfExistsQueryGroup[];\n binds?: RdfQueryBind[];\n filters?: RdfQueryFilter[];\n}\n\nexport type RdfBindingRow = Record<string, Term>;\n\nexport interface RdfQuadJoinScanResult {\n bindings: RdfBindingRow[];\n metrics: RdfIndexMetrics;\n}\n\nexport interface RdfQuadJoinGroupAggregateOptions {\n groupBy: string[];\n aggregates: RdfQueryAggregate[];\n having?: RdfQuadJoinGroupAggregateHaving[];\n orderBy?: RdfQuadJoinOrder[];\n limit?: number;\n offset?: number;\n}\n\nexport type RdfQuadJoinGroupCountOptions = RdfQuadJoinGroupAggregateOptions;\n\nexport interface RdfLocalQueryMetrics {\n engine: 'solid-rdf';\n plan: string[];\n scannedRows: number;\n joinedRows: number;\n returnedRows: number;\n durationMs: number;\n indexChoices: string[];\n cardinalityEstimates?: number;\n distinctCardinalityEstimates?: number;\n searchCardinalityEstimates?: number;\n filtersApplied: number;\n filtersPushedDown: number;\n}\n\nexport interface RdfLocalQueryResult {\n bindings: RdfBindingRow[];\n count?: number;\n metrics: RdfLocalQueryMetrics;\n}\n\nexport type RdfQueryPatternKey = TermName;\n\nexport interface RdfShadowDiff {\n missingFromPrimary: string[];\n extraInPrimary: string[];\n}\n\nexport interface RdfShadowBackfillOptions {\n clear?: boolean;\n batchSize?: number;\n}\n\nexport interface RdfShadowBackfillResult {\n scannedRows: number;\n indexedRows: number;\n batchCount: number;\n durationMs: number;\n}\n\nexport interface RdfShadowScanResult {\n matched: boolean;\n orderedMatch: boolean;\n primary: Quad[];\n compatibility: Quad[];\n diff: RdfShadowDiff;\n metrics: RdfIndexMetrics;\n}\n\nexport interface RdfTextIndexOptions {\n path: string;\n}\n\nexport interface RdfTextSourceInput {\n source: string;\n workspace: string;\n localPath?: string;\n contentType?: string;\n sourceVersion?: string;\n sourceHash?: string;\n}\n\nexport interface RdfTextChunkInput {\n chunkKey: string;\n ordinal: number;\n level: number;\n heading?: string;\n path?: string[];\n content: string;\n startOffset: number;\n endOffset: number;\n}\n\nexport interface RdfTextChunkRow {\n id: number;\n source_id: number;\n source: string;\n workspace: string;\n local_path: string | null;\n content_type: string | null;\n source_version: string | null;\n source_hash: string | null;\n chunk_key: string;\n ordinal: number;\n level: number;\n heading: string | null;\n path: string | null;\n content: string;\n start_offset: number;\n end_offset: number;\n normalized_text: string;\n token_count: number;\n updated_at: string;\n}\n\nexport interface RdfTextSearchOptions {\n query: string;\n source?: string;\n workspace?: string;\n sourcePrefix?: string;\n limit?: number;\n offset?: number;\n orderBy?: RdfTextSearchOrder[];\n}\n\nexport interface RdfTextSearchResult {\n source: string;\n workspace: string;\n localPath?: string;\n contentType?: string;\n sourceVersion?: string;\n sourceHash?: string;\n chunkKey: string;\n ordinal: number;\n level: number;\n heading?: string;\n path: string[];\n content: string;\n startOffset: number;\n endOffset: number;\n score: number;\n}\n\nexport interface RdfSearchCardinalityEstimate {\n rows: number;\n source: 'text-normalized-scan' | 'text-term-posting' | 'vector-candidate-count' | 'vector-component-score';\n indexChoice: string;\n}\n\nexport interface RdfTextIndexStats {\n sourceCount: number;\n chunkCount: number;\n databaseBytes: number;\n termDocumentFrequency: RdfTextTermDocumentFrequency[];\n}\n\nexport interface RdfTextTermDocumentFrequency {\n term: string;\n sourceCount: number;\n chunkCount: number;\n totalOccurrences: number;\n}\n\nexport interface RdfVectorIndexOptions {\n path: string;\n defaultMetric?: RdfVectorDistanceMetric;\n}\n\nexport interface RdfVectorSourceInput {\n source: string;\n workspace: string;\n localPath?: string;\n contentType?: string;\n sourceVersion?: string;\n sourceHash?: string;\n}\n\nexport interface RdfVectorChunkInput {\n chunkKey: string;\n ordinal: number;\n level: number;\n embedding: number[];\n model?: string;\n heading?: string;\n path?: string[];\n content: string;\n startOffset: number;\n endOffset: number;\n}\n\nexport interface RdfVectorChunkRow {\n id: number;\n source_id: number;\n source: string;\n workspace: string;\n local_path: string | null;\n content_type: string | null;\n source_version: string | null;\n source_hash: string | null;\n chunk_key: string;\n ordinal: number;\n level: number;\n heading: string | null;\n path: string | null;\n content: string;\n start_offset: number;\n end_offset: number;\n embedding_json: string;\n dimensions: number;\n magnitude: number;\n model: string;\n updated_at: string;\n}\n\nexport interface RdfVectorSearchOptions {\n embedding: number[];\n metric?: RdfVectorDistanceMetric;\n model?: string;\n source?: string;\n workspace?: string;\n sourcePrefix?: string;\n limit?: number;\n offset?: number;\n threshold?: number;\n orderBy?: RdfVectorSearchOrder[];\n}\n\nexport interface RdfVectorSearchResult {\n source: string;\n workspace: string;\n localPath?: string;\n contentType?: string;\n sourceVersion?: string;\n sourceHash?: string;\n chunkKey: string;\n ordinal: number;\n level: number;\n heading?: string;\n path: string[];\n content: string;\n startOffset: number;\n endOffset: number;\n embedding: number[];\n model?: string;\n score: number;\n distance: number;\n}\n\nexport interface RdfVectorIndexStats {\n sourceCount: number;\n chunkCount: number;\n componentCount: number;\n databaseBytes: number;\n modelDistribution: RdfVectorModelDistribution[];\n}\n\nexport interface RdfVectorModelDistribution {\n model: string;\n dimensions: number;\n sourceCount: number;\n chunkCount: number;\n minMagnitude: number;\n maxMagnitude: number;\n averageMagnitude: number;\n}\n\nexport interface RdfTermSelection {\n sql: string;\n params: unknown[];\n indexHint: string;\n}\n\nexport interface RdfTermLookup {\n id: number;\n term: Term;\n}\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { Quad } from '@rdfjs/types';
|
|
2
|
+
import type { AsyncIterator } from 'asynciterator';
|
|
3
|
+
import type { SparqlEngine } from './SubgraphQueryEngine';
|
|
4
|
+
import type { QuintStore } from '../quint/types';
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated Compatibility wrapper preserved for older call sites.
|
|
7
|
+
* Mainline xpod uses SolidRdfEngine for server-owned Pod queries.
|
|
8
|
+
*
|
|
9
|
+
* This file intentionally avoids static Comunica imports so exposing the
|
|
10
|
+
* component type does not load the compatibility implementation.
|
|
11
|
+
*/
|
|
12
|
+
export declare class QuadstoreSparqlEngine implements SparqlEngine {
|
|
13
|
+
private readonly delegate;
|
|
14
|
+
constructor(endpoint: string);
|
|
15
|
+
queryBindings(query: string, basePath: string): Promise<any>;
|
|
16
|
+
queryQuads(query: string, basePath: string): Promise<any>;
|
|
17
|
+
queryBoolean(query: string, basePath: string): Promise<boolean>;
|
|
18
|
+
queryVoid(query: string, basePath: string): Promise<void>;
|
|
19
|
+
constructGraph(graph: string, basePath: string): Promise<AsyncIterator<Quad>>;
|
|
20
|
+
listGraphs(basePath: string): Promise<Set<string>>;
|
|
21
|
+
close(): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Comunica-backed compatibility engine component.
|
|
25
|
+
*/
|
|
26
|
+
export declare class QuintstoreSparqlEngine implements SparqlEngine {
|
|
27
|
+
private readonly delegate;
|
|
28
|
+
constructor(store: QuintStore);
|
|
29
|
+
queryBindings(query: string, basePath: string): Promise<any>;
|
|
30
|
+
queryQuads(query: string, basePath: string): Promise<any>;
|
|
31
|
+
queryBoolean(query: string, basePath: string): Promise<boolean>;
|
|
32
|
+
queryVoid(query: string, basePath: string): Promise<void>;
|
|
33
|
+
constructGraph(graph: string, basePath: string): Promise<AsyncIterator<Quad>>;
|
|
34
|
+
listGraphs(basePath: string): Promise<Set<string>>;
|
|
35
|
+
close(): Promise<void>;
|
|
36
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.QuintstoreSparqlEngine = exports.QuadstoreSparqlEngine = void 0;
|
|
27
|
+
async function loadCompatibilityModule() {
|
|
28
|
+
return Promise.resolve().then(() => __importStar(require('./CompatibilitySparqlEngineImpl')));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated Compatibility wrapper preserved for older call sites.
|
|
32
|
+
* Mainline xpod uses SolidRdfEngine for server-owned Pod queries.
|
|
33
|
+
*
|
|
34
|
+
* This file intentionally avoids static Comunica imports so exposing the
|
|
35
|
+
* component type does not load the compatibility implementation.
|
|
36
|
+
*/
|
|
37
|
+
class QuadstoreSparqlEngine {
|
|
38
|
+
constructor(endpoint) {
|
|
39
|
+
this.delegate = loadCompatibilityModule()
|
|
40
|
+
.then(({ QuadstoreSparqlEngine }) => new QuadstoreSparqlEngine(endpoint));
|
|
41
|
+
}
|
|
42
|
+
async queryBindings(query, basePath) {
|
|
43
|
+
return (await this.delegate).queryBindings(query, basePath);
|
|
44
|
+
}
|
|
45
|
+
async queryQuads(query, basePath) {
|
|
46
|
+
return (await this.delegate).queryQuads(query, basePath);
|
|
47
|
+
}
|
|
48
|
+
async queryBoolean(query, basePath) {
|
|
49
|
+
return (await this.delegate).queryBoolean(query, basePath);
|
|
50
|
+
}
|
|
51
|
+
async queryVoid(query, basePath) {
|
|
52
|
+
await (await this.delegate).queryVoid(query, basePath);
|
|
53
|
+
}
|
|
54
|
+
async constructGraph(graph, basePath) {
|
|
55
|
+
return (await this.delegate).constructGraph(graph, basePath);
|
|
56
|
+
}
|
|
57
|
+
async listGraphs(basePath) {
|
|
58
|
+
return (await this.delegate).listGraphs(basePath);
|
|
59
|
+
}
|
|
60
|
+
async close() {
|
|
61
|
+
await (await this.delegate).close();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.QuadstoreSparqlEngine = QuadstoreSparqlEngine;
|
|
65
|
+
/**
|
|
66
|
+
* Comunica-backed compatibility engine component.
|
|
67
|
+
*/
|
|
68
|
+
class QuintstoreSparqlEngine {
|
|
69
|
+
constructor(store) {
|
|
70
|
+
this.delegate = loadCompatibilityModule()
|
|
71
|
+
.then(({ QuintstoreSparqlEngine }) => new QuintstoreSparqlEngine(store));
|
|
72
|
+
}
|
|
73
|
+
async queryBindings(query, basePath) {
|
|
74
|
+
return (await this.delegate).queryBindings(query, basePath);
|
|
75
|
+
}
|
|
76
|
+
async queryQuads(query, basePath) {
|
|
77
|
+
return (await this.delegate).queryQuads(query, basePath);
|
|
78
|
+
}
|
|
79
|
+
async queryBoolean(query, basePath) {
|
|
80
|
+
return (await this.delegate).queryBoolean(query, basePath);
|
|
81
|
+
}
|
|
82
|
+
async queryVoid(query, basePath) {
|
|
83
|
+
await (await this.delegate).queryVoid(query, basePath);
|
|
84
|
+
}
|
|
85
|
+
async constructGraph(graph, basePath) {
|
|
86
|
+
return (await this.delegate).constructGraph(graph, basePath);
|
|
87
|
+
}
|
|
88
|
+
async listGraphs(basePath) {
|
|
89
|
+
return (await this.delegate).listGraphs(basePath);
|
|
90
|
+
}
|
|
91
|
+
async close() {
|
|
92
|
+
await (await this.delegate).close();
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.QuintstoreSparqlEngine = QuintstoreSparqlEngine;
|
|
96
|
+
//# sourceMappingURL=CompatibilitySparqlEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CompatibilitySparqlEngine.js","sourceRoot":"","sources":["../../../src/storage/sparql/CompatibilitySparqlEngine.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,KAAK,UAAU,uBAAuB;IACpC,yDAAc,iCAAiC,IAAE;AACnD,CAAC;AAED;;;;;;GAMG;AACH,MAAa,qBAAqB;IAGhC,YAAmB,QAAgB;QACjC,IAAI,CAAC,QAAQ,GAAG,uBAAuB,EAAE;aACtC,IAAI,CAAC,CAAC,EAAE,qBAAqB,EAAE,EAAE,EAAE,CAAC,IAAI,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9E,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,QAAgB;QACxD,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,QAAgB;QACrD,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,QAAgB;QACvD,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,QAAgB;QACpD,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,QAAgB;QACzD,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,QAAgB;QACtC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;CACF;AAnCD,sDAmCC;AAED;;GAEG;AACH,MAAa,sBAAsB;IAGjC,YAAmB,KAAiB;QAClC,IAAI,CAAC,QAAQ,GAAG,uBAAuB,EAAE;aACtC,IAAI,CAAC,CAAC,EAAE,sBAAsB,EAAE,EAAE,EAAE,CAAC,IAAI,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7E,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,KAAa,EAAE,QAAgB;QACxD,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,QAAgB;QACrD,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,QAAgB;QACvD,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,QAAgB;QACpD,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,KAAa,EAAE,QAAgB;QACzD,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,QAAgB;QACtC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;CACF;AAnCD,wDAmCC","sourcesContent":["import type { Quad } from '@rdfjs/types';\nimport type { AsyncIterator } from 'asynciterator';\nimport type { SparqlEngine } from './SubgraphQueryEngine';\nimport type { QuintStore } from '../quint/types';\n\ntype CompatibilityModule = typeof import('./CompatibilitySparqlEngineImpl');\n\nasync function loadCompatibilityModule(): Promise<CompatibilityModule> {\n return import('./CompatibilitySparqlEngineImpl');\n}\n\n/**\n * @deprecated Compatibility wrapper preserved for older call sites.\n * Mainline xpod uses SolidRdfEngine for server-owned Pod queries.\n *\n * This file intentionally avoids static Comunica imports so exposing the\n * component type does not load the compatibility implementation.\n */\nexport class QuadstoreSparqlEngine implements SparqlEngine {\n private readonly delegate: Promise<SparqlEngine>;\n\n public constructor(endpoint: string) {\n this.delegate = loadCompatibilityModule()\n .then(({ QuadstoreSparqlEngine }) => new QuadstoreSparqlEngine(endpoint));\n }\n\n public async queryBindings(query: string, basePath: string): Promise<any> {\n return (await this.delegate).queryBindings(query, basePath);\n }\n\n public async queryQuads(query: string, basePath: string): Promise<any> {\n return (await this.delegate).queryQuads(query, basePath);\n }\n\n public async queryBoolean(query: string, basePath: string): Promise<boolean> {\n return (await this.delegate).queryBoolean(query, basePath);\n }\n\n public async queryVoid(query: string, basePath: string): Promise<void> {\n await (await this.delegate).queryVoid(query, basePath);\n }\n\n public async constructGraph(graph: string, basePath: string): Promise<AsyncIterator<Quad>> {\n return (await this.delegate).constructGraph(graph, basePath);\n }\n\n public async listGraphs(basePath: string): Promise<Set<string>> {\n return (await this.delegate).listGraphs(basePath);\n }\n\n public async close(): Promise<void> {\n await (await this.delegate).close();\n }\n}\n\n/**\n * Comunica-backed compatibility engine component.\n */\nexport class QuintstoreSparqlEngine implements SparqlEngine {\n private readonly delegate: Promise<SparqlEngine>;\n\n public constructor(store: QuintStore) {\n this.delegate = loadCompatibilityModule()\n .then(({ QuintstoreSparqlEngine }) => new QuintstoreSparqlEngine(store));\n }\n\n public async queryBindings(query: string, basePath: string): Promise<any> {\n return (await this.delegate).queryBindings(query, basePath);\n }\n\n public async queryQuads(query: string, basePath: string): Promise<any> {\n return (await this.delegate).queryQuads(query, basePath);\n }\n\n public async queryBoolean(query: string, basePath: string): Promise<boolean> {\n return (await this.delegate).queryBoolean(query, basePath);\n }\n\n public async queryVoid(query: string, basePath: string): Promise<void> {\n await (await this.delegate).queryVoid(query, basePath);\n }\n\n public async constructGraph(graph: string, basePath: string): Promise<AsyncIterator<Quad>> {\n return (await this.delegate).constructGraph(graph, basePath);\n }\n\n public async listGraphs(basePath: string): Promise<Set<string>> {\n return (await this.delegate).listGraphs(basePath);\n }\n\n public async close(): Promise<void> {\n await (await this.delegate).close();\n }\n}\n"]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
{
|
|
2
|
+
"@context": [
|
|
3
|
+
"https://linkedsoftwaredependencies.org/bundles/npm/@undefineds.co/xpod/^0.0.0/components/context.jsonld"
|
|
4
|
+
],
|
|
5
|
+
"@id": "npmd:@undefineds.co/xpod",
|
|
6
|
+
"components": [
|
|
7
|
+
{
|
|
8
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine",
|
|
9
|
+
"@type": "Class",
|
|
10
|
+
"requireElement": "QuadstoreSparqlEngine",
|
|
11
|
+
"extends": [
|
|
12
|
+
"undefineds:dist/storage/sparql/SubgraphQueryEngine.jsonld#SparqlEngine"
|
|
13
|
+
],
|
|
14
|
+
"parameters": [
|
|
15
|
+
{
|
|
16
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine_endpoint",
|
|
17
|
+
"range": "xsd:string"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"memberFields": [
|
|
21
|
+
{
|
|
22
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine__member_delegate",
|
|
23
|
+
"memberFieldName": "delegate"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine__member_constructor",
|
|
27
|
+
"memberFieldName": "constructor"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine__member_queryBindings",
|
|
31
|
+
"memberFieldName": "queryBindings"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine__member_queryQuads",
|
|
35
|
+
"memberFieldName": "queryQuads"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine__member_queryBoolean",
|
|
39
|
+
"memberFieldName": "queryBoolean"
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine__member_queryVoid",
|
|
43
|
+
"memberFieldName": "queryVoid"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine__member_constructGraph",
|
|
47
|
+
"memberFieldName": "constructGraph"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine__member_listGraphs",
|
|
51
|
+
"memberFieldName": "listGraphs"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine__member_close",
|
|
55
|
+
"memberFieldName": "close"
|
|
56
|
+
}
|
|
57
|
+
],
|
|
58
|
+
"constructorArguments": [
|
|
59
|
+
{
|
|
60
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuadstoreSparqlEngine_endpoint"
|
|
61
|
+
}
|
|
62
|
+
]
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine",
|
|
66
|
+
"@type": "Class",
|
|
67
|
+
"requireElement": "QuintstoreSparqlEngine",
|
|
68
|
+
"extends": [
|
|
69
|
+
"undefineds:dist/storage/sparql/SubgraphQueryEngine.jsonld#SparqlEngine"
|
|
70
|
+
],
|
|
71
|
+
"comment": "Comunica-backed compatibility engine component.",
|
|
72
|
+
"parameters": [
|
|
73
|
+
{
|
|
74
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine_store",
|
|
75
|
+
"range": "undefineds:dist/storage/quint/types.jsonld#QuintStore"
|
|
76
|
+
}
|
|
77
|
+
],
|
|
78
|
+
"memberFields": [
|
|
79
|
+
{
|
|
80
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine__member_delegate",
|
|
81
|
+
"memberFieldName": "delegate"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine__member_constructor",
|
|
85
|
+
"memberFieldName": "constructor"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine__member_queryBindings",
|
|
89
|
+
"memberFieldName": "queryBindings"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine__member_queryQuads",
|
|
93
|
+
"memberFieldName": "queryQuads"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine__member_queryBoolean",
|
|
97
|
+
"memberFieldName": "queryBoolean"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine__member_queryVoid",
|
|
101
|
+
"memberFieldName": "queryVoid"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine__member_constructGraph",
|
|
105
|
+
"memberFieldName": "constructGraph"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine__member_listGraphs",
|
|
109
|
+
"memberFieldName": "listGraphs"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine__member_close",
|
|
113
|
+
"memberFieldName": "close"
|
|
114
|
+
}
|
|
115
|
+
],
|
|
116
|
+
"constructorArguments": [
|
|
117
|
+
{
|
|
118
|
+
"@id": "undefineds:dist/storage/sparql/CompatibilitySparqlEngine.jsonld#QuintstoreSparqlEngine_store"
|
|
119
|
+
}
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
]
|
|
123
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Quad } from '@rdfjs/types';
|
|
2
|
+
import type { AsyncIterator } from 'asynciterator';
|
|
3
|
+
import type { SparqlEngine } from './SubgraphQueryEngine';
|
|
4
|
+
import type { QuintStore } from '../quint/types';
|
|
5
|
+
/**
|
|
6
|
+
* @deprecated Compatibility wrapper preserved for older call sites.
|
|
7
|
+
* Mainline xpod uses SolidRdfEngine for server-owned Pod queries.
|
|
8
|
+
*/
|
|
9
|
+
export declare class QuadstoreSparqlEngine implements SparqlEngine {
|
|
10
|
+
private readonly delegate;
|
|
11
|
+
constructor(endpoint: string);
|
|
12
|
+
queryBindings(query: string, basePath: string): Promise<any>;
|
|
13
|
+
queryQuads(query: string, basePath: string): Promise<any>;
|
|
14
|
+
queryBoolean(query: string, basePath: string): Promise<boolean>;
|
|
15
|
+
queryVoid(query: string, basePath: string): Promise<void>;
|
|
16
|
+
constructGraph(graph: string, basePath: string): Promise<AsyncIterator<Quad>>;
|
|
17
|
+
listGraphs(basePath: string): Promise<Set<string>>;
|
|
18
|
+
close(): Promise<void>;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Comunica-backed compatibility engine.
|
|
22
|
+
*/
|
|
23
|
+
export declare class QuintstoreSparqlEngine implements SparqlEngine {
|
|
24
|
+
private readonly store;
|
|
25
|
+
private readonly engine;
|
|
26
|
+
private readonly ready;
|
|
27
|
+
constructor(store: QuintStore);
|
|
28
|
+
queryBindings(query: string, basePath: string): Promise<any>;
|
|
29
|
+
queryQuads(query: string, basePath: string): Promise<any>;
|
|
30
|
+
queryBoolean(query: string, basePath: string): Promise<boolean>;
|
|
31
|
+
queryVoid(query: string, basePath: string): Promise<void>;
|
|
32
|
+
constructGraph(graph: string, basePath: string): Promise<AsyncIterator<Quad>>;
|
|
33
|
+
listGraphs(basePath: string): Promise<Set<string>>;
|
|
34
|
+
close(): Promise<void>;
|
|
35
|
+
}
|