@traqula/parser-sparql-1-1 0.0.16 → 0.0.17
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/lib/Parser.d.ts +118 -118
- package/lib/expressionParser.d.ts +24 -24
- package/lib/index.cjs +256 -150
- package/lib/objectListParser.d.ts +12 -12
- package/lib/queryUnitParser.d.ts +90 -90
- package/lib/subSelectParser.d.ts +72 -72
- package/lib/triplesBlockParser.d.ts +27 -27
- package/lib/triplesTemplateParserBuilder.d.ts +15 -15
- package/lib/updateNoModifyParser.d.ts +35 -35
- package/lib/updateUnitParser.d.ts +109 -109
- package/package.json +5 -5
package/lib/index.cjs
CHANGED
|
@@ -9751,6 +9751,11 @@ ${firstError.message}`);
|
|
|
9751
9751
|
|
|
9752
9752
|
// ../../packages/core/lib/Transformers.js
|
|
9753
9753
|
var TransformerType = class {
|
|
9754
|
+
clone(obj) {
|
|
9755
|
+
const newObj = Object.create(Object.getPrototypeOf(obj));
|
|
9756
|
+
Object.defineProperties(newObj, Object.getOwnPropertyDescriptors(obj));
|
|
9757
|
+
return newObj;
|
|
9758
|
+
}
|
|
9754
9759
|
safeObjectVisit(value, mapper) {
|
|
9755
9760
|
if (value && typeof value === "object") {
|
|
9756
9761
|
if (Array.isArray(value)) {
|
|
@@ -9760,104 +9765,213 @@ var TransformerType = class {
|
|
|
9760
9765
|
}
|
|
9761
9766
|
return value;
|
|
9762
9767
|
}
|
|
9763
|
-
|
|
9764
|
-
|
|
9765
|
-
|
|
9766
|
-
|
|
9767
|
-
|
|
9768
|
-
|
|
9769
|
-
|
|
9770
|
-
|
|
9771
|
-
|
|
9772
|
-
|
|
9773
|
-
|
|
9774
|
-
|
|
9775
|
-
|
|
9776
|
-
|
|
9777
|
-
|
|
9778
|
-
|
|
9779
|
-
|
|
9780
|
-
|
|
9781
|
-
|
|
9782
|
-
|
|
9783
|
-
|
|
9784
|
-
|
|
9785
|
-
|
|
9768
|
+
/**
|
|
9769
|
+
* Recursively transforms all objects that are not arrays. Mapper is called on deeper objects first.
|
|
9770
|
+
* @param startObject object to start iterating from
|
|
9771
|
+
* @param mapper mapper to transform the various objects - argument is a copy of the original
|
|
9772
|
+
* @param preVisitor callback that is evaluated before iterating deeper.
|
|
9773
|
+
* If continues is false, we do not iterate deeper, current object is still mapped. - default: true
|
|
9774
|
+
* If shortcut is true, we do not iterate deeper, nor do we branch out, this mapper will be the last one called.
|
|
9775
|
+
* - Default false
|
|
9776
|
+
*/
|
|
9777
|
+
transformObject(startObject, mapper, preVisitor = () => ({})) {
|
|
9778
|
+
let didShortCut = false;
|
|
9779
|
+
const recurse = (curObject) => {
|
|
9780
|
+
const copy3 = this.clone(curObject);
|
|
9781
|
+
const context = preVisitor(copy3);
|
|
9782
|
+
didShortCut = context.shortcut ?? false;
|
|
9783
|
+
const continues = context.continue ?? true;
|
|
9784
|
+
if (continues && !didShortCut) {
|
|
9785
|
+
for (const [key, value] of Object.entries(copy3)) {
|
|
9786
|
+
if (didShortCut) {
|
|
9787
|
+
return copy3;
|
|
9788
|
+
}
|
|
9789
|
+
copy3[key] = this.safeObjectVisit(value, (obj) => recurse(obj));
|
|
9790
|
+
}
|
|
9791
|
+
}
|
|
9792
|
+
return mapper(copy3);
|
|
9793
|
+
};
|
|
9794
|
+
return recurse(startObject);
|
|
9786
9795
|
}
|
|
9787
|
-
|
|
9788
|
-
|
|
9789
|
-
|
|
9790
|
-
|
|
9791
|
-
|
|
9792
|
-
|
|
9793
|
-
|
|
9794
|
-
|
|
9795
|
-
|
|
9796
|
-
|
|
9797
|
-
|
|
9798
|
-
|
|
9799
|
-
|
|
9796
|
+
/**
|
|
9797
|
+
* Visitor that visits all objects. Visits deeper objects first.
|
|
9798
|
+
*/
|
|
9799
|
+
visitObject(startObject, visitor, preVisitor = () => ({})) {
|
|
9800
|
+
let didShortCut = false;
|
|
9801
|
+
const recurse = (curObject) => {
|
|
9802
|
+
const context = preVisitor(curObject);
|
|
9803
|
+
didShortCut = context.shortcut ?? false;
|
|
9804
|
+
const continues = context.continue ?? true;
|
|
9805
|
+
if (continues && !didShortCut) {
|
|
9806
|
+
for (const value of Object.values(curObject)) {
|
|
9807
|
+
if (didShortCut) {
|
|
9808
|
+
return;
|
|
9809
|
+
}
|
|
9810
|
+
this.safeObjectVisit(value, (obj) => recurse(obj));
|
|
9811
|
+
}
|
|
9800
9812
|
}
|
|
9801
|
-
|
|
9813
|
+
visitor(curObject);
|
|
9814
|
+
};
|
|
9815
|
+
recurse(startObject);
|
|
9816
|
+
}
|
|
9817
|
+
transformNode(startObject, nodeCallBacks) {
|
|
9818
|
+
const transformWrapper = (curObject) => {
|
|
9819
|
+
const casted = curObject;
|
|
9820
|
+
if (casted.type) {
|
|
9821
|
+
const ogFunc = nodeCallBacks[casted.type]?.transform;
|
|
9822
|
+
if (ogFunc) {
|
|
9823
|
+
return ogFunc(casted);
|
|
9824
|
+
}
|
|
9825
|
+
}
|
|
9826
|
+
return curObject;
|
|
9827
|
+
};
|
|
9828
|
+
const preTransformWrapper = (curObject) => {
|
|
9829
|
+
const casted = curObject;
|
|
9830
|
+
if (casted.type) {
|
|
9831
|
+
const ogFunc = nodeCallBacks[casted.type]?.preVisitor;
|
|
9832
|
+
if (ogFunc) {
|
|
9833
|
+
return ogFunc(casted);
|
|
9834
|
+
}
|
|
9835
|
+
}
|
|
9836
|
+
return {};
|
|
9837
|
+
};
|
|
9838
|
+
return this.transformObject(startObject, transformWrapper, preTransformWrapper);
|
|
9839
|
+
}
|
|
9840
|
+
visitNode(startObject, nodeCallBacks) {
|
|
9841
|
+
const visitWrapper = (curObject) => {
|
|
9842
|
+
const casted = curObject;
|
|
9843
|
+
if (casted.type) {
|
|
9844
|
+
const ogFunc = nodeCallBacks[casted.type]?.visitor;
|
|
9845
|
+
if (ogFunc) {
|
|
9846
|
+
ogFunc(casted);
|
|
9847
|
+
}
|
|
9848
|
+
}
|
|
9849
|
+
};
|
|
9850
|
+
const preVisitWrapper = (curObject) => {
|
|
9851
|
+
const casted = curObject;
|
|
9852
|
+
if (casted.type) {
|
|
9853
|
+
const ogFunc = nodeCallBacks[casted.type]?.preVisitor;
|
|
9854
|
+
if (ogFunc) {
|
|
9855
|
+
return ogFunc(casted);
|
|
9856
|
+
}
|
|
9857
|
+
}
|
|
9858
|
+
return {};
|
|
9859
|
+
};
|
|
9860
|
+
this.visitObject(startObject, visitWrapper, preVisitWrapper);
|
|
9861
|
+
}
|
|
9862
|
+
traverseNodes(currentNode, traverse) {
|
|
9863
|
+
let didShortCut = false;
|
|
9864
|
+
const recurse = (curNode) => {
|
|
9865
|
+
const traverser = traverse[curNode.type];
|
|
9866
|
+
if (traverser) {
|
|
9867
|
+
const { next, shortcut } = traverser(curNode);
|
|
9868
|
+
didShortCut = shortcut ?? false;
|
|
9869
|
+
if (!didShortCut) {
|
|
9870
|
+
for (const node of next ?? []) {
|
|
9871
|
+
if (didShortCut) {
|
|
9872
|
+
return;
|
|
9873
|
+
}
|
|
9874
|
+
recurse(node);
|
|
9875
|
+
}
|
|
9876
|
+
}
|
|
9877
|
+
}
|
|
9878
|
+
};
|
|
9879
|
+
recurse(currentNode);
|
|
9802
9880
|
}
|
|
9803
9881
|
};
|
|
9804
9882
|
var TransformerSubType = class extends TransformerType {
|
|
9805
|
-
|
|
9806
|
-
|
|
9807
|
-
|
|
9808
|
-
|
|
9809
|
-
|
|
9810
|
-
|
|
9811
|
-
|
|
9812
|
-
|
|
9813
|
-
|
|
9814
|
-
|
|
9815
|
-
|
|
9816
|
-
|
|
9817
|
-
|
|
9818
|
-
|
|
9819
|
-
|
|
9820
|
-
|
|
9821
|
-
|
|
9822
|
-
|
|
9823
|
-
|
|
9824
|
-
|
|
9825
|
-
|
|
9826
|
-
|
|
9827
|
-
|
|
9828
|
-
|
|
9829
|
-
|
|
9830
|
-
|
|
9831
|
-
|
|
9832
|
-
|
|
9833
|
-
|
|
9834
|
-
|
|
9835
|
-
return copy3;
|
|
9883
|
+
transformNodeSpecific(startObject, nodeCallBacks, nodeSpecificCallBacks) {
|
|
9884
|
+
const transformWrapper = (curObject) => {
|
|
9885
|
+
let ogTransform;
|
|
9886
|
+
const casted = curObject;
|
|
9887
|
+
if (casted.type && casted.subType) {
|
|
9888
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9889
|
+
if (specific) {
|
|
9890
|
+
ogTransform = specific[casted.subType]?.transform;
|
|
9891
|
+
}
|
|
9892
|
+
if (!ogTransform) {
|
|
9893
|
+
ogTransform = nodeCallBacks[casted.type]?.transform;
|
|
9894
|
+
}
|
|
9895
|
+
}
|
|
9896
|
+
return ogTransform ? ogTransform(casted) : curObject;
|
|
9897
|
+
};
|
|
9898
|
+
const preVisitWrapper = (curObject) => {
|
|
9899
|
+
let ogPreVisit;
|
|
9900
|
+
const casted = curObject;
|
|
9901
|
+
if (casted.type && casted.subType) {
|
|
9902
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9903
|
+
if (specific) {
|
|
9904
|
+
ogPreVisit = specific[casted.subType]?.preVisitor;
|
|
9905
|
+
}
|
|
9906
|
+
if (!ogPreVisit) {
|
|
9907
|
+
ogPreVisit = nodeCallBacks[casted.type]?.preVisitor;
|
|
9908
|
+
}
|
|
9909
|
+
}
|
|
9910
|
+
return ogPreVisit ? ogPreVisit(casted) : curObject;
|
|
9911
|
+
};
|
|
9912
|
+
return this.transformObject(startObject, transformWrapper, preVisitWrapper);
|
|
9836
9913
|
}
|
|
9837
9914
|
/**
|
|
9838
9915
|
* When both nodeCallBack and NodeSpecific callBack are matched, will only look at nodeSpecifCallback
|
|
9839
9916
|
*/
|
|
9840
|
-
visitNodeSpecific(
|
|
9841
|
-
|
|
9842
|
-
|
|
9843
|
-
|
|
9844
|
-
|
|
9845
|
-
|
|
9846
|
-
|
|
9917
|
+
visitNodeSpecific(startObject, nodeCallBacks, nodeSpecificCallBacks) {
|
|
9918
|
+
const visitWrapper = (curObject) => {
|
|
9919
|
+
let ogTransform;
|
|
9920
|
+
const casted = curObject;
|
|
9921
|
+
if (casted.type && casted.subType) {
|
|
9922
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9923
|
+
if (specific) {
|
|
9924
|
+
ogTransform = specific[casted.subType]?.visitor;
|
|
9925
|
+
}
|
|
9926
|
+
if (!ogTransform) {
|
|
9927
|
+
ogTransform = nodeCallBacks[casted.type]?.visitor;
|
|
9928
|
+
}
|
|
9847
9929
|
}
|
|
9848
|
-
|
|
9849
|
-
|
|
9850
|
-
callback = nodeCallBacks[curObject.type];
|
|
9851
|
-
}
|
|
9852
|
-
let shouldIterate = true;
|
|
9853
|
-
if (callback) {
|
|
9854
|
-
shouldIterate = callback(curObject) ?? true;
|
|
9855
|
-
}
|
|
9856
|
-
if (shouldIterate) {
|
|
9857
|
-
for (const value of Object.values(curObject)) {
|
|
9858
|
-
this.safeObjectVisit(value, (obj) => this.visitNodeSpecific(obj, nodeCallBacks, nodeSpecificCallBacks));
|
|
9930
|
+
if (ogTransform) {
|
|
9931
|
+
ogTransform(casted);
|
|
9859
9932
|
}
|
|
9860
|
-
}
|
|
9933
|
+
};
|
|
9934
|
+
const preVisitWrapper = (curObject) => {
|
|
9935
|
+
let ogPreVisit;
|
|
9936
|
+
const casted = curObject;
|
|
9937
|
+
if (casted.type && casted.subType) {
|
|
9938
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9939
|
+
if (specific) {
|
|
9940
|
+
ogPreVisit = specific[casted.subType]?.preVisitor;
|
|
9941
|
+
}
|
|
9942
|
+
if (!ogPreVisit) {
|
|
9943
|
+
ogPreVisit = nodeCallBacks[casted.type]?.preVisitor;
|
|
9944
|
+
}
|
|
9945
|
+
}
|
|
9946
|
+
return ogPreVisit ? ogPreVisit(casted) : curObject;
|
|
9947
|
+
};
|
|
9948
|
+
this.visitObject(startObject, visitWrapper, preVisitWrapper);
|
|
9949
|
+
}
|
|
9950
|
+
traverseSubNodes(currentNode, traverseNode, traverseSubNode) {
|
|
9951
|
+
let didShortCut = false;
|
|
9952
|
+
const recurse = (curNode) => {
|
|
9953
|
+
let traverser;
|
|
9954
|
+
const subObj = traverseSubNode[curNode.type];
|
|
9955
|
+
if (subObj) {
|
|
9956
|
+
traverser = subObj[curNode.subType];
|
|
9957
|
+
}
|
|
9958
|
+
if (!traverser) {
|
|
9959
|
+
traverser = traverseNode[curNode.type];
|
|
9960
|
+
}
|
|
9961
|
+
if (traverser) {
|
|
9962
|
+
const { next, shortcut } = traverser(curNode);
|
|
9963
|
+
didShortCut = shortcut ?? false;
|
|
9964
|
+
if (!didShortCut) {
|
|
9965
|
+
for (const node of next ?? []) {
|
|
9966
|
+
if (didShortCut) {
|
|
9967
|
+
return;
|
|
9968
|
+
}
|
|
9969
|
+
recurse(node);
|
|
9970
|
+
}
|
|
9971
|
+
}
|
|
9972
|
+
}
|
|
9973
|
+
};
|
|
9974
|
+
recurse(currentNode);
|
|
9861
9975
|
}
|
|
9862
9976
|
};
|
|
9863
9977
|
|
|
@@ -11371,12 +11485,12 @@ var CommonIRIs;
|
|
|
11371
11485
|
CommonIRIs2["NIL"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil";
|
|
11372
11486
|
CommonIRIs2["TYPE"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type";
|
|
11373
11487
|
})(CommonIRIs || (CommonIRIs = {}));
|
|
11374
|
-
var
|
|
11488
|
+
var AstTransformer = class extends TransformerSubType {
|
|
11375
11489
|
};
|
|
11376
11490
|
|
|
11377
11491
|
// ../../packages/rules-sparql-1-1/lib/validation/validators.js
|
|
11378
11492
|
var F = new AstFactory();
|
|
11379
|
-
var transformer = new
|
|
11493
|
+
var transformer = new AstTransformer();
|
|
11380
11494
|
function getAggregatesOfExpression(expression2) {
|
|
11381
11495
|
if (F.isExpressionAggregate(expression2)) {
|
|
11382
11496
|
return [expression2];
|
|
@@ -11455,77 +11569,69 @@ function queryIsGood(query2) {
|
|
|
11455
11569
|
}
|
|
11456
11570
|
}
|
|
11457
11571
|
}
|
|
11572
|
+
function notUndefined(some2) {
|
|
11573
|
+
return some2 !== void 0;
|
|
11574
|
+
}
|
|
11458
11575
|
function findPatternBoundedVars(iter, boundedVars) {
|
|
11459
|
-
|
|
11460
|
-
|
|
11461
|
-
|
|
11462
|
-
|
|
11463
|
-
|
|
11464
|
-
|
|
11465
|
-
|
|
11466
|
-
|
|
11467
|
-
|
|
11468
|
-
|
|
11469
|
-
|
|
11470
|
-
|
|
11471
|
-
|
|
11472
|
-
|
|
11473
|
-
|
|
11474
|
-
|
|
11475
|
-
|
|
11476
|
-
|
|
11477
|
-
|
|
11478
|
-
|
|
11576
|
+
transformer.traverseSubNodes(iter, {
|
|
11577
|
+
query: (op) => ({ next: [
|
|
11578
|
+
op.solutionModifiers.group
|
|
11579
|
+
].filter(notUndefined) }),
|
|
11580
|
+
triple: (op) => ({ next: [op.subject, op.predicate, op.object] }),
|
|
11581
|
+
path: (op) => ({ next: op.items }),
|
|
11582
|
+
tripleCollection: (op) => ({ next: [op.identifier, ...op.triples] })
|
|
11583
|
+
}, {
|
|
11584
|
+
query: {
|
|
11585
|
+
select: (op) => ({ next: [
|
|
11586
|
+
...op.variables.some((x) => F.isWildcard(x)) ? [op.where] : op.variables,
|
|
11587
|
+
op.solutionModifiers.group,
|
|
11588
|
+
op.values
|
|
11589
|
+
].filter(notUndefined) }),
|
|
11590
|
+
describe: (op) => ({ next: [
|
|
11591
|
+
...op.variables.some((x) => F.isWildcard(x)) ? [op.where] : op.variables,
|
|
11592
|
+
op.solutionModifiers.group,
|
|
11593
|
+
op.values
|
|
11594
|
+
].filter(notUndefined) })
|
|
11595
|
+
},
|
|
11596
|
+
solutionModifier: {
|
|
11597
|
+
group: (op) => ({
|
|
11598
|
+
next: op.groupings.filter((g) => "variable" in g).map((x) => x.variable)
|
|
11599
|
+
}),
|
|
11600
|
+
having: (op) => ({ next: op.having }),
|
|
11601
|
+
order: (op) => ({ next: op.orderDefs.map((x) => x.expression) })
|
|
11602
|
+
},
|
|
11603
|
+
pattern: {
|
|
11604
|
+
values: (op) => {
|
|
11605
|
+
for (const v of Object.keys(op.values.at(0) ?? {})) {
|
|
11479
11606
|
boundedVars.add(v);
|
|
11480
11607
|
}
|
|
11608
|
+
return {};
|
|
11609
|
+
},
|
|
11610
|
+
bgp: (op) => ({ next: op.triples }),
|
|
11611
|
+
group: (op) => ({ next: op.patterns }),
|
|
11612
|
+
union: (op) => ({ next: op.patterns }),
|
|
11613
|
+
optional: (op) => ({ next: op.patterns }),
|
|
11614
|
+
service: (op) => ({ next: [op.name, ...op.patterns] }),
|
|
11615
|
+
bind: (op) => ({ next: [op.variable] }),
|
|
11616
|
+
graph: (op) => ({ next: [op.name, ...op.patterns] }),
|
|
11617
|
+
minus: (op) => ({ next: op.patterns.slice(0, 1) })
|
|
11618
|
+
},
|
|
11619
|
+
term: {
|
|
11620
|
+
variable: (op) => {
|
|
11621
|
+
boundedVars.add(op.value);
|
|
11622
|
+
return {};
|
|
11481
11623
|
}
|
|
11482
11624
|
}
|
|
11483
|
-
}
|
|
11484
|
-
if (F.isTermVariable(iter)) {
|
|
11485
|
-
boundedVars.add(iter.value);
|
|
11486
|
-
}
|
|
11487
|
-
} else if (F.isTriple(iter)) {
|
|
11488
|
-
findPatternBoundedVars(iter.subject, boundedVars);
|
|
11489
|
-
findPatternBoundedVars(iter.predicate, boundedVars);
|
|
11490
|
-
findPatternBoundedVars(iter.object, boundedVars);
|
|
11491
|
-
} else if (F.isPath(iter)) {
|
|
11492
|
-
if (!F.isTerm(iter)) {
|
|
11493
|
-
for (const item of iter.items) {
|
|
11494
|
-
findPatternBoundedVars(item, boundedVars);
|
|
11495
|
-
}
|
|
11496
|
-
}
|
|
11497
|
-
} else if (F.isTripleCollection(iter) || F.isPatternBgp(iter)) {
|
|
11498
|
-
for (const triple of iter.triples) {
|
|
11499
|
-
findPatternBoundedVars(triple, boundedVars);
|
|
11500
|
-
}
|
|
11501
|
-
} else if (F.isPatternGroup(iter) || F.isPatternUnion(iter) || F.isPatternOptional(iter) || F.isPatternService(iter)) {
|
|
11502
|
-
for (const pattern of iter.patterns) {
|
|
11503
|
-
findPatternBoundedVars(pattern, boundedVars);
|
|
11504
|
-
}
|
|
11505
|
-
if (F.isPatternService(iter)) {
|
|
11506
|
-
findPatternBoundedVars(iter.name, boundedVars);
|
|
11507
|
-
}
|
|
11508
|
-
} else if (F.isPatternBind(iter)) {
|
|
11509
|
-
findPatternBoundedVars(iter.variable, boundedVars);
|
|
11510
|
-
} else if (F.isPatternValues(iter)) {
|
|
11511
|
-
for (const variable of Object.keys(iter.values.at(0) ?? {})) {
|
|
11512
|
-
boundedVars.add(variable);
|
|
11513
|
-
}
|
|
11514
|
-
} else if (F.isPatternGraph(iter)) {
|
|
11515
|
-
findPatternBoundedVars(iter.name, boundedVars);
|
|
11516
|
-
for (const pattern of iter.patterns) {
|
|
11517
|
-
findPatternBoundedVars(pattern, boundedVars);
|
|
11518
|
-
}
|
|
11519
|
-
}
|
|
11625
|
+
});
|
|
11520
11626
|
}
|
|
11521
11627
|
function checkNote13(patterns) {
|
|
11522
11628
|
for (const [index, pattern] of patterns.entries()) {
|
|
11523
11629
|
if (F.isPatternBind(pattern) && index > 0 && F.isPatternBgp(patterns[index - 1])) {
|
|
11524
11630
|
const bgp = patterns[index - 1];
|
|
11525
11631
|
const variables = [];
|
|
11526
|
-
transformer.visitNodeSpecific(bgp, {}, { term: { variable: (var_2) => {
|
|
11632
|
+
transformer.visitNodeSpecific(bgp, {}, { term: { variable: { visitor: (var_2) => {
|
|
11527
11633
|
variables.push(var_2);
|
|
11528
|
-
} } });
|
|
11634
|
+
} } } });
|
|
11529
11635
|
if (variables.some((var_2) => var_2.value === pattern.variable.value)) {
|
|
11530
11636
|
throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);
|
|
11531
11637
|
}
|
|
@@ -11551,12 +11657,12 @@ function updateNoReuseBlankNodeLabels(updateQuery) {
|
|
|
11551
11657
|
const operation = update2.operation;
|
|
11552
11658
|
if (operation.subType === "insertdata") {
|
|
11553
11659
|
const blankNodesHere = /* @__PURE__ */ new Set();
|
|
11554
|
-
transformer.visitNodeSpecific(operation, {}, { term: { blankNode: (blankNode2) => {
|
|
11660
|
+
transformer.visitNodeSpecific(operation, {}, { term: { blankNode: { visitor: (blankNode2) => {
|
|
11555
11661
|
blankNodesHere.add(blankNode2.label);
|
|
11556
11662
|
if (blankLabelsUsedInInsertData.has(blankNode2.label)) {
|
|
11557
11663
|
throw new Error("Detected reuse blank node across different INSERT DATA clauses");
|
|
11558
11664
|
}
|
|
11559
|
-
} } });
|
|
11665
|
+
} } } });
|
|
11560
11666
|
for (const blankNode2 of blankNodesHere) {
|
|
11561
11667
|
blankLabelsUsedInInsertData.add(blankNode2);
|
|
11562
11668
|
}
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { ParserBuilder } from '@traqula/core';
|
|
2
|
-
export declare const objectListParserBuilder: ParserBuilder<import("@traqula/rules-sparql-1-1").SparqlContext, "string" | "object" | "
|
|
2
|
+
export declare const objectListParserBuilder: ParserBuilder<import("@traqula/rules-sparql-1-1").SparqlContext, "string" | "object" | "rdfLiteral" | "numericLiteral" | "numericLiteralUnsigned" | "numericLiteralPositive" | "numericLiteralNegative" | "booleanLiteral" | "var" | "iri" | "prefixedName" | "blankNode" | "objectList" | "graphNode" | "varOrTerm" | "triplesNode" | "collection" | "blankNodePropertyList" | "propertyListNotEmpty" | "verb" | "VerbA" | "varOrIri" | "iriFull" | "graphTerm", import("@traqula/core").ParseRuleMap<"string" | "object" | "rdfLiteral" | "numericLiteral" | "numericLiteralUnsigned" | "numericLiteralPositive" | "numericLiteralNegative" | "booleanLiteral" | "var" | "iri" | "prefixedName" | "blankNode" | "objectList" | "graphNode" | "varOrTerm" | "triplesNode" | "collection" | "blankNodePropertyList" | "propertyListNotEmpty" | "verb" | "VerbA" | "varOrIri" | "iriFull" | "graphTerm"> & {
|
|
3
3
|
string: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"string", import("@traqula/rules-sparql-1-1").TermLiteralStr>;
|
|
4
4
|
object: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"object", import("@traqula/rules-sparql-1-1").TripleNesting, [import("@traqula/rules-sparql-1-1").GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
|
|
5
|
-
blankNode: import("@traqula/rules-sparql-1-1").SparqlRule<"blankNode", import("@traqula/rules-sparql-1-1").TermBlank>;
|
|
6
|
-
verb: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"verb", import("@traqula/rules-sparql-1-1").TermIri | import("@traqula/rules-sparql-1-1").TermVariable>;
|
|
7
|
-
varOrTerm: import("@traqula/rules-sparql-1-1").SparqlRule<"varOrTerm", import("@traqula/rules-sparql-1-1").Term>;
|
|
8
|
-
varOrIri: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"varOrIri", import("@traqula/rules-sparql-1-1").TermIri | import("@traqula/rules-sparql-1-1").TermVariable>;
|
|
9
|
-
var: import("@traqula/rules-sparql-1-1").SparqlRule<"var", import("@traqula/rules-sparql-1-1").TermVariable>;
|
|
10
|
-
graphTerm: import("@traqula/rules-sparql-1-1").SparqlRule<"graphTerm", import("@traqula/rules-sparql-1-1").GraphTerm>;
|
|
11
5
|
rdfLiteral: import("@traqula/rules-sparql-1-1").SparqlRule<"rdfLiteral", import("@traqula/rules-sparql-1-1").TermLiteral>;
|
|
12
6
|
numericLiteral: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"numericLiteral", import("@traqula/rules-sparql-1-1").TermLiteralTyped>;
|
|
13
7
|
numericLiteralUnsigned: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"numericLiteralUnsigned", import("@traqula/rules-sparql-1-1").TermLiteralTyped>;
|
|
14
8
|
numericLiteralPositive: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"numericLiteralPositive", import("@traqula/rules-sparql-1-1").TermLiteralTyped>;
|
|
15
9
|
numericLiteralNegative: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"numericLiteralNegative", import("@traqula/rules-sparql-1-1").TermLiteralTyped>;
|
|
16
10
|
booleanLiteral: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"booleanLiteral", import("@traqula/rules-sparql-1-1").TermLiteralTyped>;
|
|
11
|
+
var: import("@traqula/rules-sparql-1-1").SparqlRule<"var", import("@traqula/rules-sparql-1-1").TermVariable>;
|
|
17
12
|
iri: import("@traqula/rules-sparql-1-1").SparqlRule<"iri", import("@traqula/rules-sparql-1-1").TermIri>;
|
|
18
|
-
iriFull: import("@traqula/rules-sparql-1-1").SparqlRule<"iriFull", import("@traqula/rules-sparql-1-1").TermIriFull>;
|
|
19
13
|
prefixedName: import("@traqula/rules-sparql-1-1").SparqlRule<"prefixedName", import("@traqula/rules-sparql-1-1").TermIriPrefixed>;
|
|
20
|
-
|
|
21
|
-
propertyListNotEmpty: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"propertyListNotEmpty", import("@traqula/rules-sparql-1-1").TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
|
|
14
|
+
blankNode: import("@traqula/rules-sparql-1-1").SparqlRule<"blankNode", import("@traqula/rules-sparql-1-1").TermBlank>;
|
|
22
15
|
objectList: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"objectList", import("@traqula/rules-sparql-1-1").TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
|
|
23
|
-
|
|
16
|
+
graphNode: import("@traqula/rules-sparql-1-1").SparqlRule<"graphNode", import("@traqula/rules-sparql-1-1").Term | import("@traqula/rules-sparql-1-1").TripleCollection>;
|
|
17
|
+
varOrTerm: import("@traqula/rules-sparql-1-1").SparqlRule<"varOrTerm", import("@traqula/rules-sparql-1-1").Term>;
|
|
24
18
|
triplesNode: import("@traqula/rules-sparql-1-1").SparqlRule<"triplesNode", import("@traqula/rules-sparql-1-1").TripleCollection>;
|
|
19
|
+
collection: import("@traqula/rules-sparql-1-1").SparqlRule<"collection", import("@traqula/rules-sparql-1-1").TripleCollectionList>;
|
|
25
20
|
blankNodePropertyList: import("@traqula/rules-sparql-1-1").SparqlRule<"blankNodePropertyList", import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties>;
|
|
26
|
-
|
|
21
|
+
propertyListNotEmpty: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"propertyListNotEmpty", import("@traqula/rules-sparql-1-1").TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
|
|
22
|
+
verb: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"verb", import("@traqula/rules-sparql-1-1").TermIri | import("@traqula/rules-sparql-1-1").TermVariable>;
|
|
23
|
+
VerbA: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"VerbA", import("@traqula/rules-sparql-1-1").TermIriFull>;
|
|
24
|
+
varOrIri: import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"varOrIri", import("@traqula/rules-sparql-1-1").TermIri | import("@traqula/rules-sparql-1-1").TermVariable>;
|
|
25
|
+
iriFull: import("@traqula/rules-sparql-1-1").SparqlRule<"iriFull", import("@traqula/rules-sparql-1-1").TermIriFull>;
|
|
26
|
+
graphTerm: import("@traqula/rules-sparql-1-1").SparqlRule<"graphTerm", import("@traqula/rules-sparql-1-1").GraphTerm>;
|
|
27
27
|
}>;
|
|
28
28
|
export type ObjectListParser = ReturnType<typeof objectListParserBuilder.build>;
|