@_linked/core 1.1.0 → 1.2.0-next.20260302120536
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +60 -0
- package/README.md +321 -43
- package/lib/cjs/index.js +4 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interfaces/IQuadStore.d.ts +19 -7
- package/lib/cjs/queries/CreateQuery.d.ts +7 -8
- package/lib/cjs/queries/CreateQuery.js +4 -4
- package/lib/cjs/queries/CreateQuery.js.map +1 -1
- package/lib/cjs/queries/DeleteQuery.d.ts +7 -8
- package/lib/cjs/queries/DeleteQuery.js +4 -4
- package/lib/cjs/queries/DeleteQuery.js.map +1 -1
- package/lib/cjs/queries/IRAliasScope.d.ts +20 -0
- package/lib/cjs/queries/IRAliasScope.js +52 -0
- package/lib/cjs/queries/IRAliasScope.js.map +1 -0
- package/lib/cjs/queries/IRCanonicalize.d.ts +36 -0
- package/lib/cjs/queries/IRCanonicalize.js +121 -0
- package/lib/cjs/queries/IRCanonicalize.js.map +1 -0
- package/lib/cjs/queries/IRDesugar.d.ts +98 -0
- package/lib/cjs/queries/IRDesugar.js +244 -0
- package/lib/cjs/queries/IRDesugar.js.map +1 -0
- package/lib/cjs/queries/IRLower.d.ts +8 -0
- package/lib/cjs/queries/IRLower.js +272 -0
- package/lib/cjs/queries/IRLower.js.map +1 -0
- package/lib/cjs/queries/IRMutation.d.ts +23 -0
- package/lib/cjs/queries/IRMutation.js +77 -0
- package/lib/cjs/queries/IRMutation.js.map +1 -0
- package/lib/cjs/queries/IRPipeline.d.ts +8 -0
- package/lib/cjs/queries/IRPipeline.js +25 -0
- package/lib/cjs/queries/IRPipeline.js.map +1 -0
- package/lib/cjs/queries/IRProjection.d.ts +38 -0
- package/lib/cjs/queries/IRProjection.js +98 -0
- package/lib/cjs/queries/IRProjection.js.map +1 -0
- package/lib/cjs/queries/IntermediateRepresentation.d.ts +210 -0
- package/lib/cjs/queries/IntermediateRepresentation.js +3 -0
- package/lib/cjs/queries/IntermediateRepresentation.js.map +1 -0
- package/lib/cjs/queries/MutationQuery.js +9 -23
- package/lib/cjs/queries/MutationQuery.js.map +1 -1
- package/lib/cjs/queries/QueryFactory.d.ts +0 -2
- package/lib/cjs/queries/QueryFactory.js +0 -3
- package/lib/cjs/queries/QueryFactory.js.map +1 -1
- package/lib/cjs/queries/QueryParser.d.ts +6 -1
- package/lib/cjs/queries/QueryParser.js +14 -22
- package/lib/cjs/queries/QueryParser.js.map +1 -1
- package/lib/cjs/queries/SelectQuery.d.ts +18 -27
- package/lib/cjs/queries/SelectQuery.js +54 -45
- package/lib/cjs/queries/SelectQuery.js.map +1 -1
- package/lib/cjs/queries/UpdateQuery.d.ts +8 -9
- package/lib/cjs/queries/UpdateQuery.js +4 -4
- package/lib/cjs/queries/UpdateQuery.js.map +1 -1
- package/lib/cjs/shapes/SHACL.d.ts +1 -0
- package/lib/cjs/shapes/SHACL.js +82 -2
- package/lib/cjs/shapes/SHACL.js.map +1 -1
- package/lib/cjs/shapes/Shape.d.ts +11 -10
- package/lib/cjs/shapes/Shape.js +11 -5
- package/lib/cjs/shapes/Shape.js.map +1 -1
- package/lib/cjs/sparql/SparqlAlgebra.d.ts +158 -0
- package/lib/cjs/sparql/SparqlAlgebra.js +4 -0
- package/lib/cjs/sparql/SparqlAlgebra.js.map +1 -0
- package/lib/cjs/sparql/SparqlStore.d.ts +52 -0
- package/lib/cjs/sparql/SparqlStore.js +81 -0
- package/lib/cjs/sparql/SparqlStore.js.map +1 -0
- package/lib/cjs/sparql/algebraToString.d.ts +13 -0
- package/lib/cjs/sparql/algebraToString.js +298 -0
- package/lib/cjs/sparql/algebraToString.js.map +1 -0
- package/lib/cjs/sparql/index.d.ts +9 -0
- package/lib/cjs/sparql/index.js +40 -0
- package/lib/cjs/sparql/index.js.map +1 -0
- package/lib/cjs/sparql/irToAlgebra.d.ts +39 -0
- package/lib/cjs/sparql/irToAlgebra.js +927 -0
- package/lib/cjs/sparql/irToAlgebra.js.map +1 -0
- package/lib/cjs/sparql/resultMapping.d.ts +36 -0
- package/lib/cjs/sparql/resultMapping.js +501 -0
- package/lib/cjs/sparql/resultMapping.js.map +1 -0
- package/lib/cjs/sparql/sparqlUtils.d.ts +32 -0
- package/lib/cjs/sparql/sparqlUtils.js +89 -0
- package/lib/cjs/sparql/sparqlUtils.js.map +1 -0
- package/lib/cjs/test-helpers/FusekiStore.d.ts +29 -0
- package/lib/cjs/test-helpers/FusekiStore.js +82 -0
- package/lib/cjs/test-helpers/FusekiStore.js.map +1 -0
- package/lib/cjs/test-helpers/fuseki-test-store.d.ts +43 -0
- package/lib/cjs/test-helpers/fuseki-test-store.js +144 -0
- package/lib/cjs/test-helpers/fuseki-test-store.js.map +1 -0
- package/lib/cjs/test-helpers/query-capture-store.d.ts +5 -0
- package/lib/cjs/test-helpers/query-capture-store.js +59 -0
- package/lib/cjs/test-helpers/query-capture-store.js.map +1 -0
- package/lib/cjs/test-helpers/query-fixtures.d.ts +700 -117
- package/lib/cjs/test-helpers/query-fixtures.js +39 -1
- package/lib/cjs/test-helpers/query-fixtures.js.map +1 -1
- package/lib/cjs/utils/LinkedStorage.d.ts +7 -7
- package/lib/cjs/utils/LinkedStorage.js +4 -3
- package/lib/cjs/utils/LinkedStorage.js.map +1 -1
- package/lib/esm/index.js +4 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/interfaces/IQuadStore.d.ts +19 -7
- package/lib/esm/queries/CreateQuery.d.ts +7 -8
- package/lib/esm/queries/CreateQuery.js +4 -4
- package/lib/esm/queries/CreateQuery.js.map +1 -1
- package/lib/esm/queries/DeleteQuery.d.ts +7 -8
- package/lib/esm/queries/DeleteQuery.js +4 -4
- package/lib/esm/queries/DeleteQuery.js.map +1 -1
- package/lib/esm/queries/IRAliasScope.d.ts +20 -0
- package/lib/esm/queries/IRAliasScope.js +47 -0
- package/lib/esm/queries/IRAliasScope.js.map +1 -0
- package/lib/esm/queries/IRCanonicalize.d.ts +36 -0
- package/lib/esm/queries/IRCanonicalize.js +116 -0
- package/lib/esm/queries/IRCanonicalize.js.map +1 -0
- package/lib/esm/queries/IRDesugar.d.ts +98 -0
- package/lib/esm/queries/IRDesugar.js +240 -0
- package/lib/esm/queries/IRDesugar.js.map +1 -0
- package/lib/esm/queries/IRLower.d.ts +8 -0
- package/lib/esm/queries/IRLower.js +268 -0
- package/lib/esm/queries/IRLower.js.map +1 -0
- package/lib/esm/queries/IRMutation.d.ts +23 -0
- package/lib/esm/queries/IRMutation.js +71 -0
- package/lib/esm/queries/IRMutation.js.map +1 -0
- package/lib/esm/queries/IRPipeline.d.ts +8 -0
- package/lib/esm/queries/IRPipeline.js +21 -0
- package/lib/esm/queries/IRPipeline.js.map +1 -0
- package/lib/esm/queries/IRProjection.d.ts +38 -0
- package/lib/esm/queries/IRProjection.js +92 -0
- package/lib/esm/queries/IRProjection.js.map +1 -0
- package/lib/esm/queries/IntermediateRepresentation.d.ts +210 -0
- package/lib/esm/queries/IntermediateRepresentation.js +2 -0
- package/lib/esm/queries/IntermediateRepresentation.js.map +1 -0
- package/lib/esm/queries/MutationQuery.js +9 -23
- package/lib/esm/queries/MutationQuery.js.map +1 -1
- package/lib/esm/queries/QueryFactory.d.ts +0 -2
- package/lib/esm/queries/QueryFactory.js +0 -3
- package/lib/esm/queries/QueryFactory.js.map +1 -1
- package/lib/esm/queries/QueryParser.d.ts +6 -1
- package/lib/esm/queries/QueryParser.js +14 -23
- package/lib/esm/queries/QueryParser.js.map +1 -1
- package/lib/esm/queries/SelectQuery.d.ts +18 -27
- package/lib/esm/queries/SelectQuery.js +54 -45
- package/lib/esm/queries/SelectQuery.js.map +1 -1
- package/lib/esm/queries/UpdateQuery.d.ts +8 -9
- package/lib/esm/queries/UpdateQuery.js +4 -4
- package/lib/esm/queries/UpdateQuery.js.map +1 -1
- package/lib/esm/shapes/SHACL.d.ts +1 -0
- package/lib/esm/shapes/SHACL.js +82 -2
- package/lib/esm/shapes/SHACL.js.map +1 -1
- package/lib/esm/shapes/Shape.d.ts +11 -10
- package/lib/esm/shapes/Shape.js +11 -5
- package/lib/esm/shapes/Shape.js.map +1 -1
- package/lib/esm/sparql/SparqlAlgebra.d.ts +158 -0
- package/lib/esm/sparql/SparqlAlgebra.js +3 -0
- package/lib/esm/sparql/SparqlAlgebra.js.map +1 -0
- package/lib/esm/sparql/SparqlStore.d.ts +52 -0
- package/lib/esm/sparql/SparqlStore.js +77 -0
- package/lib/esm/sparql/SparqlStore.js.map +1 -0
- package/lib/esm/sparql/algebraToString.d.ts +13 -0
- package/lib/esm/sparql/algebraToString.js +289 -0
- package/lib/esm/sparql/algebraToString.js.map +1 -0
- package/lib/esm/sparql/index.d.ts +9 -0
- package/lib/esm/sparql/index.js +13 -0
- package/lib/esm/sparql/index.js.map +1 -0
- package/lib/esm/sparql/irToAlgebra.d.ts +39 -0
- package/lib/esm/sparql/irToAlgebra.js +917 -0
- package/lib/esm/sparql/irToAlgebra.js.map +1 -0
- package/lib/esm/sparql/resultMapping.d.ts +36 -0
- package/lib/esm/sparql/resultMapping.js +496 -0
- package/lib/esm/sparql/resultMapping.js.map +1 -0
- package/lib/esm/sparql/sparqlUtils.d.ts +32 -0
- package/lib/esm/sparql/sparqlUtils.js +82 -0
- package/lib/esm/sparql/sparqlUtils.js.map +1 -0
- package/lib/esm/test-helpers/FusekiStore.d.ts +29 -0
- package/lib/esm/test-helpers/FusekiStore.js +78 -0
- package/lib/esm/test-helpers/FusekiStore.js.map +1 -0
- package/lib/esm/test-helpers/fuseki-test-store.d.ts +43 -0
- package/lib/esm/test-helpers/fuseki-test-store.js +135 -0
- package/lib/esm/test-helpers/fuseki-test-store.js.map +1 -0
- package/lib/esm/test-helpers/query-capture-store.d.ts +5 -0
- package/lib/esm/test-helpers/query-capture-store.js +55 -0
- package/lib/esm/test-helpers/query-capture-store.js.map +1 -0
- package/lib/esm/test-helpers/query-fixtures.d.ts +700 -117
- package/lib/esm/test-helpers/query-fixtures.js +38 -0
- package/lib/esm/test-helpers/query-fixtures.js.map +1 -1
- package/lib/esm/utils/LinkedStorage.d.ts +7 -7
- package/lib/esm/utils/LinkedStorage.js +4 -3
- package/lib/esm/utils/LinkedStorage.js.map +1 -1
- package/package.json +7 -3
- package/lib/cjs/interfaces/IQueryParser.d.ts +0 -13
- package/lib/cjs/interfaces/IQueryParser.js +0 -10
- package/lib/cjs/interfaces/IQueryParser.js.map +0 -1
- package/lib/esm/interfaces/IQueryParser.d.ts +0 -13
- package/lib/esm/interfaces/IQueryParser.js +0 -7
- package/lib/esm/interfaces/IQueryParser.js.map +0 -1
|
@@ -5,6 +5,8 @@ import { CoreSet } from '../collections/CoreSet.js';
|
|
|
5
5
|
import { getPropertyShapeByLabel, getShapeClass } from '../utils/ShapeClass.js';
|
|
6
6
|
import { QueryFactory } from './QueryFactory.js';
|
|
7
7
|
import { xsd } from '../ontologies/xsd.js';
|
|
8
|
+
import { buildSelectQuery, } from './IRPipeline.js';
|
|
9
|
+
import { QueryParser } from './QueryParser.js';
|
|
8
10
|
const isSameRef = (a, b) => !!a && !!b && a.id === b.id;
|
|
9
11
|
export var WhereMethods;
|
|
10
12
|
(function (WhereMethods) {
|
|
@@ -241,18 +243,26 @@ export class BoundComponent extends QueryBuilderObject {
|
|
|
241
243
|
throw new Error('Unknown value type for query object. Keep to this format: {propName: Shape.query(s => ...)}');
|
|
242
244
|
}
|
|
243
245
|
}
|
|
244
|
-
throw new Error('Unknown data query type. Expected a
|
|
246
|
+
throw new Error('Unknown data query type. Expected a SelectQueryFactory (from Shape.query()) or an object with 1 key whose value is a SelectQueryFactory');
|
|
245
247
|
}
|
|
246
248
|
getPropertyPath() {
|
|
247
249
|
let sourcePath = this.source.getPropertyPath();
|
|
248
250
|
let requestQuery = this.getParentQueryFactory();
|
|
249
|
-
let compSelectQuery = requestQuery.
|
|
251
|
+
let compSelectQuery = requestQuery.getQueryPaths();
|
|
250
252
|
if (Array.isArray(sourcePath)) {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
253
|
+
if (Array.isArray(compSelectQuery)) {
|
|
254
|
+
// QueryPath[] — unwrap single-element arrays for compact representation
|
|
255
|
+
const unwrapped = compSelectQuery.length === 1
|
|
256
|
+
? Array.isArray(compSelectQuery[0]) && compSelectQuery[0].length === 1
|
|
257
|
+
? compSelectQuery[0][0]
|
|
258
|
+
: compSelectQuery[0]
|
|
259
|
+
: compSelectQuery;
|
|
260
|
+
sourcePath.push(unwrapped);
|
|
261
|
+
}
|
|
262
|
+
else {
|
|
263
|
+
// CustomQueryObject
|
|
264
|
+
sourcePath.push(compSelectQuery);
|
|
265
|
+
}
|
|
256
266
|
}
|
|
257
267
|
return sourcePath;
|
|
258
268
|
}
|
|
@@ -447,6 +457,13 @@ export class QueryShapeSet extends QueryBuilderObject {
|
|
|
447
457
|
subQuery.parentQueryPath = this.getPropertyPath();
|
|
448
458
|
return subQuery;
|
|
449
459
|
}
|
|
460
|
+
selectAll() {
|
|
461
|
+
let leastSpecificShape = this.getOriginalValue().getLeastSpecificShape();
|
|
462
|
+
const propertyLabels = leastSpecificShape.shape
|
|
463
|
+
.getUniquePropertyShapes()
|
|
464
|
+
.map((propertyShape) => propertyShape.label);
|
|
465
|
+
return this.select((shape) => propertyLabels.map((label) => shape[label]));
|
|
466
|
+
}
|
|
450
467
|
some(validation) {
|
|
451
468
|
return this.someOrEvery(validation, WhereMethods.SOME);
|
|
452
469
|
}
|
|
@@ -560,6 +577,13 @@ export class QueryShape extends QueryBuilderObject {
|
|
|
560
577
|
subQuery.parentQueryPath = this.getPropertyPath();
|
|
561
578
|
return subQuery;
|
|
562
579
|
}
|
|
580
|
+
selectAll() {
|
|
581
|
+
let leastSpecificShape = getShapeClass(this.getOriginalValue().nodeShape.id);
|
|
582
|
+
const propertyLabels = leastSpecificShape.shape
|
|
583
|
+
.getUniquePropertyShapes()
|
|
584
|
+
.map((propertyShape) => propertyShape.label);
|
|
585
|
+
return this.select((shape) => propertyLabels.map((label) => shape[label]));
|
|
586
|
+
}
|
|
563
587
|
}
|
|
564
588
|
export class Evaluation {
|
|
565
589
|
constructor(value, method, args) {
|
|
@@ -626,14 +650,6 @@ export class Evaluation {
|
|
|
626
650
|
}
|
|
627
651
|
class SetEvaluation extends Evaluation {
|
|
628
652
|
}
|
|
629
|
-
// class QueryBoolean extends QueryBuilderObject<boolean> {
|
|
630
|
-
// constructor(
|
|
631
|
-
// property?: PropertyShape,
|
|
632
|
-
// subject?: QueryShape<any> | QueryShapeSet<any>,
|
|
633
|
-
// ) {
|
|
634
|
-
// super(property, subject);
|
|
635
|
-
// }
|
|
636
|
-
// }
|
|
637
653
|
/**
|
|
638
654
|
* The class that is used for when JS primitives are converted to a QueryValue
|
|
639
655
|
* This is extended by QueryString, QueryNumber, QueryBoolean, etc
|
|
@@ -797,40 +813,33 @@ export class SelectQueryFactory extends QueryFactory {
|
|
|
797
813
|
return this;
|
|
798
814
|
}
|
|
799
815
|
exec() {
|
|
800
|
-
return
|
|
816
|
+
return QueryParser.selectQuery(this);
|
|
801
817
|
}
|
|
802
818
|
/**
|
|
803
|
-
*
|
|
819
|
+
* Returns the raw pipeline input for this query.
|
|
820
|
+
* Used internally by build() and by test helpers that need
|
|
821
|
+
* to feed factory state into individual pipeline stages.
|
|
804
822
|
*/
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
('id' in this.subject || 'id' in this.subject)),
|
|
820
|
-
};
|
|
821
|
-
if (this.wherePath) {
|
|
822
|
-
selectQuery.where = this.wherePath;
|
|
823
|
-
}
|
|
824
|
-
return selectQuery;
|
|
825
|
-
}
|
|
826
|
-
catch (err) {
|
|
827
|
-
console.error('Error in getQueryObject', err);
|
|
828
|
-
throw err;
|
|
823
|
+
toRawInput() {
|
|
824
|
+
const input = {
|
|
825
|
+
select: this.getQueryPaths(),
|
|
826
|
+
subject: this.getSubject(),
|
|
827
|
+
limit: this.limit,
|
|
828
|
+
offset: this.offset,
|
|
829
|
+
shape: this.shape,
|
|
830
|
+
sortBy: this.getSortByPath(),
|
|
831
|
+
singleResult: this.singleResult ||
|
|
832
|
+
!!(this.subject &&
|
|
833
|
+
('id' in this.subject || 'id' in this.subject)),
|
|
834
|
+
};
|
|
835
|
+
if (this.wherePath) {
|
|
836
|
+
input.where = this.wherePath;
|
|
829
837
|
}
|
|
838
|
+
return input;
|
|
839
|
+
}
|
|
840
|
+
build() {
|
|
841
|
+
return buildSelectQuery(this.toRawInput());
|
|
830
842
|
}
|
|
831
|
-
// applyTo(subject) {
|
|
832
|
-
// return new LinkedQuery(this.shape, this.queryBuildFn, subject);
|
|
833
|
-
// }
|
|
834
843
|
getSubject() {
|
|
835
844
|
var _a, _b;
|
|
836
845
|
//if the subject is a QueryShape which comes from query context
|
|
@@ -915,7 +924,7 @@ export class SelectQueryFactory extends QueryFactory {
|
|
|
915
924
|
});
|
|
916
925
|
}
|
|
917
926
|
isValidResult(qResult) {
|
|
918
|
-
let select = this.
|
|
927
|
+
let select = this.getQueryPaths();
|
|
919
928
|
if (Array.isArray(select)) {
|
|
920
929
|
return this.isValidQueryPathsResult(qResult, select);
|
|
921
930
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectQuery.js","sourceRoot":"","sources":["../../../src/queries/SelectQuery.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectQuery.js","sourceRoot":"","sources":["../../../src/queries/SelectQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
import { Shape } from '../shapes/Shape.js';
|
|
2
|
-
import {
|
|
3
|
-
import { NodeShape } from '../shapes/SHACL.js';
|
|
2
|
+
import { NodeDescriptionValue, NodeReferenceValue, UpdatePartial } from './QueryFactory.js';
|
|
4
3
|
import { MutationQueryFactory } from './MutationQuery.js';
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
import { IRUpdateMutation } from './IntermediateRepresentation.js';
|
|
5
|
+
/**
|
|
6
|
+
* The canonical UpdateQuery type — an IR AST node representing an update mutation.
|
|
7
|
+
* This is the type received by IQuadStore.updateQuery().
|
|
8
|
+
*/
|
|
9
|
+
export type UpdateQuery = IRUpdateMutation;
|
|
11
10
|
export declare class UpdateQueryFactory<ShapeType extends Shape, U extends UpdatePartial<ShapeType>> extends MutationQueryFactory {
|
|
12
11
|
shapeClass: typeof Shape;
|
|
13
12
|
readonly id: string;
|
|
14
13
|
readonly fields: NodeDescriptionValue;
|
|
15
14
|
constructor(shapeClass: typeof Shape, id: string | NodeReferenceValue, updateObjectOrFn: U);
|
|
16
|
-
|
|
15
|
+
build(): UpdateQuery;
|
|
17
16
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { toNodeReference, } from './QueryFactory.js';
|
|
2
2
|
import { MutationQueryFactory } from './MutationQuery.js';
|
|
3
|
+
import { buildCanonicalUpdateMutationIR } from './IRMutation.js';
|
|
3
4
|
export class UpdateQueryFactory extends MutationQueryFactory {
|
|
4
5
|
constructor(shapeClass, id, updateObjectOrFn) {
|
|
5
6
|
super();
|
|
@@ -7,13 +8,12 @@ export class UpdateQueryFactory extends MutationQueryFactory {
|
|
|
7
8
|
this.id = toNodeReference(id).id;
|
|
8
9
|
this.fields = this.convertUpdateObject(updateObjectOrFn, this.shapeClass.shape);
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
return {
|
|
12
|
-
type: 'update',
|
|
11
|
+
build() {
|
|
12
|
+
return buildCanonicalUpdateMutationIR({
|
|
13
13
|
id: this.id,
|
|
14
14
|
shape: this.shapeClass.shape,
|
|
15
15
|
updates: this.fields,
|
|
16
|
-
};
|
|
16
|
+
});
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
//# sourceMappingURL=UpdateQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateQuery.js","sourceRoot":"","sources":["../../../src/queries/UpdateQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,eAAe,GAChB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"UpdateQuery.js","sourceRoot":"","sources":["../../../src/queries/UpdateQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAC,oBAAoB,EAAC,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAC,8BAA8B,EAAC,MAAM,iBAAiB,CAAC;AAQ/D,MAAM,OAAO,kBAGX,SAAQ,oBAAoB;IAI5B,YACS,UAAwB,EAC/B,EAA+B,EAC/B,gBAAmB;QAEnB,KAAK,EAAE,CAAC;QAJD,eAAU,GAAV,UAAU,CAAc;QAK/B,IAAI,CAAC,EAAE,GAAG,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,mBAAmB,CACpC,gBAAgB,EAChB,IAAI,CAAC,UAAU,CAAC,KAAK,CACtB,CAAC;IACJ,CAAC;IAED,KAAK;QACH,OAAO,8BAA8B,CAAC;YACpC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK;YAC5B,OAAO,EAAE,IAAI,CAAC,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -151,6 +151,7 @@ export declare class NodeShape extends Shape {
|
|
|
151
151
|
get properties(): QResult<PropertyShape>[];
|
|
152
152
|
addPropertyShape(propertyShape: PropertyShape): void;
|
|
153
153
|
getPropertyShapes(includeSuperClasses?: boolean): PropertyShape[];
|
|
154
|
+
getUniquePropertyShapes(): PropertyShape[];
|
|
154
155
|
getPropertyShape(label: string, checkSubShapes?: boolean): PropertyShape;
|
|
155
156
|
validateNode(_node?: unknown): boolean;
|
|
156
157
|
equals(other: NodeShape): boolean;
|
package/lib/esm/shapes/SHACL.js
CHANGED
|
@@ -41,6 +41,9 @@ const normalizeNodeKind = (nodeKind, defaultNodeKind) => {
|
|
|
41
41
|
}
|
|
42
42
|
return nodeKind;
|
|
43
43
|
};
|
|
44
|
+
const EXPLICIT_NODE_KIND_SYMBOL = Symbol('explicitNodeKind');
|
|
45
|
+
const EXPLICIT_MIN_COUNT_SYMBOL = Symbol('explicitMinCount');
|
|
46
|
+
const EXPLICIT_MAX_COUNT_SYMBOL = Symbol('explicitMaxCount');
|
|
44
47
|
export class NodeShape extends Shape {
|
|
45
48
|
constructor(node) {
|
|
46
49
|
super(node);
|
|
@@ -80,6 +83,17 @@ export class NodeShape extends Shape {
|
|
|
80
83
|
}
|
|
81
84
|
return res;
|
|
82
85
|
}
|
|
86
|
+
getUniquePropertyShapes() {
|
|
87
|
+
const uniquePropertyShapes = [];
|
|
88
|
+
const seen = new Set();
|
|
89
|
+
this.getPropertyShapes(true).forEach((propertyShape) => {
|
|
90
|
+
if (!seen.has(propertyShape.label)) {
|
|
91
|
+
seen.add(propertyShape.label);
|
|
92
|
+
uniquePropertyShapes.push(propertyShape);
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
return uniquePropertyShapes;
|
|
96
|
+
}
|
|
83
97
|
getPropertyShape(label, checkSubShapes = true) {
|
|
84
98
|
let shapeClass = getShapeClass(this.id);
|
|
85
99
|
let res;
|
|
@@ -204,7 +218,20 @@ const connectValueShape = (config, propertyKey, property) => {
|
|
|
204
218
|
}
|
|
205
219
|
};
|
|
206
220
|
export function registerPropertyShape(shape, propertyShape) {
|
|
221
|
+
const inherited = shape.getPropertyShape(propertyShape.label, true);
|
|
207
222
|
const existing = shape.getPropertyShape(propertyShape.label, false);
|
|
223
|
+
if (!existing && inherited) {
|
|
224
|
+
if (!propertyShape[EXPLICIT_MIN_COUNT_SYMBOL]) {
|
|
225
|
+
propertyShape.minCount = inherited.minCount;
|
|
226
|
+
}
|
|
227
|
+
if (!propertyShape[EXPLICIT_MAX_COUNT_SYMBOL]) {
|
|
228
|
+
propertyShape.maxCount = inherited.maxCount;
|
|
229
|
+
}
|
|
230
|
+
if (!propertyShape[EXPLICIT_NODE_KIND_SYMBOL]) {
|
|
231
|
+
propertyShape.nodeKind = inherited.nodeKind;
|
|
232
|
+
}
|
|
233
|
+
validateOverrideTightening(shape, inherited, propertyShape);
|
|
234
|
+
}
|
|
208
235
|
if (existing) {
|
|
209
236
|
Object.assign(existing, propertyShape);
|
|
210
237
|
return existing;
|
|
@@ -213,6 +240,53 @@ export function registerPropertyShape(shape, propertyShape) {
|
|
|
213
240
|
shape.addPropertyShape(propertyShape);
|
|
214
241
|
return propertyShape;
|
|
215
242
|
}
|
|
243
|
+
const ATOMIC_NODE_KINDS = [
|
|
244
|
+
shacl.BlankNode.id,
|
|
245
|
+
shacl.IRI.id,
|
|
246
|
+
shacl.Literal.id,
|
|
247
|
+
];
|
|
248
|
+
const nodeKindToAtomics = (nodeKind) => {
|
|
249
|
+
if (!(nodeKind === null || nodeKind === void 0 ? void 0 : nodeKind.id)) {
|
|
250
|
+
return new Set();
|
|
251
|
+
}
|
|
252
|
+
switch (nodeKind.id) {
|
|
253
|
+
case shacl.BlankNode.id:
|
|
254
|
+
case shacl.IRI.id:
|
|
255
|
+
case shacl.Literal.id:
|
|
256
|
+
return new Set([nodeKind.id]);
|
|
257
|
+
case shacl.BlankNodeOrIRI.id:
|
|
258
|
+
return new Set([shacl.BlankNode.id, shacl.IRI.id]);
|
|
259
|
+
case shacl.IRIOrLiteral.id:
|
|
260
|
+
return new Set([shacl.IRI.id, shacl.Literal.id]);
|
|
261
|
+
case shacl.BlankNodeOrLiteral.id:
|
|
262
|
+
return new Set([shacl.BlankNode.id, shacl.Literal.id]);
|
|
263
|
+
default:
|
|
264
|
+
return new Set(ATOMIC_NODE_KINDS);
|
|
265
|
+
}
|
|
266
|
+
};
|
|
267
|
+
const throwOverrideError = (shape, propertyShape, message) => {
|
|
268
|
+
throw new Error(`Invalid override for ${shape.label}.${propertyShape.label}: ${message}`);
|
|
269
|
+
};
|
|
270
|
+
const validateOverrideTightening = (shape, base, override) => {
|
|
271
|
+
if (typeof base.minCount === 'number' &&
|
|
272
|
+
typeof override.minCount === 'number' &&
|
|
273
|
+
override.minCount < base.minCount) {
|
|
274
|
+
throwOverrideError(shape, override, `minCount cannot be lowered (${base.minCount} -> ${override.minCount}).`);
|
|
275
|
+
}
|
|
276
|
+
if (typeof base.maxCount === 'number' &&
|
|
277
|
+
typeof override.maxCount === 'number' &&
|
|
278
|
+
override.maxCount > base.maxCount) {
|
|
279
|
+
throwOverrideError(shape, override, `maxCount cannot be increased (${base.maxCount} -> ${override.maxCount}).`);
|
|
280
|
+
}
|
|
281
|
+
if (base.nodeKind && override.nodeKind) {
|
|
282
|
+
const baseKinds = nodeKindToAtomics(base.nodeKind);
|
|
283
|
+
const overrideKinds = nodeKindToAtomics(override.nodeKind);
|
|
284
|
+
const widensNodeKind = [...overrideKinds].some((kind) => !baseKinds.has(kind));
|
|
285
|
+
if (widensNodeKind) {
|
|
286
|
+
throwOverrideError(shape, override, `nodeKind cannot be widened (${base.nodeKind.id} -> ${override.nodeKind.id}).`);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
};
|
|
216
290
|
export function createPropertyShape(config, propertyKey, defaultNodeKind = null, shapeClass = null) {
|
|
217
291
|
const propertyShape = new PropertyShape();
|
|
218
292
|
propertyShape.path = normalizePathInput(config.path);
|
|
@@ -226,12 +300,16 @@ export function createPropertyShape(config, propertyKey, defaultNodeKind = null,
|
|
|
226
300
|
if (config.required) {
|
|
227
301
|
propertyShape.minCount = 1;
|
|
228
302
|
}
|
|
229
|
-
else if (config.minCount) {
|
|
303
|
+
else if (config.minCount !== undefined) {
|
|
230
304
|
propertyShape.minCount = config.minCount;
|
|
231
305
|
}
|
|
232
|
-
|
|
306
|
+
propertyShape[EXPLICIT_MIN_COUNT_SYMBOL] =
|
|
307
|
+
config.required === true || config.minCount !== undefined;
|
|
308
|
+
if (config.maxCount !== undefined) {
|
|
233
309
|
propertyShape.maxCount = config.maxCount;
|
|
234
310
|
}
|
|
311
|
+
propertyShape[EXPLICIT_MAX_COUNT_SYMBOL] =
|
|
312
|
+
config.maxCount !== undefined;
|
|
235
313
|
if (config.datatype) {
|
|
236
314
|
propertyShape.datatype = toPlainNodeRef(config.datatype);
|
|
237
315
|
}
|
|
@@ -257,6 +335,8 @@ export function createPropertyShape(config, propertyKey, defaultNodeKind = null,
|
|
|
257
335
|
propertyShape.sortBy = normalizePathInput(config.sortBy);
|
|
258
336
|
}
|
|
259
337
|
propertyShape.nodeKind = normalizeNodeKind(config.nodeKind, defaultNodeKind);
|
|
338
|
+
propertyShape[EXPLICIT_NODE_KIND_SYMBOL] =
|
|
339
|
+
config.nodeKind !== undefined;
|
|
260
340
|
if (shapeClass) {
|
|
261
341
|
onShapeSetup(shapeClass, (shape) => {
|
|
262
342
|
connectValueShape(config, propertyKey, propertyShape);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SHACL.js","sourceRoot":"","sources":["../../../src/shapes/SHACL.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SHACL.js","sourceRoot":"","sources":["../../../src/shapes/SHACL.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { ICoreIterable } from '../interfaces/ICoreIterable.js';
|
|
2
2
|
import type { NodeShape, PropertyShape } from './SHACL.js';
|
|
3
|
-
import { GetQueryResponseType, PatchedQueryPromise, QResult, QShape, QueryBuildFn, QueryResponseToResultType, SelectQueryFactory } from '../queries/SelectQuery.js';
|
|
4
|
-
import type { IQueryParser } from '../interfaces/IQueryParser.js';
|
|
3
|
+
import { GetQueryResponseType, PatchedQueryPromise, QResult, QShape, QueryBuildFn, QueryResponseToResultType, SelectAllQueryResponse, SelectQueryFactory } from '../queries/SelectQuery.js';
|
|
5
4
|
import { AddId, NodeReferenceValue, UpdatePartial } from '../queries/QueryFactory.js';
|
|
6
5
|
import { CreateResponse } from '../queries/CreateQuery.js';
|
|
7
6
|
import { DeleteResponse } from '../queries/DeleteQuery.js';
|
|
@@ -17,7 +16,6 @@ export type ShapeType<S extends Shape = Shape> = (abstract new (...args: any[])
|
|
|
17
16
|
};
|
|
18
17
|
export declare abstract class Shape {
|
|
19
18
|
static targetClass: NodeReferenceValue;
|
|
20
|
-
static queryParser: IQueryParser;
|
|
21
19
|
static shape: NodeShape;
|
|
22
20
|
static typesToShapes: Map<string, Set<typeof Shape>>;
|
|
23
21
|
__queryContextId?: string;
|
|
@@ -48,31 +46,34 @@ export declare abstract class Shape {
|
|
|
48
46
|
*/
|
|
49
47
|
static select<ShapeType extends Shape, S = unknown, ResultType = QueryResponseToResultType<S, ShapeType>[]>(this: {
|
|
50
48
|
new (...args: any[]): ShapeType;
|
|
51
|
-
queryParser: IQueryParser;
|
|
52
49
|
}, selectFn: QueryBuildFn<ShapeType, S>): Promise<ResultType> & PatchedQueryPromise<ResultType, ShapeType>;
|
|
53
50
|
static select<ShapeType extends Shape, S = unknown, ResultType = QueryResponseToResultType<GetQueryResponseType<SelectQueryFactory<ShapeType, S>>, ShapeType>[]>(this: {
|
|
54
51
|
new (...args: any[]): ShapeType;
|
|
55
|
-
queryParser: IQueryParser;
|
|
56
52
|
}): Promise<ResultType> & PatchedQueryPromise<ResultType, ShapeType>;
|
|
57
53
|
static select<ShapeType extends Shape, S = unknown, ResultType = QueryResponseToResultType<GetQueryResponseType<SelectQueryFactory<ShapeType, S>>, ShapeType>>(this: {
|
|
58
54
|
new (...args: any[]): ShapeType;
|
|
59
|
-
queryParser: IQueryParser;
|
|
60
55
|
}, subjects?: ShapeType | QResult<ShapeType>, selectFn?: QueryBuildFn<ShapeType, S>): Promise<ResultType> & PatchedQueryPromise<ResultType, ShapeType>;
|
|
61
56
|
static select<ShapeType extends Shape, S = unknown, ResultType = QueryResponseToResultType<GetQueryResponseType<SelectQueryFactory<ShapeType, S>>, ShapeType>[]>(this: {
|
|
62
57
|
new (...args: any[]): ShapeType;
|
|
63
|
-
queryParser: IQueryParser;
|
|
64
58
|
}, subjects?: ICoreIterable<ShapeType> | QResult<ShapeType>[], selectFn?: QueryBuildFn<ShapeType, S>): Promise<ResultType> & PatchedQueryPromise<ResultType, ShapeType>;
|
|
59
|
+
/**
|
|
60
|
+
* Select all decorated properties of this shape.
|
|
61
|
+
* Returns a single result if a single subject is provided, or an array of results if no subject is provided.
|
|
62
|
+
*/
|
|
63
|
+
static selectAll<ShapeType extends Shape, ResultType = QueryResponseToResultType<SelectAllQueryResponse<ShapeType>, ShapeType>[]>(this: {
|
|
64
|
+
new (...args: any[]): ShapeType;
|
|
65
|
+
}): Promise<ResultType> & PatchedQueryPromise<ResultType, ShapeType>;
|
|
66
|
+
static selectAll<ShapeType extends Shape, ResultType = QueryResponseToResultType<SelectAllQueryResponse<ShapeType>, ShapeType>>(this: {
|
|
67
|
+
new (...args: any[]): ShapeType;
|
|
68
|
+
}, subject: ShapeType | QResult<ShapeType>): Promise<ResultType> & PatchedQueryPromise<ResultType, ShapeType>;
|
|
65
69
|
static update<ShapeType extends Shape, U extends UpdatePartial<ShapeType>>(this: {
|
|
66
70
|
new (...args: any[]): ShapeType;
|
|
67
|
-
queryParser: IQueryParser;
|
|
68
71
|
}, id: string | NodeReferenceValue | QShape<ShapeType>, updateObjectOrFn?: U): Promise<AddId<U>>;
|
|
69
72
|
static create<ShapeType extends Shape, U extends UpdatePartial<ShapeType>>(this: {
|
|
70
73
|
new (...args: any[]): ShapeType;
|
|
71
|
-
queryParser: IQueryParser;
|
|
72
74
|
}, updateObjectOrFn?: U): Promise<CreateResponse<U>>;
|
|
73
75
|
static delete<ShapeType extends Shape, U extends UpdatePartial<ShapeType>>(this: {
|
|
74
76
|
new (...args: any[]): ShapeType;
|
|
75
|
-
queryParser: IQueryParser;
|
|
76
77
|
}, id: NodeId | NodeId[] | NodeReferenceValue[]): Promise<DeleteResponse>;
|
|
77
78
|
static mapPropertyShapes<ShapeType extends Shape, ResponseType = unknown>(this: {
|
|
78
79
|
new (...args: any[]): ShapeType;
|