@_linked/core 2.0.1 → 2.2.0-next.20260313111019
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 +33 -198
- package/README.md +147 -21
- package/lib/cjs/expressions/Expr.d.ts +58 -0
- package/lib/cjs/expressions/Expr.js +217 -0
- package/lib/cjs/expressions/Expr.js.map +1 -0
- package/lib/cjs/expressions/ExpressionMethods.d.ts +81 -0
- package/lib/cjs/expressions/ExpressionMethods.js +3 -0
- package/lib/cjs/expressions/ExpressionMethods.js.map +1 -0
- package/lib/cjs/expressions/ExpressionNode.d.ts +95 -0
- package/lib/cjs/expressions/ExpressionNode.js +349 -0
- package/lib/cjs/expressions/ExpressionNode.js.map +1 -0
- package/lib/cjs/index.d.ts +4 -0
- package/lib/cjs/index.js +6 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/queries/FieldSet.d.ts +3 -0
- package/lib/cjs/queries/FieldSet.js +16 -0
- package/lib/cjs/queries/FieldSet.js.map +1 -1
- package/lib/cjs/queries/IRCanonicalize.d.ts +2 -2
- package/lib/cjs/queries/IRCanonicalize.js +4 -0
- package/lib/cjs/queries/IRCanonicalize.js.map +1 -1
- package/lib/cjs/queries/IRDesugar.d.ts +11 -2
- package/lib/cjs/queries/IRDesugar.js +14 -0
- package/lib/cjs/queries/IRDesugar.js.map +1 -1
- package/lib/cjs/queries/IRLower.d.ts +9 -0
- package/lib/cjs/queries/IRLower.js +42 -60
- package/lib/cjs/queries/IRLower.js.map +1 -1
- package/lib/cjs/queries/IRMutation.d.ts +11 -1
- package/lib/cjs/queries/IRMutation.js +45 -21
- package/lib/cjs/queries/IRMutation.js.map +1 -1
- package/lib/cjs/queries/IntermediateRepresentation.d.ts +9 -2
- package/lib/cjs/queries/MutationQuery.js +16 -2
- package/lib/cjs/queries/MutationQuery.js.map +1 -1
- package/lib/cjs/queries/QueryFactory.d.ts +2 -1
- package/lib/cjs/queries/QueryFactory.js.map +1 -1
- package/lib/cjs/queries/SelectQuery.d.ts +6 -2
- package/lib/cjs/queries/SelectQuery.js +51 -7
- package/lib/cjs/queries/SelectQuery.js.map +1 -1
- package/lib/cjs/queries/UpdateBuilder.d.ts +2 -0
- package/lib/cjs/queries/UpdateBuilder.js +0 -1
- package/lib/cjs/queries/UpdateBuilder.js.map +1 -1
- package/lib/cjs/shapes/Shape.d.ts +2 -0
- package/lib/cjs/shapes/Shape.js +0 -8
- package/lib/cjs/shapes/Shape.js.map +1 -1
- package/lib/cjs/sparql/irToAlgebra.js +99 -9
- package/lib/cjs/sparql/irToAlgebra.js.map +1 -1
- package/lib/cjs/test-helpers/query-fixtures.d.ts +64 -1624
- package/lib/cjs/test-helpers/query-fixtures.js +65 -17
- package/lib/cjs/test-helpers/query-fixtures.js.map +1 -1
- package/lib/esm/expressions/Expr.d.ts +58 -0
- package/lib/esm/expressions/Expr.js +214 -0
- package/lib/esm/expressions/Expr.js.map +1 -0
- package/lib/esm/expressions/ExpressionMethods.d.ts +81 -0
- package/lib/esm/expressions/ExpressionMethods.js +2 -0
- package/lib/esm/expressions/ExpressionMethods.js.map +1 -0
- package/lib/esm/expressions/ExpressionNode.d.ts +95 -0
- package/lib/esm/expressions/ExpressionNode.js +341 -0
- package/lib/esm/expressions/ExpressionNode.js.map +1 -0
- package/lib/esm/index.d.ts +4 -0
- package/lib/esm/index.js +3 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/queries/FieldSet.d.ts +3 -0
- package/lib/esm/queries/FieldSet.js +16 -0
- package/lib/esm/queries/FieldSet.js.map +1 -1
- package/lib/esm/queries/IRCanonicalize.d.ts +2 -2
- package/lib/esm/queries/IRCanonicalize.js +4 -0
- package/lib/esm/queries/IRCanonicalize.js.map +1 -1
- package/lib/esm/queries/IRDesugar.d.ts +11 -2
- package/lib/esm/queries/IRDesugar.js +14 -0
- package/lib/esm/queries/IRDesugar.js.map +1 -1
- package/lib/esm/queries/IRLower.d.ts +9 -0
- package/lib/esm/queries/IRLower.js +41 -60
- package/lib/esm/queries/IRLower.js.map +1 -1
- package/lib/esm/queries/IRMutation.d.ts +11 -1
- package/lib/esm/queries/IRMutation.js +44 -21
- package/lib/esm/queries/IRMutation.js.map +1 -1
- package/lib/esm/queries/IntermediateRepresentation.d.ts +9 -2
- package/lib/esm/queries/MutationQuery.js +16 -2
- package/lib/esm/queries/MutationQuery.js.map +1 -1
- package/lib/esm/queries/QueryFactory.d.ts +2 -1
- package/lib/esm/queries/QueryFactory.js.map +1 -1
- package/lib/esm/queries/SelectQuery.d.ts +6 -2
- package/lib/esm/queries/SelectQuery.js +51 -7
- package/lib/esm/queries/SelectQuery.js.map +1 -1
- package/lib/esm/queries/UpdateBuilder.d.ts +2 -0
- package/lib/esm/queries/UpdateBuilder.js +0 -1
- package/lib/esm/queries/UpdateBuilder.js.map +1 -1
- package/lib/esm/shapes/Shape.d.ts +2 -0
- package/lib/esm/shapes/Shape.js +0 -8
- package/lib/esm/shapes/Shape.js.map +1 -1
- package/lib/esm/sparql/irToAlgebra.js +99 -9
- package/lib/esm/sparql/irToAlgebra.js.map +1 -1
- package/lib/esm/test-helpers/query-fixtures.d.ts +64 -1624
- package/lib/esm/test-helpers/query-fixtures.js +65 -17
- package/lib/esm/test-helpers/query-fixtures.js.map +1 -1
- package/package.json +3 -3
|
@@ -10,6 +10,7 @@ const xsd_js_1 = require("../ontologies/xsd.js");
|
|
|
10
10
|
const ProxiedPathBuilder_js_1 = require("./ProxiedPathBuilder.js");
|
|
11
11
|
const FieldSet_js_1 = require("./FieldSet.js");
|
|
12
12
|
const PropertyPath_js_1 = require("./PropertyPath.js");
|
|
13
|
+
const ExpressionNode_js_1 = require("../expressions/ExpressionNode.js");
|
|
13
14
|
const isSameRef = (a, b) => !!a && !!b && a.id === b.id;
|
|
14
15
|
var WhereMethods;
|
|
15
16
|
(function (WhereMethods) {
|
|
@@ -95,17 +96,17 @@ class QueryBuilderObject {
|
|
|
95
96
|
if (datatype) {
|
|
96
97
|
if (singleValue) {
|
|
97
98
|
if (isSameRef(datatype, xsd_js_1.xsd.integer)) {
|
|
98
|
-
return new QueryPrimitive(0, property, subject);
|
|
99
|
+
return wrapWithExpressionProxy(new QueryPrimitive(0, property, subject));
|
|
99
100
|
}
|
|
100
101
|
else if (isSameRef(datatype, xsd_js_1.xsd.boolean)) {
|
|
101
|
-
return new QueryPrimitive(false, property, subject);
|
|
102
|
+
return wrapWithExpressionProxy(new QueryPrimitive(false, property, subject));
|
|
102
103
|
}
|
|
103
104
|
else if (isSameRef(datatype, xsd_js_1.xsd.dateTime) ||
|
|
104
105
|
isSameRef(datatype, xsd_js_1.xsd.date)) {
|
|
105
|
-
return new QueryPrimitive(new Date(), property, subject);
|
|
106
|
+
return wrapWithExpressionProxy(new QueryPrimitive(new Date(), property, subject));
|
|
106
107
|
}
|
|
107
108
|
else if (isSameRef(datatype, xsd_js_1.xsd.string)) {
|
|
108
|
-
return new QueryPrimitive('', property, subject);
|
|
109
|
+
return wrapWithExpressionProxy(new QueryPrimitive('', property, subject));
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
112
|
else {
|
|
@@ -138,7 +139,7 @@ class QueryBuilderObject {
|
|
|
138
139
|
isSameRef(property.nodeKind, shacl_js_1.shacl.BlankNodeOrLiteral)) {
|
|
139
140
|
if (singleValue) {
|
|
140
141
|
//default to string if no datatype is set
|
|
141
|
-
return new QueryPrimitive('', property, subject);
|
|
142
|
+
return wrapWithExpressionProxy(new QueryPrimitive('', property, subject));
|
|
142
143
|
}
|
|
143
144
|
else {
|
|
144
145
|
//TODO review this, do we need property & subject in both of these? currently yes, but why
|
|
@@ -237,14 +238,57 @@ const processWhereClause = (validation, shape) => {
|
|
|
237
238
|
throw new Error('Cannot process where clause without shape');
|
|
238
239
|
}
|
|
239
240
|
const proxy = (0, ProxiedPathBuilder_js_1.createProxiedPathBuilder)(shape);
|
|
240
|
-
const
|
|
241
|
-
|
|
241
|
+
const result = validation(proxy);
|
|
242
|
+
if ((0, ExpressionNode_js_1.isExpressionNode)(result)) {
|
|
243
|
+
return { expressionNode: result };
|
|
244
|
+
}
|
|
245
|
+
return result.getWherePath();
|
|
246
|
+
}
|
|
247
|
+
else if ((0, ExpressionNode_js_1.isExpressionNode)(validation)) {
|
|
248
|
+
return { expressionNode: validation };
|
|
242
249
|
}
|
|
243
250
|
else {
|
|
244
251
|
return validation.getWherePath();
|
|
245
252
|
}
|
|
246
253
|
};
|
|
247
254
|
exports.processWhereClause = processWhereClause;
|
|
255
|
+
// ---------------------------------------------------------------------------
|
|
256
|
+
// Expression method proxy for QueryPrimitive
|
|
257
|
+
// ---------------------------------------------------------------------------
|
|
258
|
+
const EXPRESSION_METHODS = new Set([
|
|
259
|
+
'plus', 'minus', 'times', 'divide', 'abs', 'round', 'ceil', 'floor', 'power',
|
|
260
|
+
'eq', 'neq', 'notEquals', 'gt', 'greaterThan', 'gte', 'greaterThanOrEqual',
|
|
261
|
+
'lt', 'lessThan', 'lte', 'lessThanOrEqual',
|
|
262
|
+
'concat', 'contains', 'startsWith', 'endsWith', 'substr', 'before', 'after',
|
|
263
|
+
'replace', 'ucase', 'lcase', 'strlen', 'encodeForUri', 'matches',
|
|
264
|
+
'year', 'month', 'day', 'hours', 'minutes', 'seconds', 'timezone', 'tz',
|
|
265
|
+
'and', 'or', 'not',
|
|
266
|
+
'isDefined', 'isNotDefined', 'defaultTo',
|
|
267
|
+
'lang', 'datatype', 'str', 'iri', 'isIri', 'isLiteral', 'isBlank', 'isNumeric',
|
|
268
|
+
'md5', 'sha256', 'sha512',
|
|
269
|
+
]);
|
|
270
|
+
/**
|
|
271
|
+
* Wrap a QueryPrimitive in a Proxy that intercepts expression method calls.
|
|
272
|
+
* When an expression method (e.g., `.plus()`, `.gt()`) is accessed, creates a
|
|
273
|
+
* traced ExpressionNode based on the QueryPrimitive's property path.
|
|
274
|
+
*
|
|
275
|
+
* Note: `.equals()` is intentionally excluded — it's an existing QueryPrimitive
|
|
276
|
+
* method that returns an Evaluation (for WHERE clauses). Use `.eq()` for the
|
|
277
|
+
* expression form.
|
|
278
|
+
*/
|
|
279
|
+
function wrapWithExpressionProxy(qp) {
|
|
280
|
+
return new Proxy(qp, {
|
|
281
|
+
get(target, key, receiver) {
|
|
282
|
+
if (typeof key === 'string' && EXPRESSION_METHODS.has(key)) {
|
|
283
|
+
const segments = FieldSet_js_1.FieldSet.collectPropertySegments(target);
|
|
284
|
+
const segmentIds = segments.map((s) => s.id);
|
|
285
|
+
const baseNode = (0, ExpressionNode_js_1.tracedPropertyExpression)(segmentIds);
|
|
286
|
+
return (...args) => baseNode[key](...args);
|
|
287
|
+
}
|
|
288
|
+
return Reflect.get(target, key, receiver);
|
|
289
|
+
},
|
|
290
|
+
});
|
|
291
|
+
}
|
|
248
292
|
/**
|
|
249
293
|
* Evaluate a sort callback through the proxy and extract a SortByPath.
|
|
250
294
|
* This is a standalone helper that replaces the need for the former SelectQueryFactory.sortBy().
|
|
@@ -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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"}
|
|
@@ -2,6 +2,7 @@ import { Shape, ShapeConstructor } from '../shapes/Shape.js';
|
|
|
2
2
|
import { AddId, UpdatePartial, NodeReferenceValue } from './QueryFactory.js';
|
|
3
3
|
import { UpdateQuery } from './UpdateQuery.js';
|
|
4
4
|
import { WhereClause } from './SelectQuery.js';
|
|
5
|
+
import type { ExpressionUpdateProxy, ExpressionUpdateResult } from '../expressions/ExpressionMethods.js';
|
|
5
6
|
/**
|
|
6
7
|
* An immutable, fluent builder for update mutations.
|
|
7
8
|
*
|
|
@@ -31,6 +32,7 @@ export declare class UpdateBuilder<S extends Shape = Shape, U extends UpdatePart
|
|
|
31
32
|
/** Update instances matching a condition. Returns void. */
|
|
32
33
|
where(fn: WhereClause<S>): UpdateBuilder<S, U, void>;
|
|
33
34
|
/** Replace the update data. */
|
|
35
|
+
set(fn: (p: ExpressionUpdateProxy<S>) => ExpressionUpdateResult<S>): UpdateBuilder<S, any, R>;
|
|
34
36
|
set<NewU extends UpdatePartial<S>>(data: NewU): UpdateBuilder<S, NewU, R>;
|
|
35
37
|
/** Build the IR mutation. */
|
|
36
38
|
build(): UpdateQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateBuilder.js","sourceRoot":"","sources":["../../../src/queries/UpdateBuilder.ts"],"names":[],"mappings":";;;AACA,uDAA+C;AAE/C,qDAAiE;AACjE,yDAAoD;AACpD,qDAAiE;AACjE,mDAAoE;AACpE,iDAAuC;AACvC,2DAAsD;AACtD,6CAA4C;
|
|
1
|
+
{"version":3,"file":"UpdateBuilder.js","sourceRoot":"","sources":["../../../src/queries/UpdateBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { QueryBuilder } from '../queries/QueryBuilder.js';
|
|
|
6
6
|
import { CreateBuilder } from '../queries/CreateBuilder.js';
|
|
7
7
|
import { UpdateBuilder } from '../queries/UpdateBuilder.js';
|
|
8
8
|
import { DeleteBuilder } from '../queries/DeleteBuilder.js';
|
|
9
|
+
import type { ExpressionUpdateProxy, ExpressionUpdateResult } from '../expressions/ExpressionMethods.js';
|
|
9
10
|
import { ShapeSet } from '../collections/ShapeSet.js';
|
|
10
11
|
type AccessPropertiesShape<T extends Shape> = {
|
|
11
12
|
[P in keyof T]: PropertyShape;
|
|
@@ -58,6 +59,7 @@ export declare abstract class Shape {
|
|
|
58
59
|
* await Person.update({name: 'Alice'}).for({id: '...'});
|
|
59
60
|
* ```
|
|
60
61
|
*/
|
|
62
|
+
static update<S extends Shape>(this: ShapeConstructor<S>, data: (p: ExpressionUpdateProxy<S>) => ExpressionUpdateResult<S>): UpdateBuilder<S, any>;
|
|
61
63
|
static update<S extends Shape, U extends UpdatePartial<S>>(this: ShapeConstructor<S>, data: U): UpdateBuilder<S, U>;
|
|
62
64
|
static create<S extends Shape, U extends UpdatePartial<S>>(this: ShapeConstructor<S>, updateObjectOrFn?: U): CreateBuilder<S, U>;
|
|
63
65
|
static delete<S extends Shape>(this: ShapeConstructor<S>, id: NodeId | NodeId[] | NodeReferenceValue[]): DeleteBuilder<S>;
|
package/lib/cjs/shapes/Shape.js
CHANGED
|
@@ -60,14 +60,6 @@ class Shape {
|
|
|
60
60
|
static selectAll() {
|
|
61
61
|
return QueryBuilder_js_1.QueryBuilder.from(this).selectAll();
|
|
62
62
|
}
|
|
63
|
-
/**
|
|
64
|
-
* Update properties of an instance of this shape.
|
|
65
|
-
* Chain `.for(id)` to target a specific entity.
|
|
66
|
-
*
|
|
67
|
-
* ```typescript
|
|
68
|
-
* await Person.update({name: 'Alice'}).for({id: '...'});
|
|
69
|
-
* ```
|
|
70
|
-
*/
|
|
71
63
|
static update(data) {
|
|
72
64
|
return UpdateBuilder_js_1.UpdateBuilder.from(this).set(data);
|
|
73
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shape.js","sourceRoot":"","sources":["../../../src/shapes/Shape.ts"],"names":[],"mappings":";;;AAeA,gEAAwD;AACxD,kEAA0D;AAC1D,kEAA0D;AAC1D,kEAA0D;
|
|
1
|
+
{"version":3,"file":"Shape.js","sourceRoot":"","sources":["../../../src/shapes/Shape.ts"],"names":[],"mappings":"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"}
|
|
@@ -77,6 +77,16 @@ function propertySuffix(propertyUri) {
|
|
|
77
77
|
function sanitizeVarName(name) {
|
|
78
78
|
return name.replace(/[^A-Za-z0-9_]/g, '_');
|
|
79
79
|
}
|
|
80
|
+
const IR_EXPRESSION_KINDS = new Set([
|
|
81
|
+
'literal_expr', 'property_expr', 'binary_expr', 'logical_expr',
|
|
82
|
+
'not_expr', 'function_expr', 'aggregate_expr', 'reference_expr',
|
|
83
|
+
'alias_expr', 'context_property_expr', 'exists_expr',
|
|
84
|
+
]);
|
|
85
|
+
function isIRExpression(value) {
|
|
86
|
+
return !!value && typeof value === 'object' && 'kind' in value &&
|
|
87
|
+
typeof value.kind === 'string' &&
|
|
88
|
+
IR_EXPRESSION_KINDS.has(value.kind);
|
|
89
|
+
}
|
|
80
90
|
/**
|
|
81
91
|
* Wrap a single node in a LeftJoin, making `right` optional relative to `left`.
|
|
82
92
|
*/
|
|
@@ -792,6 +802,7 @@ function processUpdateFields(data, subjectTerm, options) {
|
|
|
792
802
|
const deletePatterns = [];
|
|
793
803
|
const insertPatterns = [];
|
|
794
804
|
const oldValueTriples = [];
|
|
805
|
+
const extends_ = [];
|
|
795
806
|
for (const field of data.fields) {
|
|
796
807
|
const propertyTerm = iriTerm(field.property);
|
|
797
808
|
const suffix = propertySuffix(field.property);
|
|
@@ -865,6 +876,41 @@ function processUpdateFields(data, subjectTerm, options) {
|
|
|
865
876
|
insertPatterns.push(...nested.triples);
|
|
866
877
|
continue;
|
|
867
878
|
}
|
|
879
|
+
// IRExpression — computed value update (e.g. p.age.plus(1))
|
|
880
|
+
if (isIRExpression(field.value)) {
|
|
881
|
+
const expr = field.value;
|
|
882
|
+
const oldVar = varTerm(`old_${suffix}`);
|
|
883
|
+
const computedVarName = `computed_${suffix}`;
|
|
884
|
+
const computedVar = varTerm(computedVarName);
|
|
885
|
+
// DELETE old value
|
|
886
|
+
deletePatterns.push(tripleOf(subjectTerm, propertyTerm, oldVar));
|
|
887
|
+
// WHERE: OPTIONAL for old value
|
|
888
|
+
oldValueTriples.push(tripleOf(subjectTerm, propertyTerm, oldVar));
|
|
889
|
+
// Discover additional property references in the expression and add OPTIONAL triples
|
|
890
|
+
const registry = new VariableRegistry();
|
|
891
|
+
const mutationSubjectAlias = '__mutation_subject__';
|
|
892
|
+
// Pre-register the subject variable mapping for the field being updated
|
|
893
|
+
registry.set(mutationSubjectAlias, field.property, `old_${suffix}`);
|
|
894
|
+
const additionalOptionals = [];
|
|
895
|
+
processExpressionForProperties(expr, registry, additionalOptionals);
|
|
896
|
+
// Add any additional property OPTIONAL triples (for refs to other properties)
|
|
897
|
+
for (const triple of additionalOptionals) {
|
|
898
|
+
// Rewrite the subject from the placeholder variable to the actual subject term
|
|
899
|
+
if (triple.subject.kind === 'variable' && triple.subject.name === mutationSubjectAlias) {
|
|
900
|
+
oldValueTriples.push(tripleOf(subjectTerm, triple.predicate, triple.object));
|
|
901
|
+
}
|
|
902
|
+
else {
|
|
903
|
+
oldValueTriples.push(triple);
|
|
904
|
+
}
|
|
905
|
+
}
|
|
906
|
+
// Convert IRExpression to SparqlExpression
|
|
907
|
+
const sparqlExpr = convertExpression(expr, registry, additionalOptionals);
|
|
908
|
+
// BIND computed expression
|
|
909
|
+
extends_.push({ variable: computedVarName, expression: sparqlExpr });
|
|
910
|
+
// INSERT computed value
|
|
911
|
+
insertPatterns.push(tripleOf(subjectTerm, propertyTerm, computedVar));
|
|
912
|
+
continue;
|
|
913
|
+
}
|
|
868
914
|
// Simple value update — delete old + insert new
|
|
869
915
|
const oldVar = varTerm(`old_${suffix}`);
|
|
870
916
|
deletePatterns.push(tripleOf(subjectTerm, propertyTerm, oldVar));
|
|
@@ -874,7 +920,7 @@ function processUpdateFields(data, subjectTerm, options) {
|
|
|
874
920
|
insertPatterns.push(tripleOf(subjectTerm, propertyTerm, term));
|
|
875
921
|
}
|
|
876
922
|
}
|
|
877
|
-
return { deletePatterns, insertPatterns, oldValueTriples };
|
|
923
|
+
return { deletePatterns, insertPatterns, oldValueTriples, extends: extends_ };
|
|
878
924
|
}
|
|
879
925
|
/**
|
|
880
926
|
* Wraps old-value triples in OPTIONAL (LEFT JOIN) so UPDATE succeeds
|
|
@@ -899,12 +945,34 @@ function wrapOldValueOptionals(base, oldValueTriples) {
|
|
|
899
945
|
*/
|
|
900
946
|
function updateToAlgebra(query, options) {
|
|
901
947
|
const subjectTerm = iriTerm(query.id);
|
|
902
|
-
const
|
|
903
|
-
|
|
948
|
+
const result = processUpdateFields(query.data, subjectTerm, options);
|
|
949
|
+
let whereAlgebra = wrapOldValueOptionals({ type: 'bgp', triples: [] }, result.oldValueTriples);
|
|
950
|
+
// Add traversal OPTIONAL patterns (for multi-segment expression refs)
|
|
951
|
+
// These must come BEFORE expression BINDs since the BINDs reference traversal variables.
|
|
952
|
+
if (query.traversalPatterns) {
|
|
953
|
+
for (const trav of query.traversalPatterns) {
|
|
954
|
+
const fromTerm = trav.from === '__mutation_subject__' ? subjectTerm : varTerm(trav.from);
|
|
955
|
+
const traversalTriple = tripleOf(fromTerm, iriTerm(trav.property), varTerm(trav.to));
|
|
956
|
+
whereAlgebra = {
|
|
957
|
+
type: 'left_join',
|
|
958
|
+
left: whereAlgebra,
|
|
959
|
+
right: { type: 'bgp', triples: [traversalTriple] },
|
|
960
|
+
};
|
|
961
|
+
}
|
|
962
|
+
}
|
|
963
|
+
// Add BIND expressions for computed fields
|
|
964
|
+
for (const ext of result.extends) {
|
|
965
|
+
whereAlgebra = {
|
|
966
|
+
type: 'extend',
|
|
967
|
+
inner: whereAlgebra,
|
|
968
|
+
variable: ext.variable,
|
|
969
|
+
expression: ext.expression,
|
|
970
|
+
};
|
|
971
|
+
}
|
|
904
972
|
return {
|
|
905
973
|
type: 'delete_insert',
|
|
906
|
-
deletePatterns,
|
|
907
|
-
insertPatterns,
|
|
974
|
+
deletePatterns: result.deletePatterns,
|
|
975
|
+
insertPatterns: result.insertPatterns,
|
|
908
976
|
whereAlgebra,
|
|
909
977
|
};
|
|
910
978
|
}
|
|
@@ -1103,7 +1171,7 @@ function deleteWhereToAlgebra(query, _options) {
|
|
|
1103
1171
|
*/
|
|
1104
1172
|
function updateWhereToAlgebra(query, options) {
|
|
1105
1173
|
const subjectTerm = varTerm('a0');
|
|
1106
|
-
const
|
|
1174
|
+
const result = processUpdateFields(query.data, subjectTerm, options);
|
|
1107
1175
|
// WHERE: type triple is always required
|
|
1108
1176
|
const typeTriple = tripleOf(subjectTerm, iriTerm(RDF_TYPE), iriTerm(query.data.shape));
|
|
1109
1177
|
let whereAlgebra = { type: 'bgp', triples: [typeTriple] };
|
|
@@ -1125,11 +1193,33 @@ function updateWhereToAlgebra(query, options) {
|
|
|
1125
1193
|
const filterExpr = convertExpression(query.where, registry, []);
|
|
1126
1194
|
whereAlgebra = { type: 'filter', expression: filterExpr, inner: whereAlgebra };
|
|
1127
1195
|
}
|
|
1128
|
-
whereAlgebra = wrapOldValueOptionals(whereAlgebra, oldValueTriples);
|
|
1196
|
+
whereAlgebra = wrapOldValueOptionals(whereAlgebra, result.oldValueTriples);
|
|
1197
|
+
// Add traversal OPTIONAL patterns (for multi-segment expression refs)
|
|
1198
|
+
// These must come BEFORE expression BINDs since the BINDs reference traversal variables.
|
|
1199
|
+
if (query.traversalPatterns) {
|
|
1200
|
+
for (const trav of query.traversalPatterns) {
|
|
1201
|
+
const fromTerm = trav.from === '__mutation_subject__' ? varTerm('a0') : varTerm(trav.from);
|
|
1202
|
+
const traversalTriple = tripleOf(fromTerm, iriTerm(trav.property), varTerm(trav.to));
|
|
1203
|
+
whereAlgebra = {
|
|
1204
|
+
type: 'left_join',
|
|
1205
|
+
left: whereAlgebra,
|
|
1206
|
+
right: { type: 'bgp', triples: [traversalTriple] },
|
|
1207
|
+
};
|
|
1208
|
+
}
|
|
1209
|
+
}
|
|
1210
|
+
// Add BIND expressions for computed fields
|
|
1211
|
+
for (const ext of result.extends) {
|
|
1212
|
+
whereAlgebra = {
|
|
1213
|
+
type: 'extend',
|
|
1214
|
+
inner: whereAlgebra,
|
|
1215
|
+
variable: ext.variable,
|
|
1216
|
+
expression: ext.expression,
|
|
1217
|
+
};
|
|
1218
|
+
}
|
|
1129
1219
|
return {
|
|
1130
1220
|
type: 'delete_insert',
|
|
1131
|
-
deletePatterns,
|
|
1132
|
-
insertPatterns,
|
|
1221
|
+
deletePatterns: result.deletePatterns,
|
|
1222
|
+
insertPatterns: result.insertPatterns,
|
|
1133
1223
|
whereAlgebra,
|
|
1134
1224
|
};
|
|
1135
1225
|
}
|