@traqula/generator-sparql-1-2 0.0.16 → 0.0.18
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/index.cjs +322 -196
- package/lib/index.d.ts +53 -54
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/package.json +8 -8
package/lib/index.cjs
CHANGED
|
@@ -20,7 +20,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
20
20
|
// lib/index.ts
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
|
-
Generator: () => Generator
|
|
23
|
+
Generator: () => Generator,
|
|
24
|
+
sparql12GeneratorBuilder: () => sparql12GeneratorBuilder
|
|
24
25
|
});
|
|
25
26
|
module.exports = __toCommonJS(index_exports);
|
|
26
27
|
|
|
@@ -9717,6 +9718,11 @@ var LexerBuilder = class _LexerBuilder {
|
|
|
9717
9718
|
|
|
9718
9719
|
// ../../packages/core/lib/Transformers.js
|
|
9719
9720
|
var TransformerType = class {
|
|
9721
|
+
clone(obj) {
|
|
9722
|
+
const newObj = Object.create(Object.getPrototypeOf(obj));
|
|
9723
|
+
Object.defineProperties(newObj, Object.getOwnPropertyDescriptors(obj));
|
|
9724
|
+
return newObj;
|
|
9725
|
+
}
|
|
9720
9726
|
safeObjectVisit(value, mapper) {
|
|
9721
9727
|
if (value && typeof value === "object") {
|
|
9722
9728
|
if (Array.isArray(value)) {
|
|
@@ -9726,104 +9732,213 @@ var TransformerType = class {
|
|
|
9726
9732
|
}
|
|
9727
9733
|
return value;
|
|
9728
9734
|
}
|
|
9729
|
-
|
|
9730
|
-
|
|
9731
|
-
|
|
9732
|
-
|
|
9733
|
-
|
|
9734
|
-
|
|
9735
|
-
|
|
9736
|
-
|
|
9737
|
-
|
|
9738
|
-
|
|
9739
|
-
|
|
9740
|
-
|
|
9741
|
-
|
|
9742
|
-
|
|
9743
|
-
|
|
9744
|
-
|
|
9745
|
-
|
|
9746
|
-
|
|
9747
|
-
|
|
9748
|
-
|
|
9749
|
-
|
|
9750
|
-
|
|
9751
|
-
|
|
9735
|
+
/**
|
|
9736
|
+
* Recursively transforms all objects that are not arrays. Mapper is called on deeper objects first.
|
|
9737
|
+
* @param startObject object to start iterating from
|
|
9738
|
+
* @param mapper mapper to transform the various objects - argument is a copy of the original
|
|
9739
|
+
* @param preVisitor callback that is evaluated before iterating deeper.
|
|
9740
|
+
* If continues is false, we do not iterate deeper, current object is still mapped. - default: true
|
|
9741
|
+
* If shortcut is true, we do not iterate deeper, nor do we branch out, this mapper will be the last one called.
|
|
9742
|
+
* - Default false
|
|
9743
|
+
*/
|
|
9744
|
+
transformObject(startObject, mapper, preVisitor = () => ({})) {
|
|
9745
|
+
let didShortCut = false;
|
|
9746
|
+
const recurse = (curObject) => {
|
|
9747
|
+
const copy3 = this.clone(curObject);
|
|
9748
|
+
const context = preVisitor(copy3);
|
|
9749
|
+
didShortCut = context.shortcut ?? false;
|
|
9750
|
+
const continues = context.continue ?? true;
|
|
9751
|
+
if (continues && !didShortCut) {
|
|
9752
|
+
for (const [key, value] of Object.entries(copy3)) {
|
|
9753
|
+
if (didShortCut) {
|
|
9754
|
+
return copy3;
|
|
9755
|
+
}
|
|
9756
|
+
copy3[key] = this.safeObjectVisit(value, (obj) => recurse(obj));
|
|
9757
|
+
}
|
|
9758
|
+
}
|
|
9759
|
+
return mapper(copy3);
|
|
9760
|
+
};
|
|
9761
|
+
return recurse(startObject);
|
|
9752
9762
|
}
|
|
9753
|
-
|
|
9754
|
-
|
|
9755
|
-
|
|
9756
|
-
|
|
9757
|
-
|
|
9758
|
-
|
|
9759
|
-
|
|
9760
|
-
|
|
9761
|
-
|
|
9762
|
-
|
|
9763
|
-
|
|
9764
|
-
|
|
9765
|
-
|
|
9763
|
+
/**
|
|
9764
|
+
* Visitor that visits all objects. Visits deeper objects first.
|
|
9765
|
+
*/
|
|
9766
|
+
visitObject(startObject, visitor, preVisitor = () => ({})) {
|
|
9767
|
+
let didShortCut = false;
|
|
9768
|
+
const recurse = (curObject) => {
|
|
9769
|
+
const context = preVisitor(curObject);
|
|
9770
|
+
didShortCut = context.shortcut ?? false;
|
|
9771
|
+
const continues = context.continue ?? true;
|
|
9772
|
+
if (continues && !didShortCut) {
|
|
9773
|
+
for (const value of Object.values(curObject)) {
|
|
9774
|
+
if (didShortCut) {
|
|
9775
|
+
return;
|
|
9776
|
+
}
|
|
9777
|
+
this.safeObjectVisit(value, (obj) => recurse(obj));
|
|
9778
|
+
}
|
|
9766
9779
|
}
|
|
9767
|
-
|
|
9780
|
+
visitor(curObject);
|
|
9781
|
+
};
|
|
9782
|
+
recurse(startObject);
|
|
9783
|
+
}
|
|
9784
|
+
transformNode(startObject, nodeCallBacks) {
|
|
9785
|
+
const transformWrapper = (curObject) => {
|
|
9786
|
+
const casted = curObject;
|
|
9787
|
+
if (casted.type) {
|
|
9788
|
+
const ogFunc = nodeCallBacks[casted.type]?.transform;
|
|
9789
|
+
if (ogFunc) {
|
|
9790
|
+
return ogFunc(casted);
|
|
9791
|
+
}
|
|
9792
|
+
}
|
|
9793
|
+
return curObject;
|
|
9794
|
+
};
|
|
9795
|
+
const preTransformWrapper = (curObject) => {
|
|
9796
|
+
const casted = curObject;
|
|
9797
|
+
if (casted.type) {
|
|
9798
|
+
const ogFunc = nodeCallBacks[casted.type]?.preVisitor;
|
|
9799
|
+
if (ogFunc) {
|
|
9800
|
+
return ogFunc(casted);
|
|
9801
|
+
}
|
|
9802
|
+
}
|
|
9803
|
+
return {};
|
|
9804
|
+
};
|
|
9805
|
+
return this.transformObject(startObject, transformWrapper, preTransformWrapper);
|
|
9806
|
+
}
|
|
9807
|
+
visitNode(startObject, nodeCallBacks) {
|
|
9808
|
+
const visitWrapper = (curObject) => {
|
|
9809
|
+
const casted = curObject;
|
|
9810
|
+
if (casted.type) {
|
|
9811
|
+
const ogFunc = nodeCallBacks[casted.type]?.visitor;
|
|
9812
|
+
if (ogFunc) {
|
|
9813
|
+
ogFunc(casted);
|
|
9814
|
+
}
|
|
9815
|
+
}
|
|
9816
|
+
};
|
|
9817
|
+
const preVisitWrapper = (curObject) => {
|
|
9818
|
+
const casted = curObject;
|
|
9819
|
+
if (casted.type) {
|
|
9820
|
+
const ogFunc = nodeCallBacks[casted.type]?.preVisitor;
|
|
9821
|
+
if (ogFunc) {
|
|
9822
|
+
return ogFunc(casted);
|
|
9823
|
+
}
|
|
9824
|
+
}
|
|
9825
|
+
return {};
|
|
9826
|
+
};
|
|
9827
|
+
this.visitObject(startObject, visitWrapper, preVisitWrapper);
|
|
9828
|
+
}
|
|
9829
|
+
traverseNodes(currentNode, traverse) {
|
|
9830
|
+
let didShortCut = false;
|
|
9831
|
+
const recurse = (curNode) => {
|
|
9832
|
+
const traverser = traverse[curNode.type];
|
|
9833
|
+
if (traverser) {
|
|
9834
|
+
const { next, shortcut } = traverser(curNode);
|
|
9835
|
+
didShortCut = shortcut ?? false;
|
|
9836
|
+
if (!didShortCut) {
|
|
9837
|
+
for (const node of next ?? []) {
|
|
9838
|
+
if (didShortCut) {
|
|
9839
|
+
return;
|
|
9840
|
+
}
|
|
9841
|
+
recurse(node);
|
|
9842
|
+
}
|
|
9843
|
+
}
|
|
9844
|
+
}
|
|
9845
|
+
};
|
|
9846
|
+
recurse(currentNode);
|
|
9768
9847
|
}
|
|
9769
9848
|
};
|
|
9770
9849
|
var TransformerSubType = class extends TransformerType {
|
|
9771
|
-
|
|
9772
|
-
|
|
9773
|
-
|
|
9774
|
-
|
|
9775
|
-
|
|
9776
|
-
|
|
9777
|
-
|
|
9778
|
-
|
|
9779
|
-
|
|
9780
|
-
|
|
9781
|
-
|
|
9782
|
-
|
|
9783
|
-
|
|
9784
|
-
|
|
9785
|
-
|
|
9786
|
-
|
|
9787
|
-
|
|
9788
|
-
|
|
9789
|
-
|
|
9790
|
-
|
|
9791
|
-
|
|
9792
|
-
|
|
9793
|
-
|
|
9794
|
-
|
|
9795
|
-
|
|
9796
|
-
|
|
9797
|
-
|
|
9798
|
-
|
|
9799
|
-
|
|
9800
|
-
|
|
9801
|
-
return copy3;
|
|
9850
|
+
transformNodeSpecific(startObject, nodeCallBacks, nodeSpecificCallBacks) {
|
|
9851
|
+
const transformWrapper = (curObject) => {
|
|
9852
|
+
let ogTransform;
|
|
9853
|
+
const casted = curObject;
|
|
9854
|
+
if (casted.type && casted.subType) {
|
|
9855
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9856
|
+
if (specific) {
|
|
9857
|
+
ogTransform = specific[casted.subType]?.transform;
|
|
9858
|
+
}
|
|
9859
|
+
if (!ogTransform) {
|
|
9860
|
+
ogTransform = nodeCallBacks[casted.type]?.transform;
|
|
9861
|
+
}
|
|
9862
|
+
}
|
|
9863
|
+
return ogTransform ? ogTransform(casted) : curObject;
|
|
9864
|
+
};
|
|
9865
|
+
const preVisitWrapper = (curObject) => {
|
|
9866
|
+
let ogPreVisit;
|
|
9867
|
+
const casted = curObject;
|
|
9868
|
+
if (casted.type && casted.subType) {
|
|
9869
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9870
|
+
if (specific) {
|
|
9871
|
+
ogPreVisit = specific[casted.subType]?.preVisitor;
|
|
9872
|
+
}
|
|
9873
|
+
if (!ogPreVisit) {
|
|
9874
|
+
ogPreVisit = nodeCallBacks[casted.type]?.preVisitor;
|
|
9875
|
+
}
|
|
9876
|
+
}
|
|
9877
|
+
return ogPreVisit ? ogPreVisit(casted) : curObject;
|
|
9878
|
+
};
|
|
9879
|
+
return this.transformObject(startObject, transformWrapper, preVisitWrapper);
|
|
9802
9880
|
}
|
|
9803
9881
|
/**
|
|
9804
9882
|
* When both nodeCallBack and NodeSpecific callBack are matched, will only look at nodeSpecifCallback
|
|
9805
9883
|
*/
|
|
9806
|
-
visitNodeSpecific(
|
|
9807
|
-
|
|
9808
|
-
|
|
9809
|
-
|
|
9810
|
-
|
|
9811
|
-
|
|
9812
|
-
|
|
9884
|
+
visitNodeSpecific(startObject, nodeCallBacks, nodeSpecificCallBacks) {
|
|
9885
|
+
const visitWrapper = (curObject) => {
|
|
9886
|
+
let ogTransform;
|
|
9887
|
+
const casted = curObject;
|
|
9888
|
+
if (casted.type && casted.subType) {
|
|
9889
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9890
|
+
if (specific) {
|
|
9891
|
+
ogTransform = specific[casted.subType]?.visitor;
|
|
9892
|
+
}
|
|
9893
|
+
if (!ogTransform) {
|
|
9894
|
+
ogTransform = nodeCallBacks[casted.type]?.visitor;
|
|
9895
|
+
}
|
|
9813
9896
|
}
|
|
9814
|
-
|
|
9815
|
-
|
|
9816
|
-
callback = nodeCallBacks[curObject.type];
|
|
9817
|
-
}
|
|
9818
|
-
let shouldIterate = true;
|
|
9819
|
-
if (callback) {
|
|
9820
|
-
shouldIterate = callback(curObject) ?? true;
|
|
9821
|
-
}
|
|
9822
|
-
if (shouldIterate) {
|
|
9823
|
-
for (const value of Object.values(curObject)) {
|
|
9824
|
-
this.safeObjectVisit(value, (obj) => this.visitNodeSpecific(obj, nodeCallBacks, nodeSpecificCallBacks));
|
|
9897
|
+
if (ogTransform) {
|
|
9898
|
+
ogTransform(casted);
|
|
9825
9899
|
}
|
|
9826
|
-
}
|
|
9900
|
+
};
|
|
9901
|
+
const preVisitWrapper = (curObject) => {
|
|
9902
|
+
let ogPreVisit;
|
|
9903
|
+
const casted = curObject;
|
|
9904
|
+
if (casted.type && casted.subType) {
|
|
9905
|
+
const specific = nodeSpecificCallBacks[casted.type];
|
|
9906
|
+
if (specific) {
|
|
9907
|
+
ogPreVisit = specific[casted.subType]?.preVisitor;
|
|
9908
|
+
}
|
|
9909
|
+
if (!ogPreVisit) {
|
|
9910
|
+
ogPreVisit = nodeCallBacks[casted.type]?.preVisitor;
|
|
9911
|
+
}
|
|
9912
|
+
}
|
|
9913
|
+
return ogPreVisit ? ogPreVisit(casted) : curObject;
|
|
9914
|
+
};
|
|
9915
|
+
this.visitObject(startObject, visitWrapper, preVisitWrapper);
|
|
9916
|
+
}
|
|
9917
|
+
traverseSubNodes(currentNode, traverseNode, traverseSubNode) {
|
|
9918
|
+
let didShortCut = false;
|
|
9919
|
+
const recurse = (curNode) => {
|
|
9920
|
+
let traverser;
|
|
9921
|
+
const subObj = traverseSubNode[curNode.type];
|
|
9922
|
+
if (subObj) {
|
|
9923
|
+
traverser = subObj[curNode.subType];
|
|
9924
|
+
}
|
|
9925
|
+
if (!traverser) {
|
|
9926
|
+
traverser = traverseNode[curNode.type];
|
|
9927
|
+
}
|
|
9928
|
+
if (traverser) {
|
|
9929
|
+
const { next, shortcut } = traverser(curNode);
|
|
9930
|
+
didShortCut = shortcut ?? false;
|
|
9931
|
+
if (!didShortCut) {
|
|
9932
|
+
for (const node of next ?? []) {
|
|
9933
|
+
if (didShortCut) {
|
|
9934
|
+
return;
|
|
9935
|
+
}
|
|
9936
|
+
recurse(node);
|
|
9937
|
+
}
|
|
9938
|
+
}
|
|
9939
|
+
}
|
|
9940
|
+
};
|
|
9941
|
+
recurse(currentNode);
|
|
9827
9942
|
}
|
|
9828
9943
|
};
|
|
9829
9944
|
|
|
@@ -10065,8 +10180,9 @@ __export(lexer_exports, {
|
|
|
10065
10180
|
construct: () => construct,
|
|
10066
10181
|
copy: () => copy,
|
|
10067
10182
|
create: () => create,
|
|
10068
|
-
dataClause: () => dataClause,
|
|
10069
10183
|
deleteClause: () => deleteClause,
|
|
10184
|
+
deleteDataClause: () => deleteDataClause,
|
|
10185
|
+
deleteWhereClause: () => deleteWhereClause,
|
|
10070
10186
|
describe: () => describe,
|
|
10071
10187
|
distinct: () => distinct,
|
|
10072
10188
|
drop: () => drop2,
|
|
@@ -10078,6 +10194,7 @@ __export(lexer_exports, {
|
|
|
10078
10194
|
having: () => having,
|
|
10079
10195
|
in_: () => in_,
|
|
10080
10196
|
insertClause: () => insertClause,
|
|
10197
|
+
insertDataClause: () => insertDataClause,
|
|
10081
10198
|
limit: () => limit,
|
|
10082
10199
|
load: () => load,
|
|
10083
10200
|
loadInto: () => loadInto,
|
|
@@ -10376,6 +10493,44 @@ var graph = createToken2({ name: "Graph", pattern: /graph/i, label: "GRAPH" });
|
|
|
10376
10493
|
var graphAll = createToken2({ name: "GraphAll", pattern: /all/i, label: "ALL" });
|
|
10377
10494
|
var allGraphTokens = LexerBuilder.create().add(named, default_, graph, graphAll);
|
|
10378
10495
|
|
|
10496
|
+
// ../../packages/rules-sparql-1-1/lib/lexer/lexerPatterns.js
|
|
10497
|
+
var pnCharsBasePattern = /[A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]/;
|
|
10498
|
+
var pnCharsUPattern = new RegExp(`${pnCharsBasePattern.source}|_`);
|
|
10499
|
+
var varNamePattern = new RegExp(`((${pnCharsUPattern.source})|[0-9])((${pnCharsUPattern.source})|[0-9]|[\xB7\u0300-\u036F\u203F-\u2040])*`);
|
|
10500
|
+
var iriRefPattern = /<([^\u0000-\u0020"<>\\^`{|}])*>/;
|
|
10501
|
+
var pnCharsPattern = new RegExp(`(${pnCharsUPattern.source})|[\\-0-9\xB7\u0300-\u036F\u203F-\u2040]`);
|
|
10502
|
+
var pnPrefixPattern = new RegExp(`(${pnCharsBasePattern.source})(((${pnCharsPattern.source})|\\.)*(${pnCharsPattern.source}))?`);
|
|
10503
|
+
var pNameNsPattern = new RegExp(`(${pnPrefixPattern.source})?:`);
|
|
10504
|
+
var percentPattern = /%[\dA-Fa-f]{2}/;
|
|
10505
|
+
var pnLocalEscPattern = /\\[!#$%&'()*+,./;=?@\\_~-]/;
|
|
10506
|
+
var plxPattern = new RegExp(`(${percentPattern.source})|(${pnLocalEscPattern.source})`);
|
|
10507
|
+
var pnLocalPattern = new RegExp(`((${pnCharsUPattern.source})|:|[0-9]|(${plxPattern.source}))(((${pnCharsPattern.source})|\\.|:|(${plxPattern.source}))*((${pnCharsPattern.source})|:|(${plxPattern.source})))?`);
|
|
10508
|
+
var pNameLnPattern = new RegExp(`(${pNameNsPattern.source})(${pnLocalPattern.source})`);
|
|
10509
|
+
var blankNodeLabelPattern = new RegExp(`_:((${pnCharsUPattern.source})|[0-9])(((${pnCharsPattern.source})|\\.)*(${pnCharsPattern.source}))?`);
|
|
10510
|
+
var var1Pattern = new RegExp(`\\?(${varNamePattern.source})`);
|
|
10511
|
+
var var2Pattern = new RegExp(`\\$(${varNamePattern.source})`);
|
|
10512
|
+
var langTagPattern = /@[A-Za-z]+(-[\dA-Za-z]+)*/;
|
|
10513
|
+
var integerPattern = /\d+/;
|
|
10514
|
+
var decimalPattern2 = /\d+\.\d+/;
|
|
10515
|
+
var exponentPattern = /[Ee][+-]?\d+/;
|
|
10516
|
+
var doublePattern = new RegExp(`([0-9]+\\.[0-9]*(${exponentPattern.source}))|(\\.[0-9]+(${exponentPattern.source}))|([0-9]+(${exponentPattern.source}))`);
|
|
10517
|
+
var interferePositivePattern = new RegExp(`\\+${integerPattern.source}`);
|
|
10518
|
+
var decimalPositivePattern = new RegExp(`\\+${decimalPattern2.source}`);
|
|
10519
|
+
var doublePositivePattern = new RegExp(`\\+${doublePattern.source}`);
|
|
10520
|
+
var integerNegativePattern = new RegExp(`-${integerPattern.source}`);
|
|
10521
|
+
var decimalNegativePattern = new RegExp(`-${decimalPattern2.source}`);
|
|
10522
|
+
var doubleNegativePattern = new RegExp(`-${doublePattern.source}`);
|
|
10523
|
+
var echarPattern = /\\[\\"'bfnrt]/u;
|
|
10524
|
+
var stringLiteral1Pattern = new RegExp(`'(([^\\u0027\\u005C\\u000A\r])|(${echarPattern.source}))*'`);
|
|
10525
|
+
var stringLiteral2Pattern = new RegExp(`"(([^\\u0022\\u005C\\u000A\\u000D])|(${echarPattern.source}))*"`);
|
|
10526
|
+
var stringLiteralLong1Pattern = new RegExp(`'''(('|(''))?([^'\\\\]|(${echarPattern.source})))*'''`);
|
|
10527
|
+
var stringLiteralLong2Pattern = new RegExp(`"""(("|(""))?([^"\\\\]|(${echarPattern.source})))*"""`);
|
|
10528
|
+
var wsPattern = /[\u0009\u000A\u000D ]/;
|
|
10529
|
+
var nilPattern = new RegExp(`\\((${wsPattern.source})*\\)`);
|
|
10530
|
+
var anonPattern = new RegExp(`\\[(${wsPattern.source})*\\]`);
|
|
10531
|
+
var commentPattern = /#[^\n]*\n/;
|
|
10532
|
+
var atLeastOneBlankPattern = new RegExp(`((${wsPattern.source}+)|(${commentPattern.source}))+`);
|
|
10533
|
+
|
|
10379
10534
|
// ../../packages/rules-sparql-1-1/lib/lexer/symbols.js
|
|
10380
10535
|
var symbols_exports = {};
|
|
10381
10536
|
__export(symbols_exports, {
|
|
@@ -10464,40 +10619,6 @@ __export(terminals_exports, {
|
|
|
10464
10619
|
var2: () => var2,
|
|
10465
10620
|
ws: () => ws
|
|
10466
10621
|
});
|
|
10467
|
-
var pnCharsBasePattern = /[A-Za-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF]/;
|
|
10468
|
-
var pnCharsUPattern = new RegExp(`${pnCharsBasePattern.source}|_`);
|
|
10469
|
-
var varNamePattern = new RegExp(`((${pnCharsUPattern.source})|[0-9])((${pnCharsUPattern.source})|[0-9]|[\xB7\u0300-\u036F\u203F-\u2040])*`);
|
|
10470
|
-
var iriRefPattern = /<([^\u0000-\u0020"<>\\^`{|}])*>/;
|
|
10471
|
-
var pnCharsPattern = new RegExp(`(${pnCharsUPattern.source})|[\\-0-9\xB7\u0300-\u036F\u203F-\u2040]`);
|
|
10472
|
-
var pnPrefixPattern = new RegExp(`(${pnCharsBasePattern.source})(((${pnCharsPattern.source})|\\.)*(${pnCharsPattern.source}))?`);
|
|
10473
|
-
var pNameNsPattern = new RegExp(`(${pnPrefixPattern.source})?:`);
|
|
10474
|
-
var percentPattern = /%[\dA-Fa-f]{2}/;
|
|
10475
|
-
var pnLocalEscPattern = /\\[!#$%&'()*+,./;=?@\\_~-]/;
|
|
10476
|
-
var plxPattern = new RegExp(`(${percentPattern.source})|(${pnLocalEscPattern.source})`);
|
|
10477
|
-
var pnLocalPattern = new RegExp(`((${pnCharsUPattern.source})|:|[0-9]|(${plxPattern.source}))(((${pnCharsPattern.source})|\\.|:|(${plxPattern.source}))*((${pnCharsPattern.source})|:|(${plxPattern.source})))?`);
|
|
10478
|
-
var pNameLnPattern = new RegExp(`(${pNameNsPattern.source})(${pnLocalPattern.source})`);
|
|
10479
|
-
var blankNodeLabelPattern = new RegExp(`_:((${pnCharsUPattern.source})|[0-9])(((${pnCharsPattern.source})|\\.)*(${pnCharsPattern.source}))?`);
|
|
10480
|
-
var var1Pattern = new RegExp(`\\?(${varNamePattern.source})`);
|
|
10481
|
-
var var2Pattern = new RegExp(`\\$(${varNamePattern.source})`);
|
|
10482
|
-
var langTagPattern = /@[A-Za-z]+(-[\dA-Za-z]+)*/;
|
|
10483
|
-
var integerPattern = /\d+/;
|
|
10484
|
-
var decimalPattern2 = /\d+\.\d+/;
|
|
10485
|
-
var exponentPattern = /[Ee][+-]?\d+/;
|
|
10486
|
-
var doublePattern = new RegExp(`([0-9]+\\.[0-9]*(${exponentPattern.source}))|(\\.[0-9]+(${exponentPattern.source}))|([0-9]+(${exponentPattern.source}))`);
|
|
10487
|
-
var interferePositivePattern = new RegExp(`\\+${integerPattern.source}`);
|
|
10488
|
-
var decimalPositivePattern = new RegExp(`\\+${decimalPattern2.source}`);
|
|
10489
|
-
var doublePositivePattern = new RegExp(`\\+${doublePattern.source}`);
|
|
10490
|
-
var integerNegativePattern = new RegExp(`-${integerPattern.source}`);
|
|
10491
|
-
var decimalNegativePattern = new RegExp(`-${decimalPattern2.source}`);
|
|
10492
|
-
var doubleNegativePattern = new RegExp(`-${doublePattern.source}`);
|
|
10493
|
-
var echarPattern = /\\[\\"'bfnrt]/u;
|
|
10494
|
-
var stringLiteral1Pattern = new RegExp(`'(([^\\u0027\\u005C\\u000A\r])|(${echarPattern.source}))*'`);
|
|
10495
|
-
var stringLiteral2Pattern = new RegExp(`"(([^\\u0022\\u005C\\u000A\\u000D])|(${echarPattern.source}))*"`);
|
|
10496
|
-
var stringLiteralLong1Pattern = new RegExp(`'''(('|(''))?([^'\\\\]|(${echarPattern.source})))*'''`);
|
|
10497
|
-
var stringLiteralLong2Pattern = new RegExp(`"""(("|(""))?([^"\\\\]|(${echarPattern.source})))*"""`);
|
|
10498
|
-
var wsPattern = /[\u0009\u000A\u000D ]/;
|
|
10499
|
-
var nilPattern = new RegExp(`\\((${wsPattern.source})*\\)`);
|
|
10500
|
-
var anonPattern = new RegExp(`\\[(${wsPattern.source})*\\]`);
|
|
10501
10622
|
var iriRef = createToken2({ name: "IriRef", pattern: iriRefPattern });
|
|
10502
10623
|
var pNameLn = createToken2({ name: "PNameLn", pattern: pNameLnPattern });
|
|
10503
10624
|
var pNameNs = createToken2({ name: "PNameNs", pattern: pNameNsPattern, longer_alt: [pNameLn] });
|
|
@@ -10519,7 +10640,7 @@ var stringLiteral2 = createToken2({ name: "StringLiteral2", pattern: stringLiter
|
|
|
10519
10640
|
var stringLiteralLong1 = createToken2({ name: "StringLiteralLong1", pattern: stringLiteralLong1Pattern });
|
|
10520
10641
|
var stringLiteralLong2 = createToken2({ name: "StringLiteralLong2", pattern: stringLiteralLong2Pattern });
|
|
10521
10642
|
var ws = createToken2({ name: "Ws", pattern: wsPattern, group: Lexer.SKIPPED });
|
|
10522
|
-
var comment = createToken2({ name: "Comment", pattern:
|
|
10643
|
+
var comment = createToken2({ name: "Comment", pattern: commentPattern, group: Lexer.SKIPPED });
|
|
10523
10644
|
var nil = createToken2({ name: "Nil", pattern: nilPattern });
|
|
10524
10645
|
var anon = createToken2({ name: "Anon", pattern: anonPattern });
|
|
10525
10646
|
var allTerminals = LexerBuilder.create().add(iriRef, pNameNs, pNameLn, blankNodeLabel, var1, var2, langTag, double, decimal, integer, integerPositive, decimalPositive, doublePositive, integerNegative, decimalNegative, doubleNegative, stringLiteralLong1, stringLiteralLong2, stringLiteral1, stringLiteral2, ws, comment, nil, anon);
|
|
@@ -10556,9 +10677,23 @@ var to = createToken2({ name: "To", pattern: /to/i, label: "TO" });
|
|
|
10556
10677
|
var move = createToken2({ name: "Move", pattern: /move/i, label: "MOVE" });
|
|
10557
10678
|
var copy = createToken2({ name: "Copy", pattern: /copy/i, label: "COPY" });
|
|
10558
10679
|
var modifyWith = createToken2({ name: "ModifyWith", pattern: /with/i, label: "WITH" });
|
|
10680
|
+
var deleteDataClause = createToken2({
|
|
10681
|
+
name: "DeleteDataClause",
|
|
10682
|
+
pattern: new RegExp(`delete(${atLeastOneBlankPattern.source})data`, "i"),
|
|
10683
|
+
label: "DELETE DATA"
|
|
10684
|
+
});
|
|
10685
|
+
var deleteWhereClause = createToken2({
|
|
10686
|
+
name: "DeleteWhereClause",
|
|
10687
|
+
pattern: new RegExp(`delete(${atLeastOneBlankPattern.source})where`, "i"),
|
|
10688
|
+
label: "DELETE WHERE"
|
|
10689
|
+
});
|
|
10559
10690
|
var deleteClause = createToken2({ name: "DeleteClause", pattern: /delete/i, label: "DELETE" });
|
|
10560
|
-
var
|
|
10561
|
-
|
|
10691
|
+
var insertDataClause = createToken2({
|
|
10692
|
+
name: "InsertDataClause",
|
|
10693
|
+
pattern: new RegExp(`insert(${atLeastOneBlankPattern.source})data`, "i"),
|
|
10694
|
+
label: "INSERT DATA"
|
|
10695
|
+
});
|
|
10696
|
+
var insertClause = createToken2({ name: "InsertClause", pattern: /insert/i, label: "insert" });
|
|
10562
10697
|
var usingClause = createToken2({ name: "UsingClause", pattern: /using/i, label: "USING" });
|
|
10563
10698
|
var optional = createToken2({ name: "Optional", pattern: /optional/i, label: "OPTIONAL" });
|
|
10564
10699
|
var service = createToken2({ name: "Service", pattern: /service/i, label: "SERVICE" });
|
|
@@ -10573,8 +10708,8 @@ var false_ = createToken2({ name: "False", pattern: /false/i, label: "false" });
|
|
|
10573
10708
|
var in_ = createToken2({ name: "In", pattern: /in/i, label: "IN" });
|
|
10574
10709
|
var notIn = createToken2({ name: "NotIn", pattern: /not[\u0020\u0009\u000D\u000A]+in/i, label: "NOT IN" });
|
|
10575
10710
|
var separator = createToken2({ name: "Separator", pattern: /separator/i, label: "SEPARATOR" });
|
|
10576
|
-
var allBaseTokens = LexerBuilder.create().add(baseDecl, prefixDecl, select, distinct, reduced, construct, describe, ask, from, where, having, groupByGroup, by, order, orderAsc, orderDesc, limit, offset, values2, load, silent, loadInto, clear, drop2, create, add, to, move, copy, modifyWith, deleteClause,
|
|
10577
|
-
var sparql11LexerBuilder = LexerBuilder.create(allTerminals).merge(allBaseTokens).merge(allBuiltInCalls).merge(allGraphTokens).merge(allSymbols).
|
|
10711
|
+
var allBaseTokens = LexerBuilder.create().add(baseDecl, prefixDecl, select, distinct, reduced, construct, describe, ask, from, where, having, groupByGroup, by, order, orderAsc, orderDesc, limit, offset, values2, load, silent, loadInto, clear, drop2, create, add, to, move, copy, modifyWith, deleteWhereClause, deleteDataClause, deleteClause, insertDataClause, insertClause, usingClause, optional, service, bind, undef, minus, union, filter2, as, a, true_, false_, in_, notIn, separator);
|
|
10712
|
+
var sparql11LexerBuilder = LexerBuilder.create(allTerminals).merge(allBaseTokens).merge(allBuiltInCalls).merge(allGraphTokens).merge(allSymbols).moveAfter(avg, a).moveBefore(a, graphAll).moveAfter(groupConcat, groupByGroup);
|
|
10578
10713
|
|
|
10579
10714
|
// ../../packages/rules-sparql-1-1/lib/factoryMixins/ContextFactory.js
|
|
10580
10715
|
var nodeType = "contextDef";
|
|
@@ -11319,12 +11454,12 @@ var CommonIRIs;
|
|
|
11319
11454
|
CommonIRIs2["NIL"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil";
|
|
11320
11455
|
CommonIRIs2["TYPE"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type";
|
|
11321
11456
|
})(CommonIRIs || (CommonIRIs = {}));
|
|
11322
|
-
var
|
|
11457
|
+
var AstTransformer = class extends TransformerSubType {
|
|
11323
11458
|
};
|
|
11324
11459
|
|
|
11325
11460
|
// ../../packages/rules-sparql-1-1/lib/validation/validators.js
|
|
11326
11461
|
var F = new AstFactory();
|
|
11327
|
-
var transformer = new
|
|
11462
|
+
var transformer = new AstTransformer();
|
|
11328
11463
|
function getAggregatesOfExpression(expression2) {
|
|
11329
11464
|
if (F.isExpressionAggregate(expression2)) {
|
|
11330
11465
|
return [expression2];
|
|
@@ -11403,77 +11538,69 @@ function queryIsGood(query2) {
|
|
|
11403
11538
|
}
|
|
11404
11539
|
}
|
|
11405
11540
|
}
|
|
11541
|
+
function notUndefined(some2) {
|
|
11542
|
+
return some2 !== void 0;
|
|
11543
|
+
}
|
|
11406
11544
|
function findPatternBoundedVars(iter, boundedVars) {
|
|
11407
|
-
|
|
11408
|
-
|
|
11409
|
-
|
|
11410
|
-
|
|
11411
|
-
|
|
11412
|
-
|
|
11413
|
-
|
|
11414
|
-
|
|
11415
|
-
|
|
11416
|
-
|
|
11417
|
-
|
|
11418
|
-
|
|
11419
|
-
|
|
11420
|
-
|
|
11421
|
-
|
|
11422
|
-
|
|
11423
|
-
|
|
11424
|
-
|
|
11425
|
-
|
|
11426
|
-
|
|
11545
|
+
transformer.traverseSubNodes(iter, {
|
|
11546
|
+
query: (op) => ({ next: [
|
|
11547
|
+
op.solutionModifiers.group
|
|
11548
|
+
].filter(notUndefined) }),
|
|
11549
|
+
triple: (op) => ({ next: [op.subject, op.predicate, op.object] }),
|
|
11550
|
+
path: (op) => ({ next: op.items }),
|
|
11551
|
+
tripleCollection: (op) => ({ next: [op.identifier, ...op.triples] })
|
|
11552
|
+
}, {
|
|
11553
|
+
query: {
|
|
11554
|
+
select: (op) => ({ next: [
|
|
11555
|
+
...op.variables.some((x) => F.isWildcard(x)) ? [op.where] : op.variables,
|
|
11556
|
+
op.solutionModifiers.group,
|
|
11557
|
+
op.values
|
|
11558
|
+
].filter(notUndefined) }),
|
|
11559
|
+
describe: (op) => ({ next: [
|
|
11560
|
+
...op.variables.some((x) => F.isWildcard(x)) ? [op.where] : op.variables,
|
|
11561
|
+
op.solutionModifiers.group,
|
|
11562
|
+
op.values
|
|
11563
|
+
].filter(notUndefined) })
|
|
11564
|
+
},
|
|
11565
|
+
solutionModifier: {
|
|
11566
|
+
group: (op) => ({
|
|
11567
|
+
next: op.groupings.filter((g) => "variable" in g).map((x) => x.variable)
|
|
11568
|
+
}),
|
|
11569
|
+
having: (op) => ({ next: op.having }),
|
|
11570
|
+
order: (op) => ({ next: op.orderDefs.map((x) => x.expression) })
|
|
11571
|
+
},
|
|
11572
|
+
pattern: {
|
|
11573
|
+
values: (op) => {
|
|
11574
|
+
for (const v of Object.keys(op.values.at(0) ?? {})) {
|
|
11427
11575
|
boundedVars.add(v);
|
|
11428
11576
|
}
|
|
11577
|
+
return {};
|
|
11578
|
+
},
|
|
11579
|
+
bgp: (op) => ({ next: op.triples }),
|
|
11580
|
+
group: (op) => ({ next: op.patterns }),
|
|
11581
|
+
union: (op) => ({ next: op.patterns }),
|
|
11582
|
+
optional: (op) => ({ next: op.patterns }),
|
|
11583
|
+
service: (op) => ({ next: [op.name, ...op.patterns] }),
|
|
11584
|
+
bind: (op) => ({ next: [op.variable] }),
|
|
11585
|
+
graph: (op) => ({ next: [op.name, ...op.patterns] }),
|
|
11586
|
+
minus: (op) => ({ next: op.patterns.slice(0, 1) })
|
|
11587
|
+
},
|
|
11588
|
+
term: {
|
|
11589
|
+
variable: (op) => {
|
|
11590
|
+
boundedVars.add(op.value);
|
|
11591
|
+
return {};
|
|
11429
11592
|
}
|
|
11430
11593
|
}
|
|
11431
|
-
}
|
|
11432
|
-
if (F.isTermVariable(iter)) {
|
|
11433
|
-
boundedVars.add(iter.value);
|
|
11434
|
-
}
|
|
11435
|
-
} else if (F.isTriple(iter)) {
|
|
11436
|
-
findPatternBoundedVars(iter.subject, boundedVars);
|
|
11437
|
-
findPatternBoundedVars(iter.predicate, boundedVars);
|
|
11438
|
-
findPatternBoundedVars(iter.object, boundedVars);
|
|
11439
|
-
} else if (F.isPath(iter)) {
|
|
11440
|
-
if (!F.isTerm(iter)) {
|
|
11441
|
-
for (const item of iter.items) {
|
|
11442
|
-
findPatternBoundedVars(item, boundedVars);
|
|
11443
|
-
}
|
|
11444
|
-
}
|
|
11445
|
-
} else if (F.isTripleCollection(iter) || F.isPatternBgp(iter)) {
|
|
11446
|
-
for (const triple of iter.triples) {
|
|
11447
|
-
findPatternBoundedVars(triple, boundedVars);
|
|
11448
|
-
}
|
|
11449
|
-
} else if (F.isPatternGroup(iter) || F.isPatternUnion(iter) || F.isPatternOptional(iter) || F.isPatternService(iter)) {
|
|
11450
|
-
for (const pattern of iter.patterns) {
|
|
11451
|
-
findPatternBoundedVars(pattern, boundedVars);
|
|
11452
|
-
}
|
|
11453
|
-
if (F.isPatternService(iter)) {
|
|
11454
|
-
findPatternBoundedVars(iter.name, boundedVars);
|
|
11455
|
-
}
|
|
11456
|
-
} else if (F.isPatternBind(iter)) {
|
|
11457
|
-
findPatternBoundedVars(iter.variable, boundedVars);
|
|
11458
|
-
} else if (F.isPatternValues(iter)) {
|
|
11459
|
-
for (const variable of Object.keys(iter.values.at(0) ?? {})) {
|
|
11460
|
-
boundedVars.add(variable);
|
|
11461
|
-
}
|
|
11462
|
-
} else if (F.isPatternGraph(iter)) {
|
|
11463
|
-
findPatternBoundedVars(iter.name, boundedVars);
|
|
11464
|
-
for (const pattern of iter.patterns) {
|
|
11465
|
-
findPatternBoundedVars(pattern, boundedVars);
|
|
11466
|
-
}
|
|
11467
|
-
}
|
|
11594
|
+
});
|
|
11468
11595
|
}
|
|
11469
11596
|
function checkNote13(patterns) {
|
|
11470
11597
|
for (const [index, pattern] of patterns.entries()) {
|
|
11471
11598
|
if (F.isPatternBind(pattern) && index > 0 && F.isPatternBgp(patterns[index - 1])) {
|
|
11472
11599
|
const bgp = patterns[index - 1];
|
|
11473
11600
|
const variables = [];
|
|
11474
|
-
transformer.visitNodeSpecific(bgp, {}, { term: { variable: (var_2) => {
|
|
11601
|
+
transformer.visitNodeSpecific(bgp, {}, { term: { variable: { visitor: (var_2) => {
|
|
11475
11602
|
variables.push(var_2);
|
|
11476
|
-
} } });
|
|
11603
|
+
} } } });
|
|
11477
11604
|
if (variables.some((var_2) => var_2.value === pattern.variable.value)) {
|
|
11478
11605
|
throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);
|
|
11479
11606
|
}
|
|
@@ -11499,12 +11626,12 @@ function updateNoReuseBlankNodeLabels(updateQuery) {
|
|
|
11499
11626
|
const operation = update2.operation;
|
|
11500
11627
|
if (operation.subType === "insertdata") {
|
|
11501
11628
|
const blankNodesHere = /* @__PURE__ */ new Set();
|
|
11502
|
-
transformer.visitNodeSpecific(operation, {}, { term: { blankNode: (blankNode2) => {
|
|
11629
|
+
transformer.visitNodeSpecific(operation, {}, { term: { blankNode: { visitor: (blankNode2) => {
|
|
11503
11630
|
blankNodesHere.add(blankNode2.label);
|
|
11504
11631
|
if (blankLabelsUsedInInsertData.has(blankNode2.label)) {
|
|
11505
11632
|
throw new Error("Detected reuse blank node across different INSERT DATA clauses");
|
|
11506
11633
|
}
|
|
11507
|
-
} } });
|
|
11634
|
+
} } } });
|
|
11508
11635
|
for (const blankNode2 of blankNodesHere) {
|
|
11509
11636
|
blankLabelsUsedInInsertData.add(blankNode2);
|
|
11510
11637
|
}
|
|
@@ -14191,12 +14318,11 @@ var quadData = {
|
|
|
14191
14318
|
return ACTION(() => C.astFactory.wrap(val.val, C.astFactory.sourceLocation(open, close)));
|
|
14192
14319
|
}
|
|
14193
14320
|
};
|
|
14194
|
-
function insertDeleteDelWhere(name, subType, cons1,
|
|
14321
|
+
function insertDeleteDelWhere(name, subType, cons1, dataRule) {
|
|
14195
14322
|
return {
|
|
14196
14323
|
name,
|
|
14197
14324
|
impl: ({ ACTION, SUBRULE1, CONSUME }) => (C) => {
|
|
14198
14325
|
const insDelToken = CONSUME(cons1);
|
|
14199
|
-
CONSUME(cons2);
|
|
14200
14326
|
let couldCreateBlankNodes = true;
|
|
14201
14327
|
if (name !== "insertData") {
|
|
14202
14328
|
couldCreateBlankNodes = ACTION(() => C.parseMode.delete("canCreateBlankNodes"));
|
|
@@ -14228,9 +14354,9 @@ function insertDeleteDelWhere(name, subType, cons1, cons2, dataRule) {
|
|
|
14228
14354
|
}
|
|
14229
14355
|
};
|
|
14230
14356
|
}
|
|
14231
|
-
var insertData = insertDeleteDelWhere("insertData", "insertdata",
|
|
14232
|
-
var deleteData = insertDeleteDelWhere("deleteData", "deletedata",
|
|
14233
|
-
var deleteWhere = insertDeleteDelWhere("deleteWhere", "deletewhere",
|
|
14357
|
+
var insertData = insertDeleteDelWhere("insertData", "insertdata", insertDataClause, quadData);
|
|
14358
|
+
var deleteData = insertDeleteDelWhere("deleteData", "deletedata", deleteDataClause, quadData);
|
|
14359
|
+
var deleteWhere = insertDeleteDelWhere("deleteWhere", "deletewhere", deleteWhereClause, quadPattern);
|
|
14234
14360
|
var modify = {
|
|
14235
14361
|
name: "modify",
|
|
14236
14362
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION1, OPTION2, OR }) => (C) => {
|
package/lib/index.d.ts
CHANGED
|
@@ -1,79 +1,79 @@
|
|
|
1
1
|
import { GeneratorBuilder } from '@traqula/core';
|
|
2
2
|
import type { Patch } from '@traqula/core';
|
|
3
3
|
import type * as T12 from '@traqula/rules-sparql-1-2';
|
|
4
|
-
declare const sparql12GeneratorBuilder: GeneratorBuilder<T12.SparqlGeneratorContext, "
|
|
5
|
-
filter: never;
|
|
6
|
-
graphRef: never;
|
|
7
|
-
load: never;
|
|
8
|
-
clear: never;
|
|
9
|
-
drop: never;
|
|
10
|
-
create: never;
|
|
11
|
-
add: never;
|
|
12
|
-
move: never;
|
|
13
|
-
copy: never;
|
|
14
|
-
modify: never;
|
|
15
|
-
update: never;
|
|
16
|
-
query: never;
|
|
17
|
-
datasetClauses: never;
|
|
18
|
-
bind: never;
|
|
19
|
-
solutionModifier: never;
|
|
20
|
-
expression: never;
|
|
21
|
-
aggregate: never;
|
|
4
|
+
export declare const sparql12GeneratorBuilder: GeneratorBuilder<T12.SparqlGeneratorContext, "path" | "queryOrUpdate" | "triplesBlock" | "blankNode" | "collectionPath" | "triplesNodePath" | "blankNodePropertyListPath" | "graphNodePath" | "expression" | "iriOrFunction" | "rdfLiteral" | "var" | "aggregate" | "iri" | "prefixedName" | "argList" | "varOrTerm" | "iriFull" | "graphTerm" | "selectClause" | "whereClause" | "solutionModifier" | "query" | "groupGraphPattern" | "graphPatternNotTriples" | "filter" | "bind" | "groupOrUnionGraphPattern" | "optionalGraphPattern" | "minusGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "groupClause" | "havingClause" | "orderClause" | "limitOffsetClauses" | "prologue" | "selectQuery" | "constructQuery" | "describeQuery" | "askQuery" | "baseDecl" | "prefixDecl" | "datasetClauses" | "update1" | "load" | "clear" | "drop" | "add" | "move" | "copy" | "create" | "insertData" | "deleteData" | "deleteWhere" | "modify" | "update" | "graphRef" | "graphRefAll" | "quads" | "quadsNotTriples" | "usingClauses" | "generatePattern" | "reifiedTriple" | "tripleTerm" | "annotationBlockPath" | "annotationPath" | "versionDecl", {
|
|
22
5
|
path: never;
|
|
6
|
+
queryOrUpdate: never;
|
|
7
|
+
triplesBlock: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "triplesBlock", T12.PatternBgp, []>;
|
|
23
8
|
blankNode: never;
|
|
24
|
-
|
|
9
|
+
collectionPath: never;
|
|
10
|
+
triplesNodePath: never;
|
|
11
|
+
blankNodePropertyListPath: never;
|
|
12
|
+
graphNodePath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphNodePath", T12.GraphNode, []>;
|
|
13
|
+
expression: never;
|
|
14
|
+
iriOrFunction: never;
|
|
15
|
+
rdfLiteral: never;
|
|
16
|
+
var: never;
|
|
17
|
+
aggregate: never;
|
|
18
|
+
iri: never;
|
|
19
|
+
prefixedName: never;
|
|
20
|
+
argList: never;
|
|
21
|
+
varOrTerm: never;
|
|
22
|
+
iriFull: never;
|
|
23
|
+
graphTerm: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphTerm", T12.GraphTerm, []>;
|
|
25
24
|
selectClause: never;
|
|
25
|
+
whereClause: never;
|
|
26
|
+
solutionModifier: never;
|
|
27
|
+
query: never;
|
|
28
|
+
groupGraphPattern: never;
|
|
29
|
+
graphPatternNotTriples: never;
|
|
30
|
+
filter: never;
|
|
31
|
+
bind: never;
|
|
32
|
+
groupOrUnionGraphPattern: never;
|
|
33
|
+
optionalGraphPattern: never;
|
|
34
|
+
minusGraphPattern: never;
|
|
35
|
+
graphGraphPattern: never;
|
|
36
|
+
serviceGraphPattern: never;
|
|
37
|
+
inlineData: never;
|
|
38
|
+
groupClause: never;
|
|
39
|
+
havingClause: never;
|
|
40
|
+
orderClause: never;
|
|
41
|
+
limitOffsetClauses: never;
|
|
42
|
+
prologue: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "prologue", T12.ContextDefinition[], []>;
|
|
43
|
+
selectQuery: never;
|
|
26
44
|
constructQuery: never;
|
|
27
45
|
describeQuery: never;
|
|
28
46
|
askQuery: never;
|
|
47
|
+
baseDecl: never;
|
|
48
|
+
prefixDecl: never;
|
|
49
|
+
datasetClauses: never;
|
|
29
50
|
update1: never;
|
|
51
|
+
load: never;
|
|
52
|
+
clear: never;
|
|
53
|
+
drop: never;
|
|
54
|
+
add: never;
|
|
55
|
+
move: never;
|
|
56
|
+
copy: never;
|
|
57
|
+
create: never;
|
|
30
58
|
insertData: never;
|
|
31
59
|
deleteData: never;
|
|
32
60
|
deleteWhere: never;
|
|
61
|
+
modify: never;
|
|
62
|
+
update: never;
|
|
63
|
+
graphRef: never;
|
|
33
64
|
graphRefAll: never;
|
|
34
65
|
quads: never;
|
|
35
66
|
quadsNotTriples: never;
|
|
36
67
|
usingClauses: never;
|
|
37
|
-
argList: never;
|
|
38
|
-
iriOrFunction: never;
|
|
39
|
-
prologue: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "prologue", T12.ContextDefinition[], []>;
|
|
40
|
-
baseDecl: never;
|
|
41
|
-
prefixDecl: never;
|
|
42
|
-
varOrTerm: never;
|
|
43
|
-
var: never;
|
|
44
|
-
graphTerm: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphTerm", T12.GraphTerm, []>;
|
|
45
|
-
rdfLiteral: never;
|
|
46
|
-
iri: never;
|
|
47
|
-
iriFull: never;
|
|
48
|
-
prefixedName: never;
|
|
49
|
-
groupClause: never;
|
|
50
|
-
havingClause: never;
|
|
51
|
-
orderClause: never;
|
|
52
|
-
limitOffsetClauses: never;
|
|
53
|
-
triplesBlock: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "triplesBlock", T12.PatternBgp, []>;
|
|
54
|
-
collectionPath: never;
|
|
55
|
-
triplesNodePath: never;
|
|
56
|
-
blankNodePropertyListPath: never;
|
|
57
|
-
graphNodePath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "graphNodePath", T12.GraphNode, []>;
|
|
58
|
-
whereClause: never;
|
|
59
|
-
groupGraphPattern: never;
|
|
60
68
|
generatePattern: never;
|
|
61
|
-
graphPatternNotTriples: never;
|
|
62
|
-
optionalGraphPattern: never;
|
|
63
|
-
graphGraphPattern: never;
|
|
64
|
-
serviceGraphPattern: never;
|
|
65
|
-
inlineData: never;
|
|
66
|
-
minusGraphPattern: never;
|
|
67
|
-
groupOrUnionGraphPattern: never;
|
|
68
|
-
queryOrUpdate: never;
|
|
69
69
|
reifiedTriple: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "reifiedTriple", T12.TripleCollectionReifiedTriple, []>;
|
|
70
|
-
|
|
71
|
-
annotationPath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "annotationPath", T12.Annotation[], []>;
|
|
70
|
+
tripleTerm: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "tripleTerm", T12.TermTriple, []>;
|
|
72
71
|
annotationBlockPath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "annotationBlockPath", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
|
|
73
72
|
triples: T12.TripleNesting[];
|
|
74
73
|
identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
|
|
75
74
|
}>, []>;
|
|
76
|
-
|
|
75
|
+
annotationPath: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "annotationPath", T12.Annotation[], []>;
|
|
76
|
+
versionDecl: import("@traqula/core").GeneratorRule<T12.SparqlGeneratorContext, "versionDecl", T12.ContextDefinitionVersion, []>;
|
|
77
77
|
}>;
|
|
78
78
|
export type SparqlGenerator = ReturnType<typeof sparql12GeneratorBuilder.build>;
|
|
79
79
|
export declare class Generator {
|
|
@@ -86,4 +86,3 @@ export declare class Generator {
|
|
|
86
86
|
origSource: string;
|
|
87
87
|
}>): string;
|
|
88
88
|
}
|
|
89
|
-
export {};
|
package/lib/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { GeneratorBuilder } from '@traqula/core';
|
|
2
2
|
import { sparql11GeneratorBuilder } from '@traqula/generator-sparql-1-1';
|
|
3
3
|
import { completeParseContext, AstFactory, gram as g12 } from '@traqula/rules-sparql-1-2';
|
|
4
|
-
const sparql12GeneratorBuilder = GeneratorBuilder.create(sparql11GeneratorBuilder)
|
|
4
|
+
export const sparql12GeneratorBuilder = GeneratorBuilder.create(sparql11GeneratorBuilder)
|
|
5
5
|
.widenContext()
|
|
6
6
|
.typePatch()
|
|
7
7
|
.addRule(g12.tripleTerm)
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAG1F,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIzE,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,IAAI,IAAI,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAG1F,MAAM,CAAC,MAAM,wBAAwB,GACnC,gBAAgB,CAAC,MAAM,CAAC,wBAAwB,CAAC;KAC9C,YAAY,EAA8B;KAC1C,SAAS,EA6EN;KACH,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;KACvB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;KAC1B,SAAS,CAAC,GAAG,CAAC,aAAa,CAAC;KAC5B,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;KAChC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;KAC3B,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;KACxB,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;KACvB,SAAS,CAAC,GAAG,CAAC,oBAAoB,CAAC;KACnC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAItC,MAAM,OAAO,SAAS;IACH,SAAS,GAAoB,wBAAwB,CAAC,KAAK,EAAE,CAAC;IAC9D,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;IAE/B,QAAQ,CACb,GAA2B,EAC/B,UAA+D,EAAE;QAE7D,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,YAAY,CAAC,GAAa,EAAE,UAA+D,EAAE;QAClG,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CAAC;IAC5E,CAAC;CACF","sourcesContent":["import { GeneratorBuilder } from '@traqula/core';\nimport type { Wrap, Patch } from '@traqula/core';\nimport { sparql11GeneratorBuilder } from '@traqula/generator-sparql-1-1';\nimport type {\n gram as g11,\n} from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, AstFactory, gram as g12 } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\nexport const sparql12GeneratorBuilder =\n GeneratorBuilder.create(sparql11GeneratorBuilder)\n .widenContext<T12.SparqlGeneratorContext>()\n .typePatch<{\n [g11.queryOrUpdate.name]: [T12.SparqlQuery];\n [g11.query.name]: [T12.Query];\n [g11.selectQuery.name]: [Omit<T12.QuerySelect, g11.HandledByBase>];\n [g11.constructQuery.name]: [ Omit<T12.QueryConstruct, g11.HandledByBase>];\n [g11.describeQuery.name]: [Omit<T12.QueryDescribe, g11.HandledByBase>];\n [g11.askQuery.name]: [Omit<T12.QueryAsk, g11.HandledByBase>];\n [g11.selectClause.name]: [ Wrap<Pick<T12.QuerySelect, 'variables' | 'distinct' | 'reduced'>> ];\n\n [g11.update.name]: [T12.Update];\n [g11.update1.name]: [T12.UpdateOperation];\n [g11.load.name]: [T12.UpdateOperationLoad];\n [g11.clear.name]: [T12.UpdateOperationClear];\n [g11.drop.name]: [T12.UpdateOperationDrop];\n [g11.create.name]: [T12.UpdateOperationCreate];\n [g11.copy.name]: [T12.UpdateOperationCopy];\n [g11.move.name]: [T12.UpdateOperationMove];\n [g11.add.name]: [T12.UpdateOperationAdd];\n [g11.insertData.name]: [T12.UpdateOperationInsertData];\n [g11.deleteData.name]: [T12.UpdateOperationDeleteData];\n [g11.deleteWhere.name]: [T12.UpdateOperationDeleteWhere];\n [g11.modify.name]: [T12.UpdateOperationModify];\n [g11.graphRef.name]: [T12.TermIri];\n [g11.graphRefAll.name]: [T12.GraphRef];\n [g11.quads.name]: [Wrap<T12.Quads[]>];\n [g11.quadsNotTriples.name]: [T12.GraphQuads];\n\n [g11.aggregate.name]: [ T12.ExpressionAggregate ];\n\n [g11.datasetClauseStar.name]: [ T12.DatasetClauses ];\n [g11.usingClauseStar.name]: [ T12.DatasetClauses ];\n\n // [g11.datasetClause.name]: unchanged;\n [g11.argList.name]: [ Patch<g11.IArgList, { args: T12.Expression[] }> ];\n [g11.expression.name]: [ T12.Expression ];\n [g11.iriOrFunction.name]: [T12.TermIri | T12.ExpressionFunctionCall];\n\n [g11.prologue.name]: [ T12.ContextDefinition[] ];\n [g11.prefixDecl.name]: [ T12.ContextDefinitionPrefix ];\n [g11.baseDecl.name]: [ T12.ContextDefinitionBase ];\n // [g11.var_.name]: unchanged;\n [g11.varOrTerm.name]: [ T12.Term ];\n [g11.graphTerm.name]: [ T12.GraphTerm ];\n\n [g11.rdfLiteral.name]: [T12.TermLiteral];\n // [g11.string.name]: unchanged;\n // [g11.iri.name]: unchanged;\n // [g11.iriFull.name]: unchanged;\n // [g11.prefixedName.name]: unchanged;\n // [g11.blankNode.name]: unchanged;\n\n // [g11.path.name]: unchanged;\n //\n [g11.solutionModifier.name]: [ T12.SolutionModifiers ];\n [g11.groupClause.name]: [ T12.SolutionModifierGroup ];\n [g11.havingClause.name]: [ T12.SolutionModifierHaving ];\n [g11.orderClause.name]: [ T12.SolutionModifierOrder ];\n [g11.limitOffsetClauses.name]: [ T12.SolutionModifierLimitOffset ];\n\n [g11.triplesBlock.name]: [ T12.PatternBgp ];\n [g11.collectionPath.name]: [ T12.TripleCollectionList ];\n [g11.blankNodePropertyListPath.name]: [ T12.TripleCollectionBlankNodeProperties ];\n [g11.triplesNodePath.name]: [ T12.TripleCollection ];\n [g11.graphNodePath.name]: [ T12.Term | T12.TripleCollection ];\n\n [g11.whereClause.name]: [ Wrap<T12.PatternGroup> ];\n [g11.generatePattern.name]: [ T12.Pattern ];\n [g11.groupGraphPattern.name]: [ T12.PatternGroup ];\n [g11.graphPatternNotTriples.name]: [ Exclude<T12.Pattern, T12.SubSelect | T12.PatternBgp> ];\n [g11.optionalGraphPattern.name]: [ T12.PatternOptional ];\n [g11.graphGraphPattern.name]: [ T12.PatternGroup ];\n [g11.serviceGraphPattern.name]: [ T12.PatternService ];\n [g11.bind.name]: [ T12.PatternBind ];\n [g11.inlineData.name]: [ T12.PatternValues ];\n [g11.minusGraphPattern.name]: [ T12.PatternMinus ];\n [g11.groupOrUnionGraphPattern.name]: [ T12.PatternGroup | T12.PatternUnion ];\n [g11.filter.name]: [ T12.PatternFilter ];\n }>()\n .addRule(g12.tripleTerm)\n .addRule(g12.reifiedTriple)\n .patchRule(g12.graphNodePath)\n .addRule(g12.annotationBlockPath)\n .addRule(g12.annotationPath)\n .addRule(g12.versionDecl)\n .patchRule(g12.prologue)\n .patchRule(g12.generateTriplesBlock)\n .patchRule(g12.generateGraphTerm);\n\nexport type SparqlGenerator = ReturnType<typeof sparql12GeneratorBuilder.build>;\n\nexport class Generator {\n private readonly generator: SparqlGenerator = sparql12GeneratorBuilder.build();\n private readonly F = new AstFactory();\n\n public generate(\n ast: T12.Query | T12.Update,\ncontext: Partial<T12.SparqlContext & { origSource: string }> = {},\n ): string {\n return this.generator.queryOrUpdate(ast, completeParseContext(context));\n }\n\n public generatePath(ast: T12.Path, context: Partial<T12.SparqlContext & { origSource: string }> = {}): string {\n return this.generator.path(ast, completeParseContext(context), undefined);\n }\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@traqula/generator-sparql-1-2",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.18",
|
|
5
5
|
"description": "SPARQL 1.2 generator",
|
|
6
6
|
"lsd:module": true,
|
|
7
7
|
"license": "MIT",
|
|
@@ -42,14 +42,14 @@
|
|
|
42
42
|
"build:transpile": " node \"../../node_modules/esbuild/bin/esbuild\" --format=cjs --bundle --log-level=error --outfile=lib/index.cjs lib/index.ts"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@traqula/core": "^0.0.
|
|
46
|
-
"@traqula/generator-sparql-1-1": "^0.0.
|
|
47
|
-
"@traqula/rules-sparql-1-1": "^0.0.
|
|
48
|
-
"@traqula/rules-sparql-1-2": "^0.0.
|
|
45
|
+
"@traqula/core": "^0.0.18",
|
|
46
|
+
"@traqula/generator-sparql-1-1": "^0.0.18",
|
|
47
|
+
"@traqula/rules-sparql-1-1": "^0.0.18",
|
|
48
|
+
"@traqula/rules-sparql-1-2": "^0.0.18"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@traqula/parser-sparql-1-2": "^0.0.
|
|
52
|
-
"@traqula/test-utils": "^0.0.
|
|
51
|
+
"@traqula/parser-sparql-1-2": "^0.0.18",
|
|
52
|
+
"@traqula/test-utils": "^0.0.18"
|
|
53
53
|
},
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "1bb6a7d67631010ee01b325e33ff76f2f7530e02"
|
|
55
55
|
}
|