@comake/skl-js-engine 0.16.0 → 0.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/SklEngine.d.ts +11 -1
  2. package/dist/SklEngine.js +152 -33
  3. package/dist/SklEngine.js.map +1 -1
  4. package/dist/storage/operator/OneOrMorePath.d.ts +3 -3
  5. package/dist/storage/operator/OneOrMorePath.js.map +1 -1
  6. package/dist/storage/operator/SequencePath.d.ts +3 -3
  7. package/dist/storage/operator/SequencePath.js.map +1 -1
  8. package/dist/storage/operator/ZeroOrMorePath.d.ts +3 -3
  9. package/dist/storage/operator/ZeroOrMorePath.js.map +1 -1
  10. package/dist/storage/query-adapter/QueryAdapter.d.ts +3 -0
  11. package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.js +4 -2
  12. package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.js.map +1 -1
  13. package/package.json +1 -1
  14. package/dist/Callbacks.d.ts +0 -10
  15. package/dist/Callbacks.js +0 -3
  16. package/dist/Callbacks.js.map +0 -1
  17. package/dist/storage/BaseQueryAdapterOptions.d.ts +0 -11
  18. package/dist/storage/BaseQueryAdapterOptions.js +0 -3
  19. package/dist/storage/BaseQueryAdapterOptions.js.map +0 -1
  20. package/dist/storage/QueryAdapter.d.ts +0 -78
  21. package/dist/storage/QueryAdapter.js +0 -3
  22. package/dist/storage/QueryAdapter.js.map +0 -1
  23. package/dist/storage/memory/MemoryQueryAdapter.d.ts +0 -38
  24. package/dist/storage/memory/MemoryQueryAdapter.js +0 -259
  25. package/dist/storage/memory/MemoryQueryAdapter.js.map +0 -1
  26. package/dist/storage/memory/MemoryQueryAdapterOptions.d.ts +0 -12
  27. package/dist/storage/memory/MemoryQueryAdapterOptions.js +0 -3
  28. package/dist/storage/memory/MemoryQueryAdapterOptions.js.map +0 -1
  29. package/dist/storage/operator/Path.d.ts +0 -2
  30. package/dist/storage/operator/Path.js +0 -13
  31. package/dist/storage/operator/Path.js.map +0 -1
  32. package/dist/storage/sparql/SparqlQueryAdapter.d.ts +0 -33
  33. package/dist/storage/sparql/SparqlQueryAdapter.js +0 -137
  34. package/dist/storage/sparql/SparqlQueryAdapter.js.map +0 -1
  35. package/dist/storage/sparql/SparqlQueryAdapterOptions.d.ts +0 -15
  36. package/dist/storage/sparql/SparqlQueryAdapterOptions.js +0 -3
  37. package/dist/storage/sparql/SparqlQueryAdapterOptions.js.map +0 -1
  38. package/dist/storage/sparql/SparqlQueryBuilder.d.ts +0 -68
  39. package/dist/storage/sparql/SparqlQueryBuilder.js +0 -667
  40. package/dist/storage/sparql/SparqlQueryBuilder.js.map +0 -1
  41. package/dist/storage/sparql/SparqlQueryExecutor.d.ts +0 -23
  42. package/dist/storage/sparql/SparqlQueryExecutor.js +0 -63
  43. package/dist/storage/sparql/SparqlQueryExecutor.js.map +0 -1
  44. package/dist/storage/sparql/SparqlUpdateBuilder.d.ts +0 -36
  45. package/dist/storage/sparql/SparqlUpdateBuilder.js +0 -235
  46. package/dist/storage/sparql/SparqlUpdateBuilder.js.map +0 -1
  47. package/dist/storage/sparql/VariableGenerator.d.ts +0 -4
  48. package/dist/storage/sparql/VariableGenerator.js +0 -14
  49. package/dist/storage/sparql/VariableGenerator.js.map +0 -1
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=QueryAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryAdapter.js","sourceRoot":"","sources":["../../src/storage/QueryAdapter.ts"],"names":[],"mappings":""}
@@ -1,38 +0,0 @@
1
- import type { GraphObject } from 'jsonld';
2
- import type { Frame } from 'jsonld/jsonld-spec';
3
- import type { Entity } from '../../util/Types';
4
- import type { FindOneOptions, FindAllOptions, FindOptionsWhere, FindCountOptions, FindExistsOptions } from '../FindOptionsTypes';
5
- import type { QueryAdapter, RawQueryResult } from '../QueryAdapter';
6
- import type { MemoryQueryAdapterOptions } from './MemoryQueryAdapterOptions';
7
- /**
8
- * A {@link QueryAdapter} that stores data in memory.
9
- */
10
- export declare class MemoryQueryAdapter implements QueryAdapter {
11
- private readonly schemas;
12
- private readonly setTimestamps;
13
- constructor(options: MemoryQueryAdapterOptions);
14
- executeRawQuery<T extends RawQueryResult>(query: string): Promise<T[]>;
15
- executeRawEntityQuery(query: string, frame?: Frame): Promise<GraphObject>;
16
- find(options?: FindOneOptions): Promise<Entity | null>;
17
- findBy(where: FindOptionsWhere): Promise<Entity | null>;
18
- findAll(options?: FindAllOptions): Promise<Entity[]>;
19
- findAllBy(where: FindOptionsWhere): Promise<Entity[]>;
20
- private entityMatchesQuery;
21
- private entityMatchesField;
22
- private fieldValueMatchesField;
23
- private findOptionWhereMatchesNodeObject;
24
- private handleOperator;
25
- private isInstanceOf;
26
- private getSubClassesOf;
27
- exists(options: FindExistsOptions): Promise<boolean>;
28
- count(options: FindCountOptions): Promise<number>;
29
- save(entity: Entity): Promise<Entity>;
30
- save(entities: Entity[]): Promise<Entity[]>;
31
- update(id: string, attributes: Partial<Entity>): Promise<void>;
32
- update(ids: string[], attributes: Partial<Entity>): Promise<void>;
33
- private saveEntity;
34
- destroy(entity: Entity): Promise<Entity>;
35
- destroy(entities: Entity[]): Promise<Entity[]>;
36
- destroyAll(): Promise<void>;
37
- private destroyEntity;
38
- }
@@ -1,259 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoryQueryAdapter = void 0;
4
- const TripleUtil_1 = require("../../util/TripleUtil");
5
- const Util_1 = require("../../util/Util");
6
- const Vocabularies_1 = require("../../util/Vocabularies");
7
- const FindOperator_1 = require("../FindOperator");
8
- /**
9
- * A {@link QueryAdapter} that stores data in memory.
10
- */
11
- class MemoryQueryAdapter {
12
- constructor(options) {
13
- this.schemas = {};
14
- if (options.schemas) {
15
- for (const schema of options.schemas) {
16
- this.schemas[schema['@id']] = schema;
17
- }
18
- }
19
- this.setTimestamps = options.setTimestamps ?? false;
20
- }
21
- async executeRawQuery(query) {
22
- return [];
23
- }
24
- async executeRawEntityQuery(query, frame) {
25
- return {
26
- '@graph': [],
27
- };
28
- }
29
- async find(options) {
30
- if (options?.where?.id && Object.keys(options.where).length === 1 && typeof options.where.id === 'string') {
31
- return this.schemas[options.where.id] ?? null;
32
- }
33
- if (options?.where) {
34
- for (const entity of Object.values(this.schemas)) {
35
- const matches = await this.entityMatchesQuery(entity, options.where);
36
- if (matches) {
37
- return entity;
38
- }
39
- }
40
- return null;
41
- }
42
- return Object.values(this.schemas)[0] ?? null;
43
- }
44
- async findBy(where) {
45
- return this.find({ where });
46
- }
47
- async findAll(options) {
48
- let results = [];
49
- if (options?.where?.id && Object.keys(options.where).length === 1 && typeof options.where.id === 'string') {
50
- const schema = this.schemas[options.where.id];
51
- if (schema) {
52
- results = [schema];
53
- }
54
- }
55
- else if (options?.where) {
56
- for (const entity of Object.values(this.schemas)) {
57
- const matches = await this.entityMatchesQuery(entity, options.where);
58
- if (matches) {
59
- results.push(entity);
60
- }
61
- }
62
- }
63
- else {
64
- results = Object.values(this.schemas);
65
- }
66
- if (options?.limit ?? options?.offset) {
67
- const start = options?.offset ?? 0;
68
- const end = options?.limit && options?.offset
69
- ? options.offset + options.limit
70
- : options?.limit ?? undefined;
71
- return results.slice(start, end);
72
- }
73
- return results;
74
- }
75
- async findAllBy(where) {
76
- return this.findAll({ where });
77
- }
78
- async entityMatchesQuery(entity, where) {
79
- for (const [fieldName, fieldValue] of Object.entries(where)) {
80
- const matches = await this.entityMatchesField(entity, fieldName, fieldValue);
81
- if (!matches) {
82
- return false;
83
- }
84
- }
85
- return true;
86
- }
87
- async entityMatchesField(entity, fieldName, fieldValue) {
88
- if (FindOperator_1.FindOperator.isFindOperator(fieldValue)) {
89
- return await this.handleOperator(fieldValue.operator, {
90
- in: async () => {
91
- const values = fieldValue.value;
92
- for (const valueItem of values) {
93
- if (await this.entityMatchesField(entity, fieldName, valueItem)) {
94
- return true;
95
- }
96
- }
97
- return false;
98
- },
99
- not: async () => {
100
- if (FindOperator_1.FindOperator.isFindOperator(fieldValue.value)) {
101
- return !await this.entityMatchesField(entity, fieldName, fieldValue.value);
102
- }
103
- const valueItem = fieldValue.value;
104
- return !await this.entityMatchesField(entity, fieldName, valueItem);
105
- },
106
- equal: async () => {
107
- const valueItem = fieldValue.value;
108
- return this.entityMatchesField(entity, fieldName, valueItem);
109
- },
110
- gt: async () => false,
111
- gte: async () => false,
112
- lt: async () => false,
113
- lte: async () => false,
114
- inverse: async () => false,
115
- inverseRelation: async () => false,
116
- inverseRelationOrder: async () => false,
117
- inversePath: async () => false,
118
- sequencePath: async () => false,
119
- zeroOrMorePath: async () => false,
120
- oneOrMorePath: async () => false,
121
- });
122
- }
123
- if (fieldName === 'id') {
124
- return entity['@id'] === fieldValue;
125
- }
126
- if (fieldName === 'type') {
127
- return this.isInstanceOf(entity, fieldValue);
128
- }
129
- if (Array.isArray(fieldValue)) {
130
- for (const valueItem of fieldValue) {
131
- if (!await this.entityMatchesField(entity, fieldName, valueItem)) {
132
- return false;
133
- }
134
- }
135
- return true;
136
- }
137
- if (typeof fieldValue === 'object') {
138
- if ('@value' in fieldValue) {
139
- return this.fieldValueMatchesField(fieldValue['@value'], entity[fieldName]);
140
- }
141
- if (Array.isArray(entity[fieldName])) {
142
- for (const subFieldValue of entity[fieldName]) {
143
- const matches = await this.findOptionWhereMatchesNodeObject(fieldValue, subFieldValue);
144
- if (matches) {
145
- return true;
146
- }
147
- }
148
- return false;
149
- }
150
- if (typeof entity[fieldName] === 'object') {
151
- return await this.findOptionWhereMatchesNodeObject(fieldValue, entity[fieldName]);
152
- }
153
- return false;
154
- }
155
- if (Array.isArray(entity[fieldName])) {
156
- return entity[fieldName].some((field) => this.fieldValueMatchesField(fieldValue, field));
157
- }
158
- return this.fieldValueMatchesField(fieldValue, entity[fieldName]);
159
- }
160
- fieldValueMatchesField(value, field) {
161
- if (Array.isArray(field)) {
162
- return field.some((fieldItem) => this.fieldValueMatchesField(value, fieldItem));
163
- }
164
- if (typeof field === 'object') {
165
- if (field['@id']) {
166
- return field['@id'] === value;
167
- }
168
- if (field['@value']) {
169
- const jsValue = (0, TripleUtil_1.toJSValueFromDataType)(field['@value'], field['@type']);
170
- return jsValue === value;
171
- }
172
- }
173
- return field === value;
174
- }
175
- async findOptionWhereMatchesNodeObject(fieldValue, nodeObject) {
176
- if (nodeObject['@id'] && Object.keys(nodeObject).length === 1) {
177
- const subEntity = await this.findBy({ id: nodeObject['@id'] });
178
- if (subEntity) {
179
- return this.entityMatchesQuery(subEntity, fieldValue);
180
- }
181
- return false;
182
- }
183
- return this.entityMatchesQuery(nodeObject, fieldValue);
184
- }
185
- async handleOperator(operator, operatorHandlers) {
186
- if (operator in operatorHandlers) {
187
- return await operatorHandlers[operator]();
188
- }
189
- throw new Error(`Unsupported operator "${operator}"`);
190
- }
191
- isInstanceOf(entity, targetClass) {
192
- const classes = this.getSubClassesOf(targetClass);
193
- const entityTypes = (0, Util_1.ensureArray)(entity['@type']);
194
- return entityTypes.some((type) => classes.includes(type));
195
- }
196
- getSubClassesOf(targetClass) {
197
- // Cache subclassesOf
198
- return Object.values(this.schemas).reduce((subClasses, schema) => {
199
- const subClassOf = (0, Util_1.ensureArray)(schema[Vocabularies_1.RDFS.subClassOf]);
200
- const isSubClassOfTarget = subClassOf.some((subClass) => subClass['@id'] === targetClass);
201
- if (isSubClassOfTarget) {
202
- subClasses = [
203
- ...subClasses,
204
- schema['@id'],
205
- ...this.getSubClassesOf(schema['@id']),
206
- ];
207
- }
208
- return subClasses;
209
- }, [targetClass]);
210
- }
211
- async exists(options) {
212
- const res = await this.findAll(options);
213
- return res.length > 0;
214
- }
215
- async count(options) {
216
- const res = await this.findAll(options);
217
- return res.length;
218
- }
219
- async save(entityOrEntities) {
220
- if (Array.isArray(entityOrEntities)) {
221
- return entityOrEntities.map((entity) => this.saveEntity(entity));
222
- }
223
- return this.saveEntity(entityOrEntities);
224
- }
225
- async update(idOrIds, attributes) {
226
- // Do nothing
227
- }
228
- saveEntity(entity) {
229
- const savedEntity = { ...entity };
230
- this.schemas[entity['@id']] = savedEntity;
231
- return savedEntity;
232
- }
233
- async destroy(entityOrEntities) {
234
- if (Array.isArray(entityOrEntities)) {
235
- return entityOrEntities.map((entity) => this.destroyEntity(entity));
236
- }
237
- return this.destroyEntity(entityOrEntities);
238
- }
239
- async destroyAll() {
240
- for (const key of Object.keys(this.schemas)) {
241
- // eslint-disable-next-line no-prototype-builtins
242
- if (this.schemas.hasOwnProperty(key)) {
243
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
244
- delete this.schemas[key];
245
- }
246
- }
247
- }
248
- destroyEntity(entity) {
249
- const existingEntity = this.schemas[entity['@id']];
250
- if (!existingEntity) {
251
- throw new Error(`Entity with id ${entity['@id']} does not exist.`);
252
- }
253
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
254
- delete this.schemas[existingEntity['@id']];
255
- return existingEntity;
256
- }
257
- }
258
- exports.MemoryQueryAdapter = MemoryQueryAdapter;
259
- //# sourceMappingURL=MemoryQueryAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MemoryQueryAdapter.js","sourceRoot":"","sources":["../../../src/storage/memory/MemoryQueryAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import type { Entity } from '../../util/Types';
2
- import type { BaseQueryAdapterOptions } from '../BaseQueryAdapterOptions';
3
- export interface MemoryQueryAdapterOptions extends BaseQueryAdapterOptions {
4
- /**
5
- * Query Adapter type.
6
- */
7
- readonly type: 'memory';
8
- /**
9
- * Schema to initialize in memory.
10
- */
11
- readonly schemas?: Entity[];
12
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=MemoryQueryAdapterOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MemoryQueryAdapterOptions.js","sourceRoot":"","sources":["../../../src/storage/memory/MemoryQueryAdapterOptions.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- import { FindOperator } from '../FindOperator';
2
- export declare function Inverse<T>(value: T | FindOperator<T>): FindOperator<T>;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Inverse = void 0;
4
- const FindOperator_1 = require("../FindOperator");
5
- // eslint-disable-next-line @typescript-eslint/naming-convention
6
- function Inverse(value) {
7
- return new FindOperator_1.FindOperator({
8
- operator: 'inverse',
9
- value,
10
- });
11
- }
12
- exports.Inverse = Inverse;
13
- //# sourceMappingURL=Path.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Path.js","sourceRoot":"","sources":["../../../src/storage/operator/Path.ts"],"names":[],"mappings":";;;AAAA,kDAA+C;AAE/C,gEAAgE;AAChE,SAAgB,OAAO,CACrB,KAA0B;IAE1B,OAAO,IAAI,2BAAY,CAAI;QACzB,QAAQ,EAAE,SAAS;QACnB,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAPD,0BAOC"}
@@ -1,33 +0,0 @@
1
- import type { GraphObject } from 'jsonld';
2
- import type { Frame } from 'jsonld/jsonld-spec';
3
- import type { Entity } from '../../util/Types';
4
- import type { FindOneOptions, FindAllOptions, FindOptionsWhere, FindCountOptions, FindExistsOptions } from '../FindOptionsTypes';
5
- import type { QueryAdapter, RawQueryResult } from '../QueryAdapter';
6
- import type { SparqlQueryAdapterOptions } from './SparqlQueryAdapterOptions';
7
- import { SparqlQueryExecutor } from './SparqlQueryExecutor';
8
- /**
9
- * A {@link QueryAdapter} that stores data in a database through a sparql endpoint.
10
- */
11
- export declare class SparqlQueryAdapter implements QueryAdapter {
12
- protected readonly sparqlQueryExecutor: SparqlQueryExecutor;
13
- private readonly setTimestamps;
14
- constructor(options: SparqlQueryAdapterOptions);
15
- executeRawQuery<T extends RawQueryResult>(query: string): Promise<T[]>;
16
- executeRawEntityQuery(query: string, frame?: Frame): Promise<GraphObject>;
17
- find(options?: FindOneOptions): Promise<Entity | null>;
18
- findBy(where: FindOptionsWhere): Promise<Entity | null>;
19
- findAll(options?: FindAllOptions): Promise<Entity[]>;
20
- private findAllAsJsonLd;
21
- private buildFindAllQueryData;
22
- private executeEntitySelectQuery;
23
- findAllBy(where: FindOptionsWhere): Promise<Entity[]>;
24
- exists(options: FindExistsOptions): Promise<boolean>;
25
- count(options: FindCountOptions): Promise<number>;
26
- save(entity: Entity): Promise<Entity>;
27
- save(entities: Entity[]): Promise<Entity[]>;
28
- update(id: string, attributes: Partial<Entity>): Promise<void>;
29
- update(ids: string[], attributes: Partial<Entity>): Promise<void>;
30
- destroy(entity: Entity): Promise<Entity>;
31
- destroy(entities: Entity[]): Promise<Entity[]>;
32
- destroyAll(): Promise<void>;
33
- }
@@ -1,137 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SparqlQueryAdapter = void 0;
4
- const SparqlUtil_1 = require("../../util/SparqlUtil");
5
- const TripleUtil_1 = require("../../util/TripleUtil");
6
- const SparqlQueryBuilder_1 = require("./SparqlQueryBuilder");
7
- const SparqlQueryExecutor_1 = require("./SparqlQueryExecutor");
8
- const SparqlUpdateBuilder_1 = require("./SparqlUpdateBuilder");
9
- /**
10
- * A {@link QueryAdapter} that stores data in a database through a sparql endpoint.
11
- */
12
- class SparqlQueryAdapter {
13
- constructor(options) {
14
- this.sparqlQueryExecutor = new SparqlQueryExecutor_1.SparqlQueryExecutor(options);
15
- this.setTimestamps = options.setTimestamps ?? false;
16
- }
17
- async executeRawQuery(query) {
18
- const response = await this.sparqlQueryExecutor.executeSparqlSelectAndGetDataRaw(query);
19
- if (response.length === 0) {
20
- return [];
21
- }
22
- return (0, SparqlUtil_1.selectQueryResultsAsJSValues)(response);
23
- }
24
- async executeRawEntityQuery(query, frame) {
25
- const response = await this.sparqlQueryExecutor.executeSparqlSelectAndGetDataRaw(query);
26
- if (response.length === 0) {
27
- return { '@graph': [] };
28
- }
29
- return await (0, TripleUtil_1.triplesToJsonldWithFrame)(response, frame);
30
- }
31
- async find(options) {
32
- const jsonld = await this.findAllAsJsonLd({ ...options, limit: 1 });
33
- if (Array.isArray(jsonld) && !options?.skipFraming) {
34
- if (jsonld.length === 0) {
35
- return null;
36
- }
37
- if (jsonld.length === 1) {
38
- return jsonld[0];
39
- }
40
- }
41
- return jsonld;
42
- }
43
- async findBy(where) {
44
- return this.find({ where });
45
- }
46
- async findAll(options) {
47
- const jsonld = await this.findAllAsJsonLd(options);
48
- if (Array.isArray(jsonld)) {
49
- return jsonld;
50
- }
51
- return [jsonld];
52
- }
53
- async findAllAsJsonLd(options) {
54
- const queryBuilder = new SparqlQueryBuilder_1.SparqlQueryBuilder();
55
- const { where, selectionTriples, entityOrder } = await this.buildFindAllQueryData(queryBuilder, options);
56
- if (entityOrder && entityOrder.length === 0) {
57
- return [];
58
- }
59
- const query = queryBuilder.buildConstructFromEntitySelectQuery(where, selectionTriples, options?.select);
60
- return await this.executeEntitySelectQuery(query, options, entityOrder);
61
- }
62
- async buildFindAllQueryData(queryBuilder, options) {
63
- const queryData = queryBuilder.buildEntitySelectPatternsFromOptions(SparqlUtil_1.entityVariable, options);
64
- const entitySelectQuery = queryData.where.length > 0
65
- ? (0, SparqlUtil_1.createSparqlSelectQuery)(SparqlUtil_1.entityVariable, queryData.where, queryData.orders, queryData.group, options?.limit, options?.offset)
66
- : undefined;
67
- let entityOrder;
68
- if (queryData.orders.length > 0 && options?.limit !== 1 && entitySelectQuery) {
69
- const entitySelectResponse = await this.sparqlQueryExecutor.executeSparqlSelectAndGetData(entitySelectQuery);
70
- const valuesByVariable = (0, SparqlUtil_1.groupSelectQueryResultsByKey)(entitySelectResponse);
71
- entityOrder = (0, SparqlUtil_1.getEntityVariableValuesFromVariables)(valuesByVariable);
72
- if (entityOrder.length === 0) {
73
- return {
74
- where: queryData.where,
75
- selectionTriples: queryData.graphSelectionTriples,
76
- entityOrder: [],
77
- };
78
- }
79
- const variableValueFilters = (0, SparqlUtil_1.createValuesPatternsForVariables)(valuesByVariable);
80
- queryData.graphWhere = [...variableValueFilters, ...queryData.graphWhere];
81
- }
82
- else if (entitySelectQuery) {
83
- const entitySelectGroupQuery = (0, SparqlUtil_1.createSparqlSelectGroup)([entitySelectQuery]);
84
- queryData.graphWhere.unshift(entitySelectGroupQuery);
85
- }
86
- return {
87
- where: queryData.graphWhere,
88
- selectionTriples: queryData.graphSelectionTriples,
89
- entityOrder,
90
- };
91
- }
92
- async executeEntitySelectQuery(query, options, entityOrder) {
93
- const responseTriples = await this.sparqlQueryExecutor.executeSparqlSelectAndGetData(query);
94
- return await (0, TripleUtil_1.triplesToJsonld)(responseTriples, options?.skipFraming, options?.relations, options?.where, entityOrder);
95
- }
96
- async findAllBy(where) {
97
- return this.findAll({ where });
98
- }
99
- async exists(options) {
100
- const queryBuilder = new SparqlQueryBuilder_1.SparqlQueryBuilder();
101
- const queryData = queryBuilder.buildEntitySelectPatternsFromOptions(SparqlUtil_1.entityVariable, options);
102
- const values = queryData.graphWhere.filter((pattern) => pattern.type === 'values');
103
- const query = (0, SparqlUtil_1.creteSparqlAskQuery)([...values, ...queryData.where]);
104
- return await this.sparqlQueryExecutor.executeAskQueryAndGetResponse(query);
105
- }
106
- async count(options) {
107
- const queryBuilder = new SparqlQueryBuilder_1.SparqlQueryBuilder();
108
- const queryData = queryBuilder.buildEntitySelectPatternsFromOptions(SparqlUtil_1.entityVariable, options);
109
- const values = queryData.graphWhere.filter((pattern) => pattern.type === 'values');
110
- const query = (0, SparqlUtil_1.createSparqlCountSelectQuery)(SparqlUtil_1.entityVariable, [...values, ...queryData.where], queryData.orders, options?.offset);
111
- return await this.sparqlQueryExecutor.executeSelectCountAndGetResponse(query);
112
- }
113
- async save(entityOrEntities) {
114
- const queryBuilder = new SparqlUpdateBuilder_1.SparqlUpdateBuilder({ setTimestamps: this.setTimestamps });
115
- const query = queryBuilder.buildUpdate(entityOrEntities);
116
- await this.sparqlQueryExecutor.executeSparqlUpdate(query);
117
- return entityOrEntities;
118
- }
119
- async update(idOrIds, attributes) {
120
- const queryBuilder = new SparqlUpdateBuilder_1.SparqlUpdateBuilder({ setTimestamps: this.setTimestamps });
121
- const query = queryBuilder.buildPartialUpdate(idOrIds, attributes);
122
- await this.sparqlQueryExecutor.executeSparqlUpdate(query);
123
- }
124
- async destroy(entityOrEntities) {
125
- const queryBuilder = new SparqlUpdateBuilder_1.SparqlUpdateBuilder();
126
- const query = queryBuilder.buildDelete(entityOrEntities);
127
- await this.sparqlQueryExecutor.executeSparqlUpdate(query);
128
- return entityOrEntities;
129
- }
130
- async destroyAll() {
131
- const queryBuilder = new SparqlUpdateBuilder_1.SparqlUpdateBuilder();
132
- const query = queryBuilder.buildDeleteAll();
133
- await this.sparqlQueryExecutor.executeSparqlUpdate(query);
134
- }
135
- }
136
- exports.SparqlQueryAdapter = SparqlQueryAdapter;
137
- //# sourceMappingURL=SparqlQueryAdapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SparqlQueryAdapter.js","sourceRoot":"","sources":["../../../src/storage/sparql/SparqlQueryAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
1
- import type { BaseQueryAdapterOptions } from '../BaseQueryAdapterOptions';
2
- export interface SparqlQueryAdapterOptions extends BaseQueryAdapterOptions {
3
- /**
4
- * Query Adapter type.
5
- */
6
- readonly type: 'sparql';
7
- /**
8
- * The location of the SPARQL endpoint. This value is required.
9
- */
10
- readonly endpointUrl: string;
11
- /**
12
- * The location of the SPARQL update endpoint. Defaults to the value of endpointUrl if not set.
13
- */
14
- readonly updateUrl?: string;
15
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=SparqlQueryAdapterOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SparqlQueryAdapterOptions.js","sourceRoot":"","sources":["../../../src/storage/sparql/SparqlQueryAdapterOptions.ts"],"names":[],"mappings":""}
@@ -1,68 +0,0 @@
1
- import type { Variable } from '@rdfjs/types';
2
- import type { Triple, OperationExpression, Ordering, ValuesPattern, Pattern, ConstructQuery } from 'sparqljs';
3
- import type { FindOptionsOrder, FindOptionsRelations, FindOptionsSelect, FindOptionsWhere } from '../FindOptionsTypes';
4
- export interface NonGraphWhereQueryData {
5
- values: ValuesPattern[];
6
- triples: Triple[];
7
- filters: OperationExpression[];
8
- }
9
- export interface WhereQueryData extends NonGraphWhereQueryData {
10
- graphValues: ValuesPattern[];
11
- graphTriples: Triple[];
12
- graphFilters: OperationExpression[];
13
- serviceTriples?: Record<string, Triple[]>;
14
- }
15
- export interface RelationsQueryData {
16
- patterns: Pattern[];
17
- selectionTriples: Triple[];
18
- }
19
- export interface OrderQueryData {
20
- triples: Triple[];
21
- filters: OperationExpression[];
22
- orders: Ordering[];
23
- groupByParent?: boolean;
24
- }
25
- export interface EntitySelectQueryData {
26
- where: Pattern[];
27
- orders: Ordering[];
28
- graphWhere: Pattern[];
29
- graphSelectionTriples: Triple[];
30
- group?: Variable;
31
- }
32
- export interface SparqlQueryBuilderOptions {
33
- where?: FindOptionsWhere;
34
- select?: FindOptionsSelect;
35
- order?: FindOptionsOrder;
36
- relations?: FindOptionsRelations;
37
- }
38
- export declare class SparqlQueryBuilder {
39
- private readonly variableGenerator;
40
- constructor();
41
- buildEntitySelectPatternsFromOptions(subject: Variable, options?: SparqlQueryBuilderOptions): EntitySelectQueryData;
42
- buildConstructFromEntitySelectQuery(graphWhere: Pattern[], graphSelectionTriples: Triple[], select?: FindOptionsSelect): ConstructQuery;
43
- private createWhereQueryData;
44
- private createWhereQueryDataForField;
45
- private createWhereQueryDataForIdValue;
46
- private createWhereQueryDataForType;
47
- private createWhereQueryDataFromKeyValue;
48
- private createWhereQueryDataForFindOperator;
49
- private pathOperatorToPropertyPath;
50
- private createWhereQueryDataForMultipleFindOperators;
51
- private createWhereQueryDataForNestedWhere;
52
- private createWhereQueryDataForValueObject;
53
- private valueObjectToTerm;
54
- private resolveFindOperatorAsExpressionWithMultipleValues;
55
- private resolveFindOperatorAsExpressionForId;
56
- private resolveValueToExpression;
57
- private buildNotOperationForMultiValued;
58
- private buildNotOperationForId;
59
- private resolveValueToTerm;
60
- private createOrderQueryData;
61
- private createOrderQueryDataForProperty;
62
- private createRelationsQueryData;
63
- private createRelationsQueryDataForInverseRelation;
64
- private createRelationsQueryDataForNestedRelation;
65
- private createVariable;
66
- private createSelectPattern;
67
- private createWherePatternsFromQueryData;
68
- }