@_linked/core 1.0.0-next.20260216062729 → 1.0.0

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 CHANGED
@@ -3,20 +3,6 @@
3
3
  ## 1.0.0
4
4
 
5
5
  ### Major Changes
6
-
7
- - [#1](https://github.com/Semantu/linked/pull/1) [`0938ede`](https://github.com/Semantu/linked/commit/0938edec623e9d611767ae150b8d60270035ffeb) Thanks [@flyon](https://github.com/flyon)! - first major release
8
-
9
- ### Minor Changes
10
-
11
- - [#4](https://github.com/Semantu/linked/pull/4) [`c35e686`](https://github.com/Semantu/linked/commit/c35e6861600d7aa8683b4b288fc4d1dc74c4aff2) Thanks [@flyon](https://github.com/flyon)! - - Added `Shape.selectAll()` plus nested `selectAll()` support on sub-queries.
12
- - Added inherited property deduplication via `NodeShape.getUniquePropertyShapes()` so subclass overrides win by label and are selected once.
13
- - Improved `selectAll()` type inference (including nested queries) and excluded base `Shape` keys from inferred results.
14
- - Added registration-time override guards: `minCount` cannot be lowered, `maxCount` cannot be increased, and `nodeKind` cannot be widened.
15
- - Fixed `createPropertyShape` to preserve explicit `minCount: 0` / `maxCount: 0`.
16
- - Expanded tests and README documentation for `selectAll`, CRUD return types, and multi-value update semantics.
17
-
18
- ### 1.0.0 (from LINCD.js)
19
-
20
6
  This is a rebranding + extraction release. It moves the core query/shape system into `@_linked/core` and removes RDF models and React-specific code.
21
7
 
22
8
  Key changes:
package/README.md CHANGED
@@ -85,35 +85,41 @@ export class Person extends Shape {
85
85
  ## Queries: Create, Select, Update, Delete
86
86
 
87
87
  Queries are expressed with the same Shape classes and compile to a query object that a store executes.
88
- Use this section as a quick start. Detailed query variations are documented in `Query examples` below.
89
88
 
90
- A few quick examples:
91
-
92
- **1) Select one field for all matching nodes**
93
89
  ```typescript
90
+ /* Result: Array<{id: string; name: string}> */
94
91
  const names = await Person.select((p) => p.name);
95
- /* names: {id: string; name: string}[] */
96
- ```
97
92
 
98
- **2) Select all decorated fields of nested related nodes**
99
- ```typescript
100
- const allFriends = await Person.select((p) => p.knows.selectAll());
101
- /* allFriends: {
102
- id?: string;
103
- knows: {
104
- id?: string;
105
- ...all decorated Person fields...
106
- }[]
107
- }[] */
108
- ```
109
-
110
- **3) Apply a simple mutation**
111
- ```typescript
112
93
  const myNode = {id: 'https://my.app/node1'};
94
+ /* Result: {id: string; name: string} | null */
95
+ const person = await Person.select(myNode, (p) => p.name);
96
+ const missing = await Person.select({id: 'https://my.app/missing'}, (p) => p.name); // null
97
+
98
+ /* Result: {id: string} & UpdatePartial<Person> */
99
+ const created = await Person.create({
100
+ name: 'Alice',
101
+ knows: [{id: 'https://my.app/node2'}],
102
+ });
103
+
113
104
  const updated = await Person.update(myNode, {
114
105
  name: 'Alicia',
115
106
  });
116
- /* updated: {id: string} & UpdatePartial<Person> */
107
+
108
+ // Overwrite a multi-value property
109
+ const overwriteFriends = await Person.update(myNode, {
110
+ knows: [{id: 'https://my.app/node2'}],
111
+ });
112
+
113
+ // Add/remove items in a multi-value property
114
+ const addRemoveFriends = await Person.update(myNode, {
115
+ knows: {
116
+ add: [{id: 'https://my.app/node3'}],
117
+ remove: [{id: 'https://my.app/node2'}],
118
+ },
119
+ });
120
+
121
+ /* Result: {deleted: Array<{id: string}>, count: number} */
122
+ await Person.delete(myNode);
117
123
  ```
118
124
 
119
125
  ## Storage configuration
@@ -166,13 +172,10 @@ Result types are inferred from your Shape definitions and the selected paths. Ex
166
172
 
167
173
  #### Basic selection
168
174
  ```typescript
169
- /* names: {id: string; name: string}[] */
175
+ /* Result: Array<{id: string; name: string}> */
170
176
  const names = await Person.select((p) => p.name);
171
177
 
172
- /* friends: {
173
- id: string;
174
- knows: { id: string }[]
175
- }[] */
178
+ /* Result: Array<{id: string; knows: Array<{id: string}>}> */
176
179
  const friends = await Person.select((p) => p.knows);
177
180
 
178
181
  const dates = await Person.select((p) => [p.birthDate, p.name]);
@@ -199,12 +202,6 @@ const deep = await Person.select((p) => p.knows.bestFriend.name);
199
202
  const detailed = await Person.select((p) =>
200
203
  p.knows.select((f) => f.name),
201
204
  );
202
-
203
- const allPeople = await Person.selectAll();
204
-
205
- const detailedAll = await Person.select((p) =>
206
- p.knows.selectAll(),
207
- );
208
205
  ```
209
206
 
210
207
  #### Where + equals
@@ -264,9 +261,7 @@ const custom = await Person.select((p) => ({
264
261
  }));
265
262
  ```
266
263
 
267
- #### Query As (type casting to a sub shape)
268
- If person.pets returns an array of Pets. And Dog extends Pet.
269
- And you want to select properties of those pets that are dogs:
264
+ #### Query As (type casting)
270
265
  ```typescript
271
266
  const guards = await Person.select((p) => p.pets.as(Dog).guardDogLevel);
272
267
  ```
@@ -298,131 +293,29 @@ const preloaded = await Person.select((p) => [
298
293
  ]);
299
294
  ```
300
295
 
301
- #### Create
302
-
296
+ #### Create / Update / Delete
303
297
  ```typescript
304
298
  /* Result: {id: string} & UpdatePartial<Person> */
305
299
  const created = await Person.create({name: 'Alice'});
306
- ```
307
- Where UpdatePartial<Shape> reflects the created properties.
308
-
309
- #### Update
310
300
 
311
- Update will patch any property that you send as payload and leave the rest untouched.
312
- ```typescript
313
- /* Result: {id: string} & UpdatePartial<Person> */
314
301
  const updated = await Person.update({id: 'https://my.app/node1'}, {name: 'Alicia'});
315
- ```
316
- Returns:
317
- ```json
318
- {
319
- id:"https://my.app/node1",
320
- name:"Alicia"
321
- }
322
- ```
323
302
 
324
- **Updating multi-value properties**
325
- When updating a property that holds multiple values (one that returns an array in the results), you can either overwrite all the values with a new explicit array of values, or delete from/add to the current values.
326
-
327
- To overwrite all values:
328
- ```typescript
329
- // Overwrite the full set of "knows" values.
330
- const overwriteFriends = await Person.update({id: 'https://my.app/person1'}, {
331
- knows: [{id: 'https://my.app/person2'}],
303
+ // Overwrite a multi-value property
304
+ const overwriteFriends = await Person.update({id: 'https://my.app/node1'}, {
305
+ knows: [{id: 'https://my.app/node2'}],
332
306
  });
333
- ```
334
- The result will contain an object with `updatedTo`, to indicate that previous values were overwritten to this new set of values:
335
- ```json
336
- {
337
- id: "https://my.app/person1",
338
- knows: {
339
- updatedTo: [{id:"https://my.app/person2"}],
340
- }
341
- }
342
- ```
343
307
 
344
- To make incremental changes to the current set of values you can provide an object with `add` and/or `remove` keys:
345
- ```typescript
346
- // Add one value and remove one value without replacing the whole set.
347
- const addRemoveFriends = await Person.update({id: 'https://my.app/person1'}, {
308
+ // Add/remove items in a multi-value property
309
+ const addRemoveFriends = await Person.update({id: 'https://my.app/node1'}, {
348
310
  knows: {
349
- add: [{id: 'https://my.app/person2'}],
350
- remove: [{id: 'https://my.app/person3'}],
311
+ add: [{id: 'https://my.app/node3'}],
312
+ remove: [{id: 'https://my.app/node2'}],
351
313
  },
352
314
  });
353
- ```
354
- This returns an object with the added and removed items
355
- ```json
356
- {
357
- id: "https://my.app/person1",
358
- knows: {
359
- added?: [{id:"https://my.app/person2"},
360
- removed?: [{id:"https://my.app/person3"}],
361
- }
362
- }
363
- ```
364
-
365
-
366
- #### Delete
367
- To delete a node entirely:
368
-
369
- ```typescript
370
- /* Result: {deleted: Array<{id: string}>, count: number} */
371
- const deleted = await Person.delete({id: 'https://my.app/node1'});
372
- ```
373
- Returns
374
- ```json
375
- {
376
- deleted:[
377
- {id:"https://my.app/node1"}
378
- ],
379
- count:1
380
- }
381
- ```
382
-
383
- To delete multiple nodes pass an array:
384
-
385
- ```typescript
386
- /* Result: {deleted: Array<{id: string}>, count: number} */
387
- const deleted = await Person.delete([{id: 'https://my.app/node1'},{id: 'https://my.app/node2'}]);
388
- ```
389
-
390
-
391
- ## Extending shapes
392
-
393
- Shape classes can extend other shape classes. Subclasses inherit property shapes from their superclasses and may override them.
394
- This example assumes `Person` from the `Shapes` section above.
395
-
396
- ```typescript
397
- import {literalProperty} from '@_linked/core/shapes/SHACL';
398
- import {createNameSpace} from '@_linked/core/utils/NameSpace';
399
- import {linkedShape} from './package';
400
-
401
- const schema = createNameSpace('https://schema.org/');
402
- const EmployeeClass = schema('Employee');
403
- const name = schema('name');
404
- const employeeId = schema('employeeId');
405
315
 
406
- @linkedShape
407
- export class Employee extends Person {
408
- static targetClass = EmployeeClass;
409
-
410
- // Override inherited "name" with stricter constraints (still maxCount: 1)
411
- @literalProperty({path: name, required: true, minLength: 2, maxCount: 1})
412
- declare name: string;
413
-
414
- @literalProperty({path: employeeId, required: true, maxCount: 1})
415
- declare employeeId: string;
416
- }
316
+ await Person.delete({id: 'https://my.app/node1'});
417
317
  ```
418
318
 
419
- Override behavior:
420
-
421
- - `NodeShape.getUniquePropertyShapes()` returns one property shape per label, with subclass overrides taking precedence.
422
- - Overrides must be tighten-only for `minCount`, `maxCount`, and `nodeKind` (widening is rejected at registration time).
423
- - If an override omits `minCount`, `maxCount`, or `nodeKind`, inherited values are kept.
424
- - Current scope: compatibility checks for `datatype`, `class`, and `pattern` are not enforced yet.
425
-
426
319
  ## TODO
427
320
 
428
321
  - Allow `preloadFor` to accept another query (not just a component).
@@ -97,9 +97,6 @@ export declare enum WhereMethods {
97
97
  export type QueryShapeProps<T extends Shape, Source, Property extends string | number | symbol = any> = {
98
98
  [P in keyof T]: ToQueryBuilderObject<T[P], QShape<T, Source, Property>, P>;
99
99
  };
100
- export type SelectAllQueryResponse<T extends Shape> = Array<QueryShapeProps<T, null, ''>[Exclude<Extract<{
101
- [K in keyof T]-?: T[K] extends (...args: any[]) => any ? never : K;
102
- }[keyof T], string>, Extract<keyof Shape, string>>]>;
103
100
  /**
104
101
  * This type states that the ShapeSet has access to the same methods as the shape of all the items in the set
105
102
  * (this is enabled with the QueryShapeSet.proxifyShapeSet method)
@@ -274,7 +271,6 @@ export declare class QueryShapeSet<S extends Shape = Shape, Source = any, Proper
274
271
  size(): SetSize<this>;
275
272
  where(validation: WhereClause<S>): this;
276
273
  select<QF = unknown>(subQueryFn: QueryBuildFn<S, QF>): SelectQueryFactory<S, QF, QueryShapeSet<S, Source, Property>>;
277
- selectAll(): SelectQueryFactory<S, SelectAllQueryResponse<S>, QueryShapeSet<S, Source, Property>>;
278
274
  some(validation: WhereClause<S>): SetEvaluation;
279
275
  every(validation: WhereClause<S>): SetEvaluation;
280
276
  private someOrEvery;
@@ -290,7 +286,6 @@ export declare class QueryShape<S extends Shape = Shape, Source = any, Property
290
286
  as<ShapeClass extends typeof Shape>(shape: ShapeClass): QShape<InstanceType<ShapeClass>, Source, Property>;
291
287
  equals(otherValue: NodeReferenceValue | QShape<any>): Evaluation;
292
288
  select<QF = unknown>(subQueryFn: QueryBuildFn<S, QF>): SelectQueryFactory<S, QF, QueryShape<S, Source, Property>>;
293
- selectAll(): SelectQueryFactory<S, SelectAllQueryResponse<S>, QueryShape<S, Source, Property>>;
294
289
  }
295
290
  export declare class Evaluation {
296
291
  value: QueryBuilderObject | QueryPrimitiveSet;
@@ -453,13 +453,6 @@ class QueryShapeSet extends QueryBuilderObject {
453
453
  subQuery.parentQueryPath = this.getPropertyPath();
454
454
  return subQuery;
455
455
  }
456
- selectAll() {
457
- let leastSpecificShape = this.getOriginalValue().getLeastSpecificShape();
458
- const propertyLabels = leastSpecificShape.shape
459
- .getUniquePropertyShapes()
460
- .map((propertyShape) => propertyShape.label);
461
- return this.select((shape) => propertyLabels.map((label) => shape[label]));
462
- }
463
456
  some(validation) {
464
457
  return this.someOrEvery(validation, WhereMethods.SOME);
465
458
  }
@@ -574,13 +567,6 @@ class QueryShape extends QueryBuilderObject {
574
567
  subQuery.parentQueryPath = this.getPropertyPath();
575
568
  return subQuery;
576
569
  }
577
- selectAll() {
578
- let leastSpecificShape = (0, ShapeClass_js_1.getShapeClass)(this.getOriginalValue().nodeShape.id);
579
- const propertyLabels = leastSpecificShape.shape
580
- .getUniquePropertyShapes()
581
- .map((propertyShape) => propertyShape.label);
582
- return this.select((shape) => propertyLabels.map((label) => shape[label]));
583
- }
584
570
  }
585
571
  exports.QueryShape = QueryShape;
586
572
  class Evaluation {
@@ -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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"}
@@ -151,7 +151,6 @@ 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[];
155
154
  getPropertyShape(label: string, checkSubShapes?: boolean): PropertyShape;
156
155
  validateNode(_node?: unknown): boolean;
157
156
  equals(other: NodeShape): boolean;
@@ -50,9 +50,6 @@ const normalizeNodeKind = (nodeKind, defaultNodeKind) => {
50
50
  }
51
51
  return nodeKind;
52
52
  };
53
- const EXPLICIT_NODE_KIND_SYMBOL = Symbol('explicitNodeKind');
54
- const EXPLICIT_MIN_COUNT_SYMBOL = Symbol('explicitMinCount');
55
- const EXPLICIT_MAX_COUNT_SYMBOL = Symbol('explicitMaxCount');
56
53
  class NodeShape extends Shape_js_1.Shape {
57
54
  constructor(node) {
58
55
  super(node);
@@ -92,17 +89,6 @@ class NodeShape extends Shape_js_1.Shape {
92
89
  }
93
90
  return res;
94
91
  }
95
- getUniquePropertyShapes() {
96
- const uniquePropertyShapes = [];
97
- const seen = new Set();
98
- this.getPropertyShapes(true).forEach((propertyShape) => {
99
- if (!seen.has(propertyShape.label)) {
100
- seen.add(propertyShape.label);
101
- uniquePropertyShapes.push(propertyShape);
102
- }
103
- });
104
- return uniquePropertyShapes;
105
- }
106
92
  getPropertyShape(label, checkSubShapes = true) {
107
93
  let shapeClass = (0, ShapeClass_js_1.getShapeClass)(this.id);
108
94
  let res;
@@ -229,20 +215,7 @@ const connectValueShape = (config, propertyKey, property) => {
229
215
  }
230
216
  };
231
217
  function registerPropertyShape(shape, propertyShape) {
232
- const inherited = shape.getPropertyShape(propertyShape.label, true);
233
218
  const existing = shape.getPropertyShape(propertyShape.label, false);
234
- if (!existing && inherited) {
235
- if (!propertyShape[EXPLICIT_MIN_COUNT_SYMBOL]) {
236
- propertyShape.minCount = inherited.minCount;
237
- }
238
- if (!propertyShape[EXPLICIT_MAX_COUNT_SYMBOL]) {
239
- propertyShape.maxCount = inherited.maxCount;
240
- }
241
- if (!propertyShape[EXPLICIT_NODE_KIND_SYMBOL]) {
242
- propertyShape.nodeKind = inherited.nodeKind;
243
- }
244
- validateOverrideTightening(shape, inherited, propertyShape);
245
- }
246
219
  if (existing) {
247
220
  Object.assign(existing, propertyShape);
248
221
  return existing;
@@ -251,53 +224,6 @@ function registerPropertyShape(shape, propertyShape) {
251
224
  shape.addPropertyShape(propertyShape);
252
225
  return propertyShape;
253
226
  }
254
- const ATOMIC_NODE_KINDS = [
255
- shacl_js_1.shacl.BlankNode.id,
256
- shacl_js_1.shacl.IRI.id,
257
- shacl_js_1.shacl.Literal.id,
258
- ];
259
- const nodeKindToAtomics = (nodeKind) => {
260
- if (!(nodeKind === null || nodeKind === void 0 ? void 0 : nodeKind.id)) {
261
- return new Set();
262
- }
263
- switch (nodeKind.id) {
264
- case shacl_js_1.shacl.BlankNode.id:
265
- case shacl_js_1.shacl.IRI.id:
266
- case shacl_js_1.shacl.Literal.id:
267
- return new Set([nodeKind.id]);
268
- case shacl_js_1.shacl.BlankNodeOrIRI.id:
269
- return new Set([shacl_js_1.shacl.BlankNode.id, shacl_js_1.shacl.IRI.id]);
270
- case shacl_js_1.shacl.IRIOrLiteral.id:
271
- return new Set([shacl_js_1.shacl.IRI.id, shacl_js_1.shacl.Literal.id]);
272
- case shacl_js_1.shacl.BlankNodeOrLiteral.id:
273
- return new Set([shacl_js_1.shacl.BlankNode.id, shacl_js_1.shacl.Literal.id]);
274
- default:
275
- return new Set(ATOMIC_NODE_KINDS);
276
- }
277
- };
278
- const throwOverrideError = (shape, propertyShape, message) => {
279
- throw new Error(`Invalid override for ${shape.label}.${propertyShape.label}: ${message}`);
280
- };
281
- const validateOverrideTightening = (shape, base, override) => {
282
- if (typeof base.minCount === 'number' &&
283
- typeof override.minCount === 'number' &&
284
- override.minCount < base.minCount) {
285
- throwOverrideError(shape, override, `minCount cannot be lowered (${base.minCount} -> ${override.minCount}).`);
286
- }
287
- if (typeof base.maxCount === 'number' &&
288
- typeof override.maxCount === 'number' &&
289
- override.maxCount > base.maxCount) {
290
- throwOverrideError(shape, override, `maxCount cannot be increased (${base.maxCount} -> ${override.maxCount}).`);
291
- }
292
- if (base.nodeKind && override.nodeKind) {
293
- const baseKinds = nodeKindToAtomics(base.nodeKind);
294
- const overrideKinds = nodeKindToAtomics(override.nodeKind);
295
- const widensNodeKind = [...overrideKinds].some((kind) => !baseKinds.has(kind));
296
- if (widensNodeKind) {
297
- throwOverrideError(shape, override, `nodeKind cannot be widened (${base.nodeKind.id} -> ${override.nodeKind.id}).`);
298
- }
299
- }
300
- };
301
227
  function createPropertyShape(config, propertyKey, defaultNodeKind = null, shapeClass = null) {
302
228
  const propertyShape = new PropertyShape();
303
229
  propertyShape.path = normalizePathInput(config.path);
@@ -311,16 +237,12 @@ function createPropertyShape(config, propertyKey, defaultNodeKind = null, shapeC
311
237
  if (config.required) {
312
238
  propertyShape.minCount = 1;
313
239
  }
314
- else if (config.minCount !== undefined) {
240
+ else if (config.minCount) {
315
241
  propertyShape.minCount = config.minCount;
316
242
  }
317
- propertyShape[EXPLICIT_MIN_COUNT_SYMBOL] =
318
- config.required === true || config.minCount !== undefined;
319
- if (config.maxCount !== undefined) {
243
+ if (config.maxCount) {
320
244
  propertyShape.maxCount = config.maxCount;
321
245
  }
322
- propertyShape[EXPLICIT_MAX_COUNT_SYMBOL] =
323
- config.maxCount !== undefined;
324
246
  if (config.datatype) {
325
247
  propertyShape.datatype = toPlainNodeRef(config.datatype);
326
248
  }
@@ -346,8 +268,6 @@ function createPropertyShape(config, propertyKey, defaultNodeKind = null, shapeC
346
268
  propertyShape.sortBy = normalizePathInput(config.sortBy);
347
269
  }
348
270
  propertyShape.nodeKind = normalizeNodeKind(config.nodeKind, defaultNodeKind);
349
- propertyShape[EXPLICIT_NODE_KIND_SYMBOL] =
350
- config.nodeKind !== undefined;
351
271
  if (shapeClass) {
352
272
  onShapeSetup(shapeClass, (shape) => {
353
273
  connectValueShape(config, propertyKey, propertyShape);