@_linked/core 2.14.4 → 2.15.0-next.20260712155143

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 (73) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/README.md +1 -1
  3. package/lib/esm/expressions/ExpressionNode.d.ts +3 -3
  4. package/lib/esm/expressions/ExpressionNode.js +1 -1
  5. package/lib/esm/expressions/ExpressionNode.js.map +1 -1
  6. package/lib/esm/queries/CreateBuilder.d.ts +2 -2
  7. package/lib/esm/queries/CreateBuilder.js +2 -2
  8. package/lib/esm/queries/CreateBuilder.js.map +1 -1
  9. package/lib/esm/queries/CreateQuery.d.ts +2 -2
  10. package/lib/esm/queries/DeleteBuilder.d.ts +2 -2
  11. package/lib/esm/queries/DeleteQuery.d.ts +2 -2
  12. package/lib/esm/queries/DslJsonExpression.d.ts +6 -6
  13. package/lib/esm/queries/DslJsonExpression.js +1 -1
  14. package/lib/esm/queries/DslJsonExpression.js.map +1 -1
  15. package/lib/esm/queries/FieldSet.d.ts +18 -18
  16. package/lib/esm/queries/FieldSet.js +11 -10
  17. package/lib/esm/queries/FieldSet.js.map +1 -1
  18. package/lib/esm/queries/IRDesugar.js +1 -1
  19. package/lib/esm/queries/IRDesugar.js.map +1 -1
  20. package/lib/esm/queries/IRMutation.d.ts +7 -7
  21. package/lib/esm/queries/MutationQuery.d.ts +12 -12
  22. package/lib/esm/queries/MutationQuery.js +4 -3
  23. package/lib/esm/queries/MutationQuery.js.map +1 -1
  24. package/lib/esm/queries/MutationSerialization.d.ts +5 -5
  25. package/lib/esm/queries/MutationSerialization.js +2 -1
  26. package/lib/esm/queries/MutationSerialization.js.map +1 -1
  27. package/lib/esm/queries/PropertyPath.d.ts +8 -8
  28. package/lib/esm/queries/PropertyPath.js +3 -2
  29. package/lib/esm/queries/PropertyPath.js.map +1 -1
  30. package/lib/esm/queries/ProxiedPathBuilder.js +5 -4
  31. package/lib/esm/queries/ProxiedPathBuilder.js.map +1 -1
  32. package/lib/esm/queries/QueryBuilder.d.ts +3 -3
  33. package/lib/esm/queries/QueryBuilder.js +3 -3
  34. package/lib/esm/queries/QueryBuilder.js.map +1 -1
  35. package/lib/esm/queries/QueryBuilderSerialization.d.ts +6 -6
  36. package/lib/esm/queries/QueryBuilderSerialization.js.map +1 -1
  37. package/lib/esm/queries/QueryContext.js +4 -4
  38. package/lib/esm/queries/QueryContext.js.map +1 -1
  39. package/lib/esm/queries/QueryFactory.d.ts +3 -3
  40. package/lib/esm/queries/SelectQuery.d.ts +16 -16
  41. package/lib/esm/queries/SelectQuery.js +22 -27
  42. package/lib/esm/queries/SelectQuery.js.map +1 -1
  43. package/lib/esm/queries/UpdateBuilder.d.ts +2 -2
  44. package/lib/esm/queries/UpdateQuery.d.ts +2 -2
  45. package/lib/esm/queries/lowerMutationJSON.d.ts +2 -2
  46. package/lib/esm/queries/lowerMutationJSON.js +2 -1
  47. package/lib/esm/queries/lowerMutationJSON.js.map +1 -1
  48. package/lib/esm/shapes/SHACL.d.ts +24 -110
  49. package/lib/esm/shapes/SHACL.js +25 -229
  50. package/lib/esm/shapes/SHACL.js.map +1 -1
  51. package/lib/esm/shapes/Shape.d.ts +29 -8
  52. package/lib/esm/shapes/Shape.js +37 -7
  53. package/lib/esm/shapes/Shape.js.map +1 -1
  54. package/lib/esm/shapes/nodeShapeData.d.ts +122 -0
  55. package/lib/esm/shapes/nodeShapeData.js +183 -0
  56. package/lib/esm/shapes/nodeShapeData.js.map +1 -0
  57. package/lib/esm/shapes/syncShapes.js +2 -3
  58. package/lib/esm/shapes/syncShapes.js.map +1 -1
  59. package/lib/esm/sparql/SparqlDataset.d.ts +1 -3
  60. package/lib/esm/sparql/SparqlDataset.js +1 -4
  61. package/lib/esm/sparql/SparqlDataset.js.map +1 -1
  62. package/lib/esm/sparql/irToAlgebra.js +9 -12
  63. package/lib/esm/sparql/irToAlgebra.js.map +1 -1
  64. package/lib/esm/sparql/resultMapping.js +1 -1
  65. package/lib/esm/sparql/resultMapping.js.map +1 -1
  66. package/lib/esm/utils/LinkedStorage.js +1 -1
  67. package/lib/esm/utils/LinkedStorage.js.map +1 -1
  68. package/lib/esm/utils/Package.js +6 -5
  69. package/lib/esm/utils/Package.js.map +1 -1
  70. package/lib/esm/utils/ShapeClass.d.ts +3 -3
  71. package/lib/esm/utils/ShapeClass.js +2 -3
  72. package/lib/esm/utils/ShapeClass.js.map +1 -1
  73. package/package.json +1 -1
@@ -4,11 +4,34 @@ import { UpdateBuilder } from '../queries/UpdateBuilder.js';
4
4
  import { DeleteBuilder } from '../queries/DeleteBuilder.js';
5
5
  import { getPropertyShapeByLabel } from '../utils/ShapeClass.js';
6
6
  import { ShapeSet } from '../collections/ShapeSet.js';
7
+ /**
8
+ * @internal
9
+ * Build a constructor-less, prototype-linked Shape used ONLY as a proxy /
10
+ * metadata-carrier target inside the query DSL (never handed to consumers and
11
+ * never persisted). It is a genuine `Shape` on the prototype chain — so
12
+ * `.constructor`, the `nodeShape` getter, `ShapeSet`, and `getLeastSpecificShape`
13
+ * all work — but it deliberately bypasses the `Shape` constructor, which is
14
+ * guarded to reject direct instantiation. Not exported from the package index.
15
+ */
16
+ export function createShapeTarget(shapeClass, id) {
17
+ const target = Object.create(shapeClass.prototype);
18
+ if (id !== undefined) {
19
+ target.id = id;
20
+ }
21
+ return target;
22
+ }
7
23
  export class Shape {
8
- constructor(node) {
9
- if (node) {
10
- this.id = typeof node === 'string' ? node : node.id;
11
- }
24
+ constructor() {
25
+ var _a;
26
+ // Shapes are metadata, not data: a Shape subclass carries no live per-instance
27
+ // values (its decorated getters return only typing stubs), so `new SomeShape()`
28
+ // is always a mistake. The query DSL never reaches here — it builds
29
+ // constructor-less proxy targets via `createShapeTarget()` (Object.create), and
30
+ // SHACL metadata is plain `NodeShapeData`/`PropertyShapeData` objects. Force
31
+ // consumers to the DSL instead of constructing broken instances.
32
+ const name = ((_a = new.target) === null || _a === void 0 ? void 0 : _a.name) || 'Shape';
33
+ throw new Error(`Cannot instantiate shape \`${name}\` directly — shapes are metadata, not data. ` +
34
+ `Use the DSL instead: ${name}.select(...), .create(...), .update(...), or .delete(...).`);
12
35
  }
13
36
  get nodeShape() {
14
37
  return this.constructor.shape;
@@ -78,10 +101,14 @@ export class Shape {
78
101
  static deleteWhere(fn) {
79
102
  return DeleteBuilder.from(this).where(fn);
80
103
  }
104
+ /**
105
+ * @deprecated Unused; the DSL reads property shapes via `nodeShapeData` free
106
+ * functions and static metadata. Scheduled for removal.
107
+ */
81
108
  static mapPropertyShapes(mapFunction) {
82
109
  // SAFETY: dummyShape is used as a dynamic proxy target — we assign .proxy and
83
110
  // access arbitrary property names on it, which S doesn't declare.
84
- let dummyShape = new this();
111
+ let dummyShape = createShapeTarget(this);
85
112
  dummyShape.proxy = new Proxy(dummyShape, {
86
113
  get(target, key, receiver) {
87
114
  if (typeof key === 'string') {
@@ -100,6 +127,10 @@ export class Shape {
100
127
  });
101
128
  return mapFunction(dummyShape.proxy);
102
129
  }
130
+ /**
131
+ * @deprecated Unused; shapes are metadata and no longer materialized into
132
+ * `ShapeSet`s of instances. Scheduled for removal.
133
+ */
103
134
  static getSetOf(values) {
104
135
  const set = new ShapeSet();
105
136
  for (const value of values) {
@@ -107,8 +138,7 @@ export class Shape {
107
138
  set.add(value);
108
139
  }
109
140
  else {
110
- const instance = new this();
111
- instance.id = typeof value === 'string' ? value : value.id;
141
+ const instance = createShapeTarget(this, typeof value === 'string' ? value : value.id);
112
142
  set.add(instance);
113
143
  }
114
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Shape.js","sourceRoot":"","sources":["../../../src/shapes/Shape.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Shape.js","sourceRoot":"","sources":["../../../src/shapes/Shape.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import type { NodeReferenceValue } from '../utils/NodeReference.js';
2
+ import type { PathExpr } from '../paths/PropertyPathExpr.js';
3
+ /**
4
+ * Plain-object SHACL metadata — the QResult-like shape of a `sh:PropertyShape`.
5
+ *
6
+ * Shapes are metadata, not data: a shape class's `.shape` and its property shapes
7
+ * are plain objects (no class instance, no methods). Operations that used to be
8
+ * instance methods now live as free functions in this module.
9
+ */
10
+ export interface PropertyShapeData {
11
+ id: string;
12
+ label: string;
13
+ path: PathExpr;
14
+ nodeKind?: NodeReferenceValue;
15
+ datatype?: NodeReferenceValue;
16
+ minCount?: number;
17
+ maxCount?: number;
18
+ name?: string;
19
+ description?: string;
20
+ order?: number;
21
+ group?: string;
22
+ class?: NodeReferenceValue;
23
+ in?: (NodeReferenceValue | string | number | boolean)[];
24
+ equalsConstraint?: NodeReferenceValue;
25
+ disjoint?: NodeReferenceValue;
26
+ lessThan?: NodeReferenceValue;
27
+ lessThanOrEquals?: NodeReferenceValue;
28
+ /** Value-range constraints (sh:minInclusive / sh:maxInclusive / sh:minExclusive / sh:maxExclusive). */
29
+ minInclusive?: number;
30
+ maxInclusive?: number;
31
+ minExclusive?: number | string;
32
+ maxExclusive?: number;
33
+ /** String-length constraints (sh:minLength / sh:maxLength). */
34
+ minLength?: number;
35
+ maxLength?: number;
36
+ /** Regex constraint (sh:pattern); serialized as its source string. */
37
+ pattern?: RegExp;
38
+ hasValueConstraint?: NodeReferenceValue | string | number | boolean;
39
+ defaultValue?: unknown;
40
+ sortBy?: PathExpr;
41
+ valueShape?: NodeReferenceValue;
42
+ /** Composition marker: the value(s) of this property are owned by the subject. */
43
+ contains?: boolean;
44
+ parentNodeShape?: NodeShapeData;
45
+ }
46
+ /**
47
+ * Plain-object SHACL metadata — the QResult-like shape of a `sh:NodeShape`.
48
+ */
49
+ export interface NodeShapeData {
50
+ id: string;
51
+ label?: string;
52
+ description?: string;
53
+ targetClass?: NodeReferenceValue;
54
+ extends?: NodeReferenceValue;
55
+ /** Composition marker: instances are dependent (cascade-deletable via `contains`). */
56
+ dependent?: boolean;
57
+ /** sh:closed — target nodes with undeclared properties are invalid. */
58
+ closed?: boolean;
59
+ /** sh:ignoredProperties — extra properties permitted when the shape is closed. */
60
+ ignoredProperties?: NodeReferenceValue[];
61
+ propertyShapes: PropertyShapeData[];
62
+ }
63
+ /**
64
+ * Result object produced by `propertyShapeToResult()` (SHACL projection).
65
+ * @deprecated No production callers remain (the `NodeShape.properties` getter and
66
+ * `PropertyShape.getResult()` were removed with the plain-object conversion). Read
67
+ * the plain `PropertyShapeData` fields directly. Scheduled for removal.
68
+ */
69
+ export interface PropertyShapeResult {
70
+ id: string;
71
+ label: string;
72
+ path: PathExpr;
73
+ nodeKind?: NodeReferenceValue;
74
+ datatype?: NodeReferenceValue;
75
+ minCount?: number;
76
+ maxCount?: number;
77
+ name?: string;
78
+ description?: string;
79
+ order?: number;
80
+ group?: string;
81
+ class?: NodeReferenceValue;
82
+ in?: (NodeReferenceValue | string | number | boolean)[];
83
+ equals?: NodeReferenceValue;
84
+ disjoint?: NodeReferenceValue;
85
+ lessThan?: NodeReferenceValue;
86
+ lessThanOrEquals?: NodeReferenceValue;
87
+ hasValue?: NodeReferenceValue | string | number | boolean;
88
+ defaultValue?: unknown;
89
+ sortBy?: PathExpr;
90
+ valueShape?: NodeReferenceValue;
91
+ }
92
+ /** Create an empty NodeShape metadata object for the given shape IRI. */
93
+ export declare function createNodeShapeData(id: string): NodeShapeData;
94
+ /** Create a blank PropertyShape metadata object (fields filled in by the caller). */
95
+ export declare function createPropertyShapeData(): PropertyShapeData;
96
+ /**
97
+ * Property shapes declared on this NodeShape. With `includeSuperClasses`, walks the
98
+ * registered shape-class inheritance chain (via `getShapeClass(nodeShape.id)`) and
99
+ * concatenates each ancestor's own property shapes.
100
+ */
101
+ export declare function getPropertyShapes(nodeShape: NodeShapeData, includeSuperClasses?: boolean): PropertyShapeData[];
102
+ /** Property shapes across the inheritance chain, deduped by label (most specific wins). */
103
+ export declare function getUniquePropertyShapes(nodeShape: NodeShapeData): PropertyShapeData[];
104
+ /**
105
+ * Find a property shape by label. With `checkSubShapes` (default true), ascends the
106
+ * registered shape-class chain to superclasses if the label isn't found locally.
107
+ */
108
+ export declare function getPropertyShape(nodeShape: NodeShapeData, label: string, checkSubShapes?: boolean): PropertyShapeData | undefined;
109
+ /** Two node shapes are equal when they share the same IRI. */
110
+ export declare function nodeShapeEquals(a: NodeShapeData, b?: NodeShapeData): boolean;
111
+ /** Append a property shape to a node shape, wiring the back-reference. */
112
+ export declare function addPropertyShape(nodeShape: NodeShapeData, propertyShape: PropertyShapeData): void;
113
+ /** Shallow-clone a property shape (used by property override / disallow). */
114
+ export declare function clonePropertyShape(propertyShape: PropertyShapeData): PropertyShapeData;
115
+ /**
116
+ * Project a property shape to its SHACL result object.
117
+ * @deprecated No production callers remain. Read the plain `PropertyShapeData`
118
+ * fields directly (note this projection renames `equalsConstraint`→`equals`,
119
+ * `hasValueConstraint`→`hasValue`, and serializes `pattern` to its source string).
120
+ * Scheduled for removal.
121
+ */
122
+ export declare function propertyShapeToResult(ps: PropertyShapeData): PropertyShapeResult;
@@ -0,0 +1,183 @@
1
+ import { getShapeClass } from '../utils/ShapeClass.js';
2
+ import { Shape } from './Shape.js';
3
+ // ---------------------------------------------------------------------------
4
+ // Factories
5
+ // ---------------------------------------------------------------------------
6
+ /** Create an empty NodeShape metadata object for the given shape IRI. */
7
+ export function createNodeShapeData(id) {
8
+ return { id, propertyShapes: [] };
9
+ }
10
+ /** Create a blank PropertyShape metadata object (fields filled in by the caller). */
11
+ export function createPropertyShapeData() {
12
+ return { id: '', label: '', path: null };
13
+ }
14
+ // ---------------------------------------------------------------------------
15
+ // Free functions (formerly NodeShape/PropertyShape instance methods)
16
+ // ---------------------------------------------------------------------------
17
+ /** One-time warning keys for shapes whose `propertyShapes` is missing/invalid. */
18
+ const warnedMissingPropertyShapes = new Set();
19
+ /**
20
+ * Read a node shape's own property shapes, tolerating a missing/invalid array.
21
+ *
22
+ * A non-array `propertyShapes` almost always means a duplicate `@_linked/core`
23
+ * install or a non-normalized static shape on a superclass; warn once per shape id
24
+ * (diagnostic parity with the former `NodeShape.listPropertyShapesSafe`) and treat
25
+ * it as empty.
26
+ */
27
+ function ownPropertyShapes(nodeShape) {
28
+ var _a;
29
+ const own = nodeShape.propertyShapes;
30
+ if (Array.isArray(own)) {
31
+ return own;
32
+ }
33
+ const id = (_a = nodeShape.id) !== null && _a !== void 0 ? _a : '';
34
+ if (!warnedMissingPropertyShapes.has(id)) {
35
+ warnedMissingPropertyShapes.add(id);
36
+ console.warn(`[@_linked/core] static shape ${id ? `'${id}'` : '(unknown id)'} has missing ` +
37
+ `or invalid propertyShapes. Treating as []. Often caused by duplicate ` +
38
+ `@_linked/core installs or a non-normalized static shape on a superclass.`);
39
+ }
40
+ return [];
41
+ }
42
+ /**
43
+ * Property shapes declared on this NodeShape. With `includeSuperClasses`, walks the
44
+ * registered shape-class inheritance chain (via `getShapeClass(nodeShape.id)`) and
45
+ * concatenates each ancestor's own property shapes.
46
+ */
47
+ export function getPropertyShapes(nodeShape, includeSuperClasses = false) {
48
+ if (!includeSuperClasses) {
49
+ return [...ownPropertyShapes(nodeShape)];
50
+ }
51
+ let shapeClass = getShapeClass(nodeShape.id);
52
+ if (!shapeClass) {
53
+ return [...ownPropertyShapes(nodeShape)];
54
+ }
55
+ const res = [];
56
+ while (shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.shape) {
57
+ res.push(...ownPropertyShapes(shapeClass.shape));
58
+ // Stop at the base Shape class.
59
+ if (shapeClass === Shape) {
60
+ break;
61
+ }
62
+ shapeClass = Object.getPrototypeOf(shapeClass);
63
+ }
64
+ return res;
65
+ }
66
+ /** Property shapes across the inheritance chain, deduped by label (most specific wins). */
67
+ export function getUniquePropertyShapes(nodeShape) {
68
+ const unique = [];
69
+ const seen = new Set();
70
+ for (const ps of getPropertyShapes(nodeShape, true)) {
71
+ if (!seen.has(ps.label)) {
72
+ seen.add(ps.label);
73
+ unique.push(ps);
74
+ }
75
+ }
76
+ return unique;
77
+ }
78
+ /**
79
+ * Find a property shape by label. With `checkSubShapes` (default true), ascends the
80
+ * registered shape-class chain to superclasses if the label isn't found locally.
81
+ */
82
+ export function getPropertyShape(nodeShape, label, checkSubShapes = true) {
83
+ let shapeClass = getShapeClass(nodeShape.id);
84
+ if (!shapeClass) {
85
+ return ownPropertyShapes(nodeShape).find((ps) => ps.label === label);
86
+ }
87
+ let res;
88
+ while (!res && (shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.shape)) {
89
+ res = ownPropertyShapes(shapeClass.shape).find((ps) => ps.label === label);
90
+ if (checkSubShapes) {
91
+ if (shapeClass === Shape) {
92
+ break;
93
+ }
94
+ shapeClass = Object.getPrototypeOf(shapeClass);
95
+ }
96
+ else {
97
+ break;
98
+ }
99
+ }
100
+ return res;
101
+ }
102
+ /** Two node shapes are equal when they share the same IRI. */
103
+ export function nodeShapeEquals(a, b) {
104
+ return !!b && (a === null || a === void 0 ? void 0 : a.id) === b.id;
105
+ }
106
+ /** Append a property shape to a node shape, wiring the back-reference. */
107
+ export function addPropertyShape(nodeShape, propertyShape) {
108
+ propertyShape.parentNodeShape = nodeShape;
109
+ if (!Array.isArray(nodeShape.propertyShapes)) {
110
+ nodeShape.propertyShapes = [];
111
+ }
112
+ nodeShape.propertyShapes.push(propertyShape);
113
+ }
114
+ /** Shallow-clone a property shape (used by property override / disallow). */
115
+ export function clonePropertyShape(propertyShape) {
116
+ return Object.assign({}, propertyShape);
117
+ }
118
+ /**
119
+ * Project a property shape to its SHACL result object.
120
+ * @deprecated No production callers remain. Read the plain `PropertyShapeData`
121
+ * fields directly (note this projection renames `equalsConstraint`→`equals`,
122
+ * `hasValueConstraint`→`hasValue`, and serializes `pattern` to its source string).
123
+ * Scheduled for removal.
124
+ */
125
+ export function propertyShapeToResult(ps) {
126
+ const result = {
127
+ id: ps.id,
128
+ label: ps.label,
129
+ path: ps.path,
130
+ };
131
+ if (ps.nodeKind)
132
+ result.nodeKind = ps.nodeKind;
133
+ if (ps.datatype)
134
+ result.datatype = ps.datatype;
135
+ if (typeof ps.minCount === 'number')
136
+ result.minCount = ps.minCount;
137
+ if (typeof ps.maxCount === 'number')
138
+ result.maxCount = ps.maxCount;
139
+ if (ps.name)
140
+ result.name = ps.name;
141
+ if (ps.description)
142
+ result.description = ps.description;
143
+ if (typeof ps.order === 'number')
144
+ result.order = ps.order;
145
+ if (ps.group)
146
+ result.group = ps.group;
147
+ if (ps.class)
148
+ result.class = ps.class;
149
+ if (ps.in)
150
+ result.in = ps.in;
151
+ if (ps.equalsConstraint)
152
+ result.equals = ps.equalsConstraint;
153
+ if (ps.disjoint)
154
+ result.disjoint = ps.disjoint;
155
+ if (ps.lessThan)
156
+ result.lessThan = ps.lessThan;
157
+ if (ps.lessThanOrEquals)
158
+ result.lessThanOrEquals = ps.lessThanOrEquals;
159
+ if (ps.minInclusive !== undefined)
160
+ result.minInclusive = ps.minInclusive;
161
+ if (ps.maxInclusive !== undefined)
162
+ result.maxInclusive = ps.maxInclusive;
163
+ if (ps.minExclusive !== undefined)
164
+ result.minExclusive = ps.minExclusive;
165
+ if (ps.maxExclusive !== undefined)
166
+ result.maxExclusive = ps.maxExclusive;
167
+ if (typeof ps.minLength === 'number')
168
+ result.minLength = ps.minLength;
169
+ if (typeof ps.maxLength === 'number')
170
+ result.maxLength = ps.maxLength;
171
+ if (ps.pattern)
172
+ result.pattern = ps.pattern.source;
173
+ if (ps.hasValueConstraint !== undefined)
174
+ result.hasValue = ps.hasValueConstraint;
175
+ if (ps.defaultValue !== undefined)
176
+ result.defaultValue = ps.defaultValue;
177
+ if (ps.sortBy)
178
+ result.sortBy = ps.sortBy;
179
+ if (ps.valueShape)
180
+ result.valueShape = ps.valueShape;
181
+ return result;
182
+ }
183
+ //# sourceMappingURL=nodeShapeData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodeShapeData.js","sourceRoot":"","sources":["../../../src/shapes/nodeShapeData.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
14
14
  */
15
15
  import { getAllShapeClasses, getShapeClass } from '../utils/ShapeClass.js';
16
16
  import { NodeShape } from './SHACL.js';
17
+ import { getUniquePropertyShapes, } from './nodeShapeData.js';
17
18
  import { DeleteBuilder } from '../queries/DeleteBuilder.js';
18
19
  import { rdfList } from './List.js';
19
20
  import { serializePathToNodeData } from './serializePathToNodeData.js';
@@ -97,9 +98,7 @@ function buildNodeShapeData(nodeShape, shapeIri) {
97
98
  d.ignoredProperties = nodeShape.ignoredProperties;
98
99
  }
99
100
  // Flatten: emit own + inherited property shapes (deduped by label) under this shape.
100
- d.properties = nodeShape
101
- .getUniquePropertyShapes()
102
- .map((ps) => buildPropertyShapeData(ps, shapeIri));
101
+ d.properties = getUniquePropertyShapes(nodeShape).map((ps) => buildPropertyShapeData(ps, shapeIri));
103
102
  return d;
104
103
  }
105
104
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"syncShapes.js","sourceRoot":"","sources":["../../../src/shapes/syncShapes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"syncShapes.js","sourceRoot":"","sources":["../../../src/shapes/syncShapes.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,9 @@ import type { DeleteQuery, DeleteResponse } from '../queries/DeleteQuery.js';
6
6
  import type { SelectResult, CreateResult, UpdateResult } from '../queries/IntermediateRepresentation.js';
7
7
  import type { SparqlJsonResults } from './resultMapping.js';
8
8
  import { type SparqlOptions } from './sparqlUtils.js';
9
- import { Shape } from '../shapes/Shape.js';
10
9
  /**
11
10
  * Abstract base class for SPARQL-backed datasets.
12
11
  *
13
- * Extends Shape so dataset configurations can themselves be persisted as linked data.
14
12
  * Handles the full pipeline: IR query → SPARQL string → execute → map results.
15
13
  * Subclasses only need to implement the two transport methods:
16
14
  * - `executeSparqlSelect` — send a SPARQL SELECT and return JSON results
@@ -34,7 +32,7 @@ import { Shape } from '../shapes/Shape.js';
34
32
  * }
35
33
  * ```
36
34
  */
37
- export declare abstract class SparqlDataset extends Shape implements IDataset {
35
+ export declare abstract class SparqlDataset implements IDataset {
38
36
  protected options?: SparqlOptions;
39
37
  constructor(options?: SparqlOptions);
40
38
  /**
@@ -10,12 +10,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  import { selectToSparql, createToSparql, updateToSparql, updateWhereToSparql, deleteToSparql, deleteAllToSparql, deleteWhereToSparql, } from './irToAlgebra.js';
11
11
  import { mapSparqlSelectResult, mapSparqlCreateResult, mapSparqlUpdateResult, } from './resultMapping.js';
12
12
  import { generateEntityUri } from './sparqlUtils.js';
13
- import { Shape } from '../shapes/Shape.js';
14
13
  import { lower } from '../queries/lower.js';
15
14
  /**
16
15
  * Abstract base class for SPARQL-backed datasets.
17
16
  *
18
- * Extends Shape so dataset configurations can themselves be persisted as linked data.
19
17
  * Handles the full pipeline: IR query → SPARQL string → execute → map results.
20
18
  * Subclasses only need to implement the two transport methods:
21
19
  * - `executeSparqlSelect` — send a SPARQL SELECT and return JSON results
@@ -39,9 +37,8 @@ import { lower } from '../queries/lower.js';
39
37
  * }
40
38
  * ```
41
39
  */
42
- export class SparqlDataset extends Shape {
40
+ export class SparqlDataset {
43
41
  constructor(options) {
44
- super();
45
42
  this.options = options;
46
43
  }
47
44
  selectQuery(query) {
@@ -1 +1 @@
1
- {"version":3,"file":"SparqlDataset.js","sourceRoot":"","sources":["../../../src/sparql/SparqlDataset.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SparqlDataset.js","sourceRoot":"","sources":["../../../src/sparql/SparqlDataset.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { getPropertyShapes } from '../shapes/nodeShapeData.js';
1
2
  import { pathExprToSparql, collectPathUris } from '../paths/pathExprToSparql.js';
2
3
  import { generateEntityUri } from './sparqlUtils.js';
3
4
  import { selectPlanToSparql, insertDataPlanToSparql, deleteInsertPlanToSparql, } from './algebraToString.js';
@@ -60,7 +61,6 @@ function resolveShapeScanIri(shapeId) {
60
61
  const predicateTermCache = new Map();
61
62
  let predicateTermCacheSize = -1;
62
63
  function resolvePropertyPredicateTerm(propertyId) {
63
- var _a, _b, _c;
64
64
  const shapeClasses = getAllShapeClasses();
65
65
  if (shapeClasses.size !== predicateTermCacheSize) {
66
66
  predicateTermCache.clear();
@@ -70,7 +70,7 @@ function resolvePropertyPredicateTerm(propertyId) {
70
70
  if (cached)
71
71
  return cached;
72
72
  for (const shapeClass of shapeClasses.values()) {
73
- const propertyShape = (_c = (_b = (_a = shapeClass.shape) === null || _a === void 0 ? void 0 : _a.getPropertyShapes) === null || _b === void 0 ? void 0 : _b.call(_a, true)) === null || _c === void 0 ? void 0 : _c.find((prop) => prop.id === propertyId);
73
+ const propertyShape = (shapeClass.shape ? getPropertyShapes(shapeClass.shape, true) : []).find((prop) => prop.id === propertyId);
74
74
  if (!propertyShape)
75
75
  continue;
76
76
  const simplePathId = getSimplePathId(propertyShape.path);
@@ -1310,13 +1310,13 @@ function generateNodeDataTriples(data, options) {
1310
1310
  const uri = data.id || generateEntityUri(data.shape, options);
1311
1311
  const triples = [];
1312
1312
  const subjectTerm = iriTerm(uri);
1313
- // Type triple — resolve the SHACL NodeShape id in the IR to the ontology
1313
+ // Type triple — resolve the SHACL NodeShapeData id in the IR to the ontology
1314
1314
  // targetClass URI (sibling of PR #77's SELECT-side resolveShapeScanIri).
1315
1315
  // Mutations were not covered by #77; see mutation-uri-fidelity.test.ts.
1316
1316
  triples.push(tripleOf(subjectTerm, iriTerm(RDF_TYPE), iriTerm(resolveShapeScanIri(data.shape))));
1317
1317
  // Field triples
1318
1318
  for (const field of data.fields) {
1319
- // Resolve the SHACL PropertyShape id to its declared `path` URI.
1319
+ // Resolve the SHACL PropertyShapeData id to its declared `path` URI.
1320
1320
  const propertyTerm = resolvePropertyPredicateTerm(field.property);
1321
1321
  if (field.value === null || field.value === undefined) {
1322
1322
  continue;
@@ -1638,10 +1638,9 @@ export function updateToAlgebra(query, options) {
1638
1638
  function shapeHasContainsProperty(shapeId) {
1639
1639
  var _a;
1640
1640
  const nodeShape = (_a = getShapeClass(shapeId)) === null || _a === void 0 ? void 0 : _a.shape;
1641
- if (!nodeShape || typeof nodeShape.getPropertyShapes !== 'function')
1641
+ if (!nodeShape)
1642
1642
  return false;
1643
- return nodeShape
1644
- .getPropertyShapes(true)
1643
+ return getPropertyShapes(nodeShape, true)
1645
1644
  .some((ps) => ps.contains);
1646
1645
  }
1647
1646
  // Memoized registry scan for cascade lowering — called once per update/delete and
@@ -1665,9 +1664,7 @@ function collectContainment() {
1665
1664
  if (nodeShape.dependent && ((_a = nodeShape.targetClass) === null || _a === void 0 ? void 0 : _a.id)) {
1666
1665
  dependentTypes.add(nodeShape.targetClass.id);
1667
1666
  }
1668
- const propertyShapes = typeof nodeShape.getPropertyShapes === 'function'
1669
- ? nodeShape.getPropertyShapes(false)
1670
- : [];
1667
+ const propertyShapes = getPropertyShapes(nodeShape, false);
1671
1668
  for (const ps of propertyShapes) {
1672
1669
  if (ps.contains) {
1673
1670
  const predId = getSimplePathId(ps.path);
@@ -1795,7 +1792,7 @@ export function deleteToAlgebra(query, _options) {
1795
1792
  // Blank node tree walking for schema-aware delete cleanup
1796
1793
  // ---------------------------------------------------------------------------
1797
1794
  /**
1798
- * Checks whether a PropertyShape points to blank nodes (sh:BlankNode or
1795
+ * Checks whether a PropertyShapeData points to blank nodes (sh:BlankNode or
1799
1796
  * sh:BlankNodeOrIRI). Returns true when the property's range *may* include
1800
1797
  * blank node values that should be cleaned up on delete.
1801
1798
  */
@@ -1822,7 +1819,7 @@ function walkBlankNodeTree(shapeId, parentVar, depth, deletePatterns) {
1822
1819
  if (!(shapeClass === null || shapeClass === void 0 ? void 0 : shapeClass.shape))
1823
1820
  return null;
1824
1821
  let optionals = null;
1825
- const props = shapeClass.shape.getPropertyShapes(true);
1822
+ const props = shapeClass.shape ? getPropertyShapes(shapeClass.shape, true) : [];
1826
1823
  for (const prop of props) {
1827
1824
  if (!isBlankNodeProperty(prop))
1828
1825
  continue;