@traqula/rules-sparql-1-1 0.0.4 → 0.0.6

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.d.ts CHANGED
@@ -2,7 +2,7 @@ export * as gram from './grammar';
2
2
  export * as lex from './lexer';
3
3
  export * from './expressionHelpers';
4
4
  export * from './Sparql11types';
5
- export * from './SparqlParser';
5
+ export * from './MinimalSparqlParser';
6
6
  export * from './sparql11HelperTypes';
7
7
  export * from './factory';
8
8
  export * from './validation/validators';
package/lib/index.js CHANGED
@@ -2,7 +2,7 @@ export * as gram from './grammar';
2
2
  export * as lex from './lexer';
3
3
  export * from './expressionHelpers';
4
4
  export * from './Sparql11types';
5
- export * from './SparqlParser';
5
+ export * from './MinimalSparqlParser';
6
6
  export * from './sparql11HelperTypes';
7
7
  export * from './factory';
8
8
  export * from './validation/validators';
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC","sourcesContent":["export * as gram from './grammar';\nexport * as lex from './lexer';\nexport * from './expressionHelpers';\nexport * from './Sparql11types';\nexport * from './SparqlParser';\nexport * from './sparql11HelperTypes';\nexport * from './factory';\nexport * from './validation/validators';\nexport * from './utils';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,SAAS,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,yBAAyB,CAAC;AACxC,cAAc,SAAS,CAAC","sourcesContent":["export * as gram from './grammar';\nexport * as lex from './lexer';\nexport * from './expressionHelpers';\nexport * from './Sparql11types';\nexport * from './MinimalSparqlParser';\nexport * from './sparql11HelperTypes';\nexport * from './factory';\nexport * from './validation/validators';\nexport * from './utils';\n"]}
@@ -1,5 +1,5 @@
1
1
  import { LexerBuilder } from '@traqula/core';
2
- export declare enum BuildInCalls {
2
+ export declare enum BuiltInCalls {
3
3
  Str = "builtInStr",
4
4
  Lang = "builtInLang",
5
5
  Langmatches = "builtInLangmatches",
@@ -0,0 +1,188 @@
1
+ /* eslint-disable require-unicode-regexp */
2
+ import { LexerBuilder, createToken } from '@traqula/core';
3
+ export var BuiltInCalls;
4
+ (function (BuiltInCalls) {
5
+ BuiltInCalls["Str"] = "builtInStr";
6
+ BuiltInCalls["Lang"] = "builtInLang";
7
+ BuiltInCalls["Langmatches"] = "builtInLangmatches";
8
+ BuiltInCalls["Datatype"] = "builtInDatatype";
9
+ BuiltInCalls["Bound"] = "builtInBound";
10
+ BuiltInCalls["Iri"] = "builtInIri";
11
+ BuiltInCalls["Uri"] = "builtInUri";
12
+ BuiltInCalls["Bnode"] = "builtInBnode";
13
+ BuiltInCalls["Rand"] = "builtInRand";
14
+ BuiltInCalls["Abs"] = "builtInAbs";
15
+ BuiltInCalls["Ceil"] = "builtInCeil";
16
+ BuiltInCalls["Floor"] = "builtInFloor";
17
+ BuiltInCalls["Round"] = "builtInRound";
18
+ BuiltInCalls["Concat"] = "builtInConcat";
19
+ BuiltInCalls["Strlen"] = "builtInStrlen";
20
+ BuiltInCalls["Ucase"] = "builtInUcase";
21
+ BuiltInCalls["Lcase"] = "builtInLcase";
22
+ BuiltInCalls["Encode_for_uri"] = "builtInEncode_for_uri";
23
+ BuiltInCalls["Contains"] = "builtInContains";
24
+ BuiltInCalls["Strstarts"] = "builtInStrstarts";
25
+ BuiltInCalls["Strends"] = "builtInStrends";
26
+ BuiltInCalls["Strbefore"] = "builtInStrbefore";
27
+ BuiltInCalls["Strafter"] = "builtInStrafter";
28
+ BuiltInCalls["Year"] = "builtInYear";
29
+ BuiltInCalls["Month"] = "builtInMonth";
30
+ BuiltInCalls["Day"] = "builtInDay";
31
+ BuiltInCalls["Hours"] = "builtInHours";
32
+ BuiltInCalls["Minutes"] = "builtInMinutes";
33
+ BuiltInCalls["Seconds"] = "builtInSeconds";
34
+ BuiltInCalls["Timezone"] = "builtInTimezone";
35
+ BuiltInCalls["Tz"] = "builtInTz";
36
+ BuiltInCalls["Now"] = "builtInNow";
37
+ BuiltInCalls["Uuid"] = "builtInUuid";
38
+ BuiltInCalls["Struuid"] = "builtInStruuid";
39
+ BuiltInCalls["Md5"] = "builtInMd5";
40
+ BuiltInCalls["Sha1"] = "builtInSha1";
41
+ BuiltInCalls["Sha256"] = "builtInSha256";
42
+ BuiltInCalls["Sha384"] = "builtInSha384";
43
+ BuiltInCalls["Sha512"] = "builtInSha512";
44
+ BuiltInCalls["Coalesce"] = "builtInCoalesce";
45
+ BuiltInCalls["If"] = "builtInIf";
46
+ BuiltInCalls["Strlang"] = "builtInStrlang";
47
+ BuiltInCalls["Strdt"] = "builtInStrdt";
48
+ BuiltInCalls["Sameterm"] = "builtInSameterm";
49
+ BuiltInCalls["Isiri"] = "builtInIsiri";
50
+ BuiltInCalls["Isuri"] = "builtInIsuri";
51
+ BuiltInCalls["Isblank"] = "builtInIsblank";
52
+ BuiltInCalls["Isliteral"] = "builtInIsliteral";
53
+ BuiltInCalls["Isnumeric"] = "builtInIsnumeric";
54
+ BuiltInCalls["Regex"] = "builtInRegex";
55
+ BuiltInCalls["Substr"] = "builtInSubstr";
56
+ BuiltInCalls["Replace"] = "builtInReplace";
57
+ BuiltInCalls["Exists"] = "builtInExists";
58
+ BuiltInCalls["Notexists"] = "builtInNotexists";
59
+ BuiltInCalls["Count"] = "builtInCount";
60
+ BuiltInCalls["Sum"] = "builtInSum";
61
+ BuiltInCalls["Min"] = "builtInMin";
62
+ BuiltInCalls["Max"] = "builtInMax";
63
+ BuiltInCalls["Avg"] = "builtInAvg";
64
+ BuiltInCalls["Sample"] = "builtInSample";
65
+ BuiltInCalls["Group_concat"] = "builtInGroup_concat";
66
+ })(BuiltInCalls || (BuiltInCalls = {}));
67
+ function capitalize(string) {
68
+ return (string.charAt(0).toUpperCase() + string.slice(1));
69
+ }
70
+ export const str = createToken({ name: capitalize(BuiltInCalls.Str), pattern: /str/i, label: 'STR' });
71
+ export const lang = createToken({ name: capitalize(BuiltInCalls.Lang), pattern: /lang/i, label: 'LANG' });
72
+ export const langmatches = createToken({
73
+ name: capitalize(BuiltInCalls.Langmatches),
74
+ pattern: /langmatches/i,
75
+ label: 'LANGMATCHES',
76
+ });
77
+ export const datatype = createToken({
78
+ name: capitalize(BuiltInCalls.Datatype),
79
+ pattern: /datatype/i,
80
+ label: 'DATATYPE',
81
+ });
82
+ export const bound = createToken({ name: capitalize(BuiltInCalls.Bound), pattern: /bound/i, label: 'BOUND' });
83
+ export const iri = createToken({ name: capitalize(BuiltInCalls.Iri), pattern: /iri/i, label: 'IRI' });
84
+ export const uri = createToken({ name: capitalize(BuiltInCalls.Uri), pattern: /uri/i, label: 'URI' });
85
+ export const bnode = createToken({ name: capitalize(BuiltInCalls.Bnode), pattern: /bnode/i, label: 'BNODE' });
86
+ export const rand = createToken({ name: capitalize(BuiltInCalls.Rand), pattern: /rand/i, label: 'RAND' });
87
+ export const abs = createToken({ name: capitalize(BuiltInCalls.Abs), pattern: /abs/i, label: 'ABS' });
88
+ export const ceil = createToken({ name: capitalize(BuiltInCalls.Ceil), pattern: /ceil/i, label: 'CEIL' });
89
+ export const floor = createToken({ name: capitalize(BuiltInCalls.Floor), pattern: /floor/i, label: 'FLOOR' });
90
+ export const round = createToken({ name: capitalize(BuiltInCalls.Round), pattern: /round/i, label: 'ROUND' });
91
+ export const concat = createToken({ name: capitalize(BuiltInCalls.Concat), pattern: /concat/i, label: 'CONCAT' });
92
+ export const strlen = createToken({ name: capitalize(BuiltInCalls.Strlen), pattern: /strlen/i, label: 'STRLEN' });
93
+ export const ucase = createToken({ name: capitalize(BuiltInCalls.Ucase), pattern: /ucase/i, label: 'UCASE' });
94
+ export const lcase = createToken({ name: capitalize(BuiltInCalls.Lcase), pattern: /lcase/i, label: 'LCASE' });
95
+ export const encode_for_uri = createToken({
96
+ name: capitalize(BuiltInCalls.Encode_for_uri),
97
+ pattern: /encode_for_uri/i,
98
+ label: 'ENCODE_FOR_URI',
99
+ });
100
+ export const contains = createToken({
101
+ name: capitalize(BuiltInCalls.Contains),
102
+ pattern: /contains/i,
103
+ label: 'CONTAINS',
104
+ });
105
+ export const strstarts = createToken({
106
+ name: capitalize(BuiltInCalls.Strstarts),
107
+ pattern: /strstarts/i,
108
+ label: 'STRSTARTS',
109
+ });
110
+ export const strends = createToken({ name: capitalize(BuiltInCalls.Strends), pattern: /strends/i, label: 'STRENDS' });
111
+ export const strbefore = createToken({
112
+ name: capitalize(BuiltInCalls.Strbefore),
113
+ pattern: /strbefore/i,
114
+ label: 'STRBEFORE',
115
+ });
116
+ export const strafter = createToken({
117
+ name: capitalize(BuiltInCalls.Strafter),
118
+ pattern: /strafter/i,
119
+ label: 'STRAFTER',
120
+ });
121
+ export const year = createToken({ name: capitalize(BuiltInCalls.Year), pattern: /year/i, label: 'YEAR' });
122
+ export const month = createToken({ name: capitalize(BuiltInCalls.Month), pattern: /month/i, label: 'MONTH' });
123
+ export const day = createToken({ name: capitalize(BuiltInCalls.Day), pattern: /day/i, label: 'DAY' });
124
+ export const hours = createToken({ name: capitalize(BuiltInCalls.Hours), pattern: /hours/i, label: 'HOURS' });
125
+ export const minutes = createToken({ name: capitalize(BuiltInCalls.Minutes), pattern: /minutes/i, label: 'MINUTES' });
126
+ export const seconds = createToken({ name: capitalize(BuiltInCalls.Seconds), pattern: /seconds/i, label: 'SECONDS' });
127
+ export const timezone = createToken({
128
+ name: capitalize(BuiltInCalls.Timezone),
129
+ pattern: /timezone/i,
130
+ label: 'TIMEZONE',
131
+ });
132
+ export const tz = createToken({ name: capitalize(BuiltInCalls.Tz), pattern: /tz/i, label: 'TZ' });
133
+ export const now = createToken({ name: capitalize(BuiltInCalls.Now), pattern: /now/i, label: 'NOW' });
134
+ export const uuid = createToken({ name: capitalize(BuiltInCalls.Uuid), pattern: /uuid/i, label: 'UUID' });
135
+ export const struuid = createToken({ name: capitalize(BuiltInCalls.Struuid), pattern: /struuid/i, label: 'STRUUID' });
136
+ export const md5 = createToken({ name: capitalize(BuiltInCalls.Md5), pattern: /md5/i, label: 'MD5' });
137
+ export const sha1 = createToken({ name: capitalize(BuiltInCalls.Sha1), pattern: /sha1/i, label: 'SHA1' });
138
+ export const sha256 = createToken({ name: capitalize(BuiltInCalls.Sha256), pattern: /sha256/i, label: 'SHA256' });
139
+ export const sha384 = createToken({ name: capitalize(BuiltInCalls.Sha384), pattern: /sha384/i, label: 'SHA384' });
140
+ export const sha512 = createToken({ name: capitalize(BuiltInCalls.Sha512), pattern: /sha512/i, label: 'SHA512' });
141
+ export const coalesce = createToken({
142
+ name: capitalize(BuiltInCalls.Coalesce),
143
+ pattern: /coalesce/i,
144
+ label: 'COALESCE',
145
+ });
146
+ export const if_ = createToken({ name: capitalize(BuiltInCalls.If), pattern: /if/i, label: 'IF' });
147
+ export const strlang = createToken({ name: capitalize(BuiltInCalls.Strlang), pattern: /strlang/i, label: 'STRLANG' });
148
+ export const strdt = createToken({ name: capitalize(BuiltInCalls.Strdt), pattern: /strdt/i, label: 'STRDT' });
149
+ export const sameterm = createToken({
150
+ name: capitalize(BuiltInCalls.Sameterm),
151
+ pattern: /sameterm/i,
152
+ label: 'SAMETERM',
153
+ });
154
+ export const isiri = createToken({ name: capitalize(BuiltInCalls.Isiri), pattern: /isiri/i, label: 'ISIRI' });
155
+ export const isuri = createToken({ name: capitalize(BuiltInCalls.Isuri), pattern: /isuri/i, label: 'ISURI' });
156
+ export const isblank = createToken({ name: capitalize(BuiltInCalls.Isblank), pattern: /isblank/i, label: 'ISBLANK' });
157
+ export const isliteral = createToken({
158
+ name: capitalize(BuiltInCalls.Isliteral),
159
+ pattern: /isliteral/i,
160
+ label: 'ISLITERAL',
161
+ });
162
+ export const isnumeric = createToken({
163
+ name: capitalize(BuiltInCalls.Isnumeric),
164
+ pattern: /isnumeric/i,
165
+ label: 'ISNUMERIC',
166
+ });
167
+ export const regex = createToken({ name: capitalize(BuiltInCalls.Regex), pattern: /regex/i, label: 'REGEX' });
168
+ export const substr = createToken({ name: capitalize(BuiltInCalls.Substr), pattern: /substr/i, label: 'SUBSTR' });
169
+ export const replace = createToken({ name: capitalize(BuiltInCalls.Replace), pattern: /replace/i, label: 'REPLACE' });
170
+ export const exists = createToken({ name: capitalize(BuiltInCalls.Exists), pattern: /exists/i, label: 'EXISTS' });
171
+ export const notexists = createToken({
172
+ name: capitalize(BuiltInCalls.Notexists),
173
+ pattern: /not exists/i,
174
+ label: 'NOT EXISTS',
175
+ });
176
+ export const count = createToken({ name: capitalize(BuiltInCalls.Count), pattern: /count/i, label: 'COUNT' });
177
+ export const sum = createToken({ name: capitalize(BuiltInCalls.Sum), pattern: /sum/i, label: 'SUM' });
178
+ export const min = createToken({ name: capitalize(BuiltInCalls.Min), pattern: /min/i, label: 'MIN' });
179
+ export const max = createToken({ name: capitalize(BuiltInCalls.Max), pattern: /max/i, label: 'MAX' });
180
+ export const avg = createToken({ name: capitalize(BuiltInCalls.Avg), pattern: /avg/i, label: 'AVG' });
181
+ export const sample = createToken({ name: capitalize(BuiltInCalls.Sample), pattern: /sample/i, label: 'SAMPLE' });
182
+ export const groupConcat = createToken({
183
+ name: capitalize(BuiltInCalls.Group_concat),
184
+ pattern: /group_concat/i,
185
+ label: 'GROUP_CONCAT',
186
+ });
187
+ export const allBuiltInCalls = LexerBuilder.create().add(langmatches, datatype, lang, bound, iri, uri, bnode, rand, abs, ceil, floor, round, concat, strlen, ucase, lcase, encode_for_uri, contains, strstarts, strends, strbefore, strafter, year, month, day, hours, minutes, seconds, timezone, tz, now, uuid, struuid, md5, sha1, sha256, sha384, sha512, coalesce, if_, strlang, strdt, sameterm, isiri, isuri, isblank, isliteral, isnumeric, regex, substr, replace, exists, notexists, count, sum, min, max, avg, sample, groupConcat, str);
188
+ //# sourceMappingURL=BuiltInCalls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BuildinCalls.js","sourceRoot":"","sources":["BuildinCalls.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable require-unicode-regexp */\n\nimport { LexerBuilder, createToken } from '@traqula/core';\n\nexport enum BuildInCalls {\n Str = 'builtInStr',\n Lang = 'builtInLang',\n Langmatches = 'builtInLangmatches',\n Datatype = 'builtInDatatype',\n Bound = 'builtInBound',\n Iri = 'builtInIri',\n Uri = 'builtInUri',\n Bnode = 'builtInBnode',\n Rand = 'builtInRand',\n Abs = 'builtInAbs',\n Ceil = 'builtInCeil',\n Floor = 'builtInFloor',\n Round = 'builtInRound',\n Concat = 'builtInConcat',\n Strlen = 'builtInStrlen',\n Ucase = 'builtInUcase',\n Lcase = 'builtInLcase',\n Encode_for_uri = 'builtInEncode_for_uri',\n Contains = 'builtInContains',\n Strstarts = 'builtInStrstarts',\n Strends = 'builtInStrends',\n Strbefore = 'builtInStrbefore',\n Strafter = 'builtInStrafter',\n Year = 'builtInYear',\n Month = 'builtInMonth',\n Day = 'builtInDay',\n Hours = 'builtInHours',\n Minutes = 'builtInMinutes',\n Seconds = 'builtInSeconds',\n Timezone = 'builtInTimezone',\n Tz = 'builtInTz',\n Now = 'builtInNow',\n Uuid = 'builtInUuid',\n Struuid = 'builtInStruuid',\n Md5 = 'builtInMd5',\n Sha1 = 'builtInSha1',\n Sha256 = 'builtInSha256',\n Sha384 = 'builtInSha384',\n Sha512 = 'builtInSha512',\n Coalesce = 'builtInCoalesce',\n If = 'builtInIf',\n Strlang = 'builtInStrlang',\n Strdt = 'builtInStrdt',\n Sameterm = 'builtInSameterm',\n Isiri = 'builtInIsiri',\n Isuri = 'builtInIsuri',\n Isblank = 'builtInIsblank',\n Isliteral = 'builtInIsliteral',\n Isnumeric = 'builtInIsnumeric',\n Regex = 'builtInRegex',\n Substr = 'builtInSubstr',\n Replace = 'builtInReplace',\n Exists = 'builtInExists',\n Notexists = 'builtInNotexists',\n Count = 'builtInCount',\n Sum = 'builtInSum',\n Min = 'builtInMin',\n Max = 'builtInMax',\n Avg = 'builtInAvg',\n Sample = 'builtInSample',\n Group_concat = 'builtInGroup_concat',\n}\n\nfunction capitalize<T extends string>(string: T): Capitalize<T> {\n return <Capitalize<T>> (string.charAt(0).toUpperCase() + string.slice(1));\n}\n\nexport const str = createToken({ name: capitalize(BuildInCalls.Str), pattern: /str/i, label: 'STR' });\nexport const lang = createToken({ name: capitalize(BuildInCalls.Lang), pattern: /lang/i, label: 'LANG' });\nexport const langmatches = createToken({\n name: capitalize(BuildInCalls.Langmatches),\n pattern: /langmatches/i,\n label: 'LANGMATCHES',\n});\nexport const datatype = createToken({\n name: capitalize(BuildInCalls.Datatype),\n pattern: /datatype/i,\n label: 'DATATYPE',\n});\nexport const bound = createToken({ name: capitalize(BuildInCalls.Bound), pattern: /bound/i, label: 'BOUND' });\nexport const iri = createToken({ name: capitalize(BuildInCalls.Iri), pattern: /iri/i, label: 'IRI' });\nexport const uri = createToken({ name: capitalize(BuildInCalls.Uri), pattern: /uri/i, label: 'URI' });\nexport const bnode = createToken({ name: capitalize(BuildInCalls.Bnode), pattern: /bnode/i, label: 'BNODE' });\nexport const rand = createToken({ name: capitalize(BuildInCalls.Rand), pattern: /rand/i, label: 'RAND' });\nexport const abs = createToken({ name: capitalize(BuildInCalls.Abs), pattern: /abs/i, label: 'ABS' });\nexport const ceil = createToken({ name: capitalize(BuildInCalls.Ceil), pattern: /ceil/i, label: 'CEIL' });\nexport const floor = createToken({ name: capitalize(BuildInCalls.Floor), pattern: /floor/i, label: 'FLOOR' });\nexport const round = createToken({ name: capitalize(BuildInCalls.Round), pattern: /round/i, label: 'ROUND' });\nexport const concat = createToken({ name: capitalize(BuildInCalls.Concat), pattern: /concat/i, label: 'CONCAT' });\nexport const strlen = createToken({ name: capitalize(BuildInCalls.Strlen), pattern: /strlen/i, label: 'STRLEN' });\nexport const ucase = createToken({ name: capitalize(BuildInCalls.Ucase), pattern: /ucase/i, label: 'UCASE' });\nexport const lcase = createToken({ name: capitalize(BuildInCalls.Lcase), pattern: /lcase/i, label: 'LCASE' });\nexport const encode_for_uri = createToken({\n name: capitalize(BuildInCalls.Encode_for_uri),\n pattern: /encode_for_uri/i,\n label: 'ENCODE_FOR_URI',\n});\nexport const contains = createToken({\n name: capitalize(BuildInCalls.Contains),\n pattern: /contains/i,\n label: 'CONTAINS',\n});\nexport const strstarts = createToken({\n name: capitalize(BuildInCalls.Strstarts),\n pattern: /strstarts/i,\n label: 'STRSTARTS',\n});\nexport const strends = createToken({ name: capitalize(BuildInCalls.Strends), pattern: /strends/i, label: 'STRENDS' });\nexport const strbefore = createToken({\n name: capitalize(BuildInCalls.Strbefore),\n pattern: /strbefore/i,\n label: 'STRBEFORE',\n});\nexport const strafter = createToken({\n name: capitalize(BuildInCalls.Strafter),\n pattern: /strafter/i,\n label: 'STRAFTER',\n});\nexport const year = createToken({ name: capitalize(BuildInCalls.Year), pattern: /year/i, label: 'YEAR' });\nexport const month = createToken({ name: capitalize(BuildInCalls.Month), pattern: /month/i, label: 'MONTH' });\nexport const day = createToken({ name: capitalize(BuildInCalls.Day), pattern: /day/i, label: 'DAY' });\nexport const hours = createToken({ name: capitalize(BuildInCalls.Hours), pattern: /hours/i, label: 'HOURS' });\nexport const minutes = createToken({ name: capitalize(BuildInCalls.Minutes), pattern: /minutes/i, label: 'MINUTES' });\nexport const seconds = createToken({ name: capitalize(BuildInCalls.Seconds), pattern: /seconds/i, label: 'SECONDS' });\nexport const timezone = createToken({\n name: capitalize(BuildInCalls.Timezone),\n pattern: /timezone/i,\n label: 'TIMEZONE',\n});\nexport const tz = createToken({ name: capitalize(BuildInCalls.Tz), pattern: /tz/i, label: 'TZ' });\nexport const now = createToken({ name: capitalize(BuildInCalls.Now), pattern: /now/i, label: 'NOW' });\nexport const uuid = createToken({ name: capitalize(BuildInCalls.Uuid), pattern: /uuid/i, label: 'UUID' });\nexport const struuid = createToken({ name: capitalize(BuildInCalls.Struuid), pattern: /struuid/i, label: 'STRUUID' });\nexport const md5 = createToken({ name: capitalize(BuildInCalls.Md5), pattern: /md5/i, label: 'MD5' });\nexport const sha1 = createToken({ name: capitalize(BuildInCalls.Sha1), pattern: /sha1/i, label: 'SHA1' });\nexport const sha256 = createToken({ name: capitalize(BuildInCalls.Sha256), pattern: /sha256/i, label: 'SHA256' });\nexport const sha384 = createToken({ name: capitalize(BuildInCalls.Sha384), pattern: /sha384/i, label: 'SHA384' });\nexport const sha512 = createToken({ name: capitalize(BuildInCalls.Sha512), pattern: /sha512/i, label: 'SHA512' });\nexport const coalesce = createToken({\n name: capitalize(BuildInCalls.Coalesce),\n pattern: /coalesce/i,\n label: 'COALESCE',\n});\nexport const if_ = createToken({ name: capitalize(BuildInCalls.If), pattern: /if/i, label: 'IF' });\nexport const strlang = createToken({ name: capitalize(BuildInCalls.Strlang), pattern: /strlang/i, label: 'STRLANG' });\nexport const strdt = createToken({ name: capitalize(BuildInCalls.Strdt), pattern: /strdt/i, label: 'STRDT' });\nexport const sameterm = createToken({\n name: capitalize(BuildInCalls.Sameterm),\n pattern: /sameterm/i,\n label: 'SAMETERM',\n});\nexport const isiri = createToken({ name: capitalize(BuildInCalls.Isiri), pattern: /isiri/i, label: 'ISIRI' });\nexport const isuri = createToken({ name: capitalize(BuildInCalls.Isuri), pattern: /isuri/i, label: 'ISURI' });\nexport const isblank = createToken({ name: capitalize(BuildInCalls.Isblank), pattern: /isblank/i, label: 'ISBLANK' });\nexport const isliteral = createToken({\n name: capitalize(BuildInCalls.Isliteral),\n pattern: /isliteral/i,\n label: 'ISLITERAL',\n});\nexport const isnumeric = createToken({\n name: capitalize(BuildInCalls.Isnumeric),\n pattern: /isnumeric/i,\n label: 'ISNUMERIC',\n});\nexport const regex = createToken({ name: capitalize(BuildInCalls.Regex), pattern: /regex/i, label: 'REGEX' });\nexport const substr = createToken({ name: capitalize(BuildInCalls.Substr), pattern: /substr/i, label: 'SUBSTR' });\nexport const replace = createToken({ name: capitalize(BuildInCalls.Replace), pattern: /replace/i, label: 'REPLACE' });\nexport const exists = createToken({ name: capitalize(BuildInCalls.Exists), pattern: /exists/i, label: 'EXISTS' });\nexport const notexists = createToken({\n name: capitalize(BuildInCalls.Notexists),\n pattern: /not exists/i,\n label: 'NOT EXISTS',\n});\nexport const count = createToken({ name: capitalize(BuildInCalls.Count), pattern: /count/i, label: 'COUNT' });\nexport const sum = createToken({ name: capitalize(BuildInCalls.Sum), pattern: /sum/i, label: 'SUM' });\nexport const min = createToken({ name: capitalize(BuildInCalls.Min), pattern: /min/i, label: 'MIN' });\nexport const max = createToken({ name: capitalize(BuildInCalls.Max), pattern: /max/i, label: 'MAX' });\nexport const avg = createToken({ name: capitalize(BuildInCalls.Avg), pattern: /avg/i, label: 'AVG' });\nexport const sample = createToken({ name: capitalize(BuildInCalls.Sample), pattern: /sample/i, label: 'SAMPLE' });\nexport const groupConcat = createToken({\n name: capitalize(BuildInCalls.Group_concat),\n pattern: /group_concat/i,\n label: 'GROUP_CONCAT',\n});\n\nexport const allBuiltInCalls = LexerBuilder.create().add(\n langmatches,\n datatype,\n lang,\n bound,\n iri,\n uri,\n bnode,\n rand,\n abs,\n ceil,\n floor,\n round,\n concat,\n strlen,\n ucase,\n lcase,\n encode_for_uri,\n contains,\n strstarts,\n strends,\n strbefore,\n strafter,\n year,\n month,\n day,\n hours,\n minutes,\n seconds,\n timezone,\n tz,\n now,\n uuid,\n struuid,\n md5,\n sha1,\n sha256,\n sha384,\n sha512,\n coalesce,\n if_,\n strlang,\n strdt,\n sameterm,\n isiri,\n isuri,\n isblank,\n isliteral,\n isnumeric,\n regex,\n substr,\n replace,\n exists,\n notexists,\n count,\n sum,\n min,\n max,\n avg,\n sample,\n groupConcat,\n str,\n);\n"]}
1
+ {"version":3,"file":"BuiltInCalls.js","sourceRoot":"","sources":["BuiltInCalls.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable require-unicode-regexp */\n\nimport { LexerBuilder, createToken } from '@traqula/core';\n\nexport enum BuiltInCalls {\n Str = 'builtInStr',\n Lang = 'builtInLang',\n Langmatches = 'builtInLangmatches',\n Datatype = 'builtInDatatype',\n Bound = 'builtInBound',\n Iri = 'builtInIri',\n Uri = 'builtInUri',\n Bnode = 'builtInBnode',\n Rand = 'builtInRand',\n Abs = 'builtInAbs',\n Ceil = 'builtInCeil',\n Floor = 'builtInFloor',\n Round = 'builtInRound',\n Concat = 'builtInConcat',\n Strlen = 'builtInStrlen',\n Ucase = 'builtInUcase',\n Lcase = 'builtInLcase',\n Encode_for_uri = 'builtInEncode_for_uri',\n Contains = 'builtInContains',\n Strstarts = 'builtInStrstarts',\n Strends = 'builtInStrends',\n Strbefore = 'builtInStrbefore',\n Strafter = 'builtInStrafter',\n Year = 'builtInYear',\n Month = 'builtInMonth',\n Day = 'builtInDay',\n Hours = 'builtInHours',\n Minutes = 'builtInMinutes',\n Seconds = 'builtInSeconds',\n Timezone = 'builtInTimezone',\n Tz = 'builtInTz',\n Now = 'builtInNow',\n Uuid = 'builtInUuid',\n Struuid = 'builtInStruuid',\n Md5 = 'builtInMd5',\n Sha1 = 'builtInSha1',\n Sha256 = 'builtInSha256',\n Sha384 = 'builtInSha384',\n Sha512 = 'builtInSha512',\n Coalesce = 'builtInCoalesce',\n If = 'builtInIf',\n Strlang = 'builtInStrlang',\n Strdt = 'builtInStrdt',\n Sameterm = 'builtInSameterm',\n Isiri = 'builtInIsiri',\n Isuri = 'builtInIsuri',\n Isblank = 'builtInIsblank',\n Isliteral = 'builtInIsliteral',\n Isnumeric = 'builtInIsnumeric',\n Regex = 'builtInRegex',\n Substr = 'builtInSubstr',\n Replace = 'builtInReplace',\n Exists = 'builtInExists',\n Notexists = 'builtInNotexists',\n Count = 'builtInCount',\n Sum = 'builtInSum',\n Min = 'builtInMin',\n Max = 'builtInMax',\n Avg = 'builtInAvg',\n Sample = 'builtInSample',\n Group_concat = 'builtInGroup_concat',\n}\n\nfunction capitalize<T extends string>(string: T): Capitalize<T> {\n return <Capitalize<T>> (string.charAt(0).toUpperCase() + string.slice(1));\n}\n\nexport const str = createToken({ name: capitalize(BuiltInCalls.Str), pattern: /str/i, label: 'STR' });\nexport const lang = createToken({ name: capitalize(BuiltInCalls.Lang), pattern: /lang/i, label: 'LANG' });\nexport const langmatches = createToken({\n name: capitalize(BuiltInCalls.Langmatches),\n pattern: /langmatches/i,\n label: 'LANGMATCHES',\n});\nexport const datatype = createToken({\n name: capitalize(BuiltInCalls.Datatype),\n pattern: /datatype/i,\n label: 'DATATYPE',\n});\nexport const bound = createToken({ name: capitalize(BuiltInCalls.Bound), pattern: /bound/i, label: 'BOUND' });\nexport const iri = createToken({ name: capitalize(BuiltInCalls.Iri), pattern: /iri/i, label: 'IRI' });\nexport const uri = createToken({ name: capitalize(BuiltInCalls.Uri), pattern: /uri/i, label: 'URI' });\nexport const bnode = createToken({ name: capitalize(BuiltInCalls.Bnode), pattern: /bnode/i, label: 'BNODE' });\nexport const rand = createToken({ name: capitalize(BuiltInCalls.Rand), pattern: /rand/i, label: 'RAND' });\nexport const abs = createToken({ name: capitalize(BuiltInCalls.Abs), pattern: /abs/i, label: 'ABS' });\nexport const ceil = createToken({ name: capitalize(BuiltInCalls.Ceil), pattern: /ceil/i, label: 'CEIL' });\nexport const floor = createToken({ name: capitalize(BuiltInCalls.Floor), pattern: /floor/i, label: 'FLOOR' });\nexport const round = createToken({ name: capitalize(BuiltInCalls.Round), pattern: /round/i, label: 'ROUND' });\nexport const concat = createToken({ name: capitalize(BuiltInCalls.Concat), pattern: /concat/i, label: 'CONCAT' });\nexport const strlen = createToken({ name: capitalize(BuiltInCalls.Strlen), pattern: /strlen/i, label: 'STRLEN' });\nexport const ucase = createToken({ name: capitalize(BuiltInCalls.Ucase), pattern: /ucase/i, label: 'UCASE' });\nexport const lcase = createToken({ name: capitalize(BuiltInCalls.Lcase), pattern: /lcase/i, label: 'LCASE' });\nexport const encode_for_uri = createToken({\n name: capitalize(BuiltInCalls.Encode_for_uri),\n pattern: /encode_for_uri/i,\n label: 'ENCODE_FOR_URI',\n});\nexport const contains = createToken({\n name: capitalize(BuiltInCalls.Contains),\n pattern: /contains/i,\n label: 'CONTAINS',\n});\nexport const strstarts = createToken({\n name: capitalize(BuiltInCalls.Strstarts),\n pattern: /strstarts/i,\n label: 'STRSTARTS',\n});\nexport const strends = createToken({ name: capitalize(BuiltInCalls.Strends), pattern: /strends/i, label: 'STRENDS' });\nexport const strbefore = createToken({\n name: capitalize(BuiltInCalls.Strbefore),\n pattern: /strbefore/i,\n label: 'STRBEFORE',\n});\nexport const strafter = createToken({\n name: capitalize(BuiltInCalls.Strafter),\n pattern: /strafter/i,\n label: 'STRAFTER',\n});\nexport const year = createToken({ name: capitalize(BuiltInCalls.Year), pattern: /year/i, label: 'YEAR' });\nexport const month = createToken({ name: capitalize(BuiltInCalls.Month), pattern: /month/i, label: 'MONTH' });\nexport const day = createToken({ name: capitalize(BuiltInCalls.Day), pattern: /day/i, label: 'DAY' });\nexport const hours = createToken({ name: capitalize(BuiltInCalls.Hours), pattern: /hours/i, label: 'HOURS' });\nexport const minutes = createToken({ name: capitalize(BuiltInCalls.Minutes), pattern: /minutes/i, label: 'MINUTES' });\nexport const seconds = createToken({ name: capitalize(BuiltInCalls.Seconds), pattern: /seconds/i, label: 'SECONDS' });\nexport const timezone = createToken({\n name: capitalize(BuiltInCalls.Timezone),\n pattern: /timezone/i,\n label: 'TIMEZONE',\n});\nexport const tz = createToken({ name: capitalize(BuiltInCalls.Tz), pattern: /tz/i, label: 'TZ' });\nexport const now = createToken({ name: capitalize(BuiltInCalls.Now), pattern: /now/i, label: 'NOW' });\nexport const uuid = createToken({ name: capitalize(BuiltInCalls.Uuid), pattern: /uuid/i, label: 'UUID' });\nexport const struuid = createToken({ name: capitalize(BuiltInCalls.Struuid), pattern: /struuid/i, label: 'STRUUID' });\nexport const md5 = createToken({ name: capitalize(BuiltInCalls.Md5), pattern: /md5/i, label: 'MD5' });\nexport const sha1 = createToken({ name: capitalize(BuiltInCalls.Sha1), pattern: /sha1/i, label: 'SHA1' });\nexport const sha256 = createToken({ name: capitalize(BuiltInCalls.Sha256), pattern: /sha256/i, label: 'SHA256' });\nexport const sha384 = createToken({ name: capitalize(BuiltInCalls.Sha384), pattern: /sha384/i, label: 'SHA384' });\nexport const sha512 = createToken({ name: capitalize(BuiltInCalls.Sha512), pattern: /sha512/i, label: 'SHA512' });\nexport const coalesce = createToken({\n name: capitalize(BuiltInCalls.Coalesce),\n pattern: /coalesce/i,\n label: 'COALESCE',\n});\nexport const if_ = createToken({ name: capitalize(BuiltInCalls.If), pattern: /if/i, label: 'IF' });\nexport const strlang = createToken({ name: capitalize(BuiltInCalls.Strlang), pattern: /strlang/i, label: 'STRLANG' });\nexport const strdt = createToken({ name: capitalize(BuiltInCalls.Strdt), pattern: /strdt/i, label: 'STRDT' });\nexport const sameterm = createToken({\n name: capitalize(BuiltInCalls.Sameterm),\n pattern: /sameterm/i,\n label: 'SAMETERM',\n});\nexport const isiri = createToken({ name: capitalize(BuiltInCalls.Isiri), pattern: /isiri/i, label: 'ISIRI' });\nexport const isuri = createToken({ name: capitalize(BuiltInCalls.Isuri), pattern: /isuri/i, label: 'ISURI' });\nexport const isblank = createToken({ name: capitalize(BuiltInCalls.Isblank), pattern: /isblank/i, label: 'ISBLANK' });\nexport const isliteral = createToken({\n name: capitalize(BuiltInCalls.Isliteral),\n pattern: /isliteral/i,\n label: 'ISLITERAL',\n});\nexport const isnumeric = createToken({\n name: capitalize(BuiltInCalls.Isnumeric),\n pattern: /isnumeric/i,\n label: 'ISNUMERIC',\n});\nexport const regex = createToken({ name: capitalize(BuiltInCalls.Regex), pattern: /regex/i, label: 'REGEX' });\nexport const substr = createToken({ name: capitalize(BuiltInCalls.Substr), pattern: /substr/i, label: 'SUBSTR' });\nexport const replace = createToken({ name: capitalize(BuiltInCalls.Replace), pattern: /replace/i, label: 'REPLACE' });\nexport const exists = createToken({ name: capitalize(BuiltInCalls.Exists), pattern: /exists/i, label: 'EXISTS' });\nexport const notexists = createToken({\n name: capitalize(BuiltInCalls.Notexists),\n pattern: /not exists/i,\n label: 'NOT EXISTS',\n});\nexport const count = createToken({ name: capitalize(BuiltInCalls.Count), pattern: /count/i, label: 'COUNT' });\nexport const sum = createToken({ name: capitalize(BuiltInCalls.Sum), pattern: /sum/i, label: 'SUM' });\nexport const min = createToken({ name: capitalize(BuiltInCalls.Min), pattern: /min/i, label: 'MIN' });\nexport const max = createToken({ name: capitalize(BuiltInCalls.Max), pattern: /max/i, label: 'MAX' });\nexport const avg = createToken({ name: capitalize(BuiltInCalls.Avg), pattern: /avg/i, label: 'AVG' });\nexport const sample = createToken({ name: capitalize(BuiltInCalls.Sample), pattern: /sample/i, label: 'SAMPLE' });\nexport const groupConcat = createToken({\n name: capitalize(BuiltInCalls.Group_concat),\n pattern: /group_concat/i,\n label: 'GROUP_CONCAT',\n});\n\nexport const allBuiltInCalls = LexerBuilder.create().add(\n langmatches,\n datatype,\n lang,\n bound,\n iri,\n uri,\n bnode,\n rand,\n abs,\n ceil,\n floor,\n round,\n concat,\n strlen,\n ucase,\n lcase,\n encode_for_uri,\n contains,\n strstarts,\n strends,\n strbefore,\n strafter,\n year,\n month,\n day,\n hours,\n minutes,\n seconds,\n timezone,\n tz,\n now,\n uuid,\n struuid,\n md5,\n sha1,\n sha256,\n sha384,\n sha512,\n coalesce,\n if_,\n strlang,\n strdt,\n sameterm,\n isiri,\n isuri,\n isblank,\n isliteral,\n isnumeric,\n regex,\n substr,\n replace,\n exists,\n notexists,\n count,\n sum,\n min,\n max,\n avg,\n sample,\n groupConcat,\n str,\n);\n"]}
@@ -1,4 +1,4 @@
1
- export * as builtIn from './BuildinCalls';
1
+ export * as builtIn from './BuiltInCalls';
2
2
  export * as graph from './graph';
3
3
  export * from './lexer';
4
4
  export * as symbols from './symbols';
@@ -1,4 +1,4 @@
1
- export * as builtIn from './BuildinCalls';
1
+ export * as builtIn from './BuiltInCalls';
2
2
  export * as graph from './graph';
3
3
  export * from './lexer';
4
4
  export * as symbols from './symbols';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC","sourcesContent":["export * as builtIn from './BuildinCalls';\nexport * as graph from './graph';\nexport * from './lexer';\nexport * as symbols from './symbols';\nexport * as terminals from './terminals';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC","sourcesContent":["export * as builtIn from './BuiltInCalls';\nexport * as graph from './graph';\nexport * from './lexer';\nexport * as symbols from './symbols';\nexport * as terminals from './terminals';\n"]}
@@ -47,8 +47,8 @@ export declare const false_: import("@traqula/core").NamedToken<"False">;
47
47
  export declare const in_: import("@traqula/core").NamedToken<"In">;
48
48
  export declare const notIn: import("@traqula/core").NamedToken<"NotIn">;
49
49
  export declare const separator: import("@traqula/core").NamedToken<"Separator">;
50
- export declare const allBaseTokens: LexerBuilder<"a" | "BaseDecl" | "PrefixDecl" | "Select" | "Distinct" | "Reduced" | "As" | "Construct" | "Describe" | "Ask" | "From" | "Where" | "GroupByGroup" | "By" | "Having" | "Order" | "OrderAsc" | "OrderDesc" | "Limit" | "Offset" | "Values" | "Load" | "Silent" | "LoadInto" | "Clear" | "Drop" | "Create" | "Add" | "To" | "Move" | "Copy" | "ModifyWith" | "DeleteClause" | "InsertClause" | "DataClause" | "UsingClause" | "Optional" | "Service" | "Bind" | "Undef" | "Minus" | "Union" | "Filter" | "True" | "False" | "In" | "NotIn" | "Separator">;
50
+ export declare const allBaseTokens: LexerBuilder<"a" | "From" | "BaseDecl" | "PrefixDecl" | "Select" | "Distinct" | "Reduced" | "As" | "Construct" | "Describe" | "Ask" | "Where" | "GroupByGroup" | "By" | "Having" | "Order" | "OrderAsc" | "OrderDesc" | "Limit" | "Offset" | "Values" | "Load" | "Silent" | "LoadInto" | "Clear" | "Drop" | "Create" | "Add" | "To" | "Move" | "Copy" | "ModifyWith" | "DeleteClause" | "InsertClause" | "DataClause" | "UsingClause" | "Optional" | "Service" | "Bind" | "Undef" | "Minus" | "Union" | "Filter" | "True" | "False" | "In" | "NotIn" | "Separator">;
51
51
  /**
52
52
  * [!!!ORDER MATTERS!!!](https://chevrotain.io/docs/tutorial/step1_lexing.html#creating-the-lexer)
53
53
  */
54
- export declare const sparql11Tokens: LexerBuilder<"a" | "DefaultGraph" | "BuiltInStr" | "BuiltInLang" | "BuiltInLangmatches" | "BuiltInDatatype" | "BuiltInBound" | "BuiltInIri" | "BuiltInUri" | "BuiltInBnode" | "BuiltInRand" | "BuiltInAbs" | "BuiltInCeil" | "BuiltInFloor" | "BuiltInRound" | "BuiltInConcat" | "BuiltInStrlen" | "BuiltInUcase" | "BuiltInLcase" | "BuiltInEncode_for_uri" | "BuiltInContains" | "BuiltInStrstarts" | "BuiltInStrends" | "BuiltInStrbefore" | "BuiltInStrafter" | "BuiltInYear" | "BuiltInMonth" | "BuiltInDay" | "BuiltInHours" | "BuiltInMinutes" | "BuiltInSeconds" | "BuiltInTimezone" | "BuiltInTz" | "BuiltInNow" | "BuiltInUuid" | "BuiltInStruuid" | "BuiltInMd5" | "BuiltInSha1" | "BuiltInSha256" | "BuiltInSha384" | "BuiltInSha512" | "BuiltInCoalesce" | "BuiltInIf" | "BuiltInStrlang" | "BuiltInStrdt" | "BuiltInSameterm" | "BuiltInIsiri" | "BuiltInIsuri" | "BuiltInIsblank" | "BuiltInIsliteral" | "BuiltInIsnumeric" | "BuiltInRegex" | "BuiltInSubstr" | "BuiltInReplace" | "BuiltInExists" | "BuiltInNotexists" | "BuiltInCount" | "BuiltInSum" | "BuiltInMin" | "BuiltInMax" | "BuiltInAvg" | "BuiltInSample" | "BuiltInGroup_concat" | "NamedGraph" | "Graph" | "GraphAll" | "LCurly" | "RCurly" | "Dot" | "Comma" | "Semi" | "LParen" | "RParen" | "LSquare" | "RSquare" | "Pipe" | "Slash" | "Hat" | "Question" | "Star" | "OpPlus" | "OpMinus" | "Exclamation" | "LogicAnd" | "LogicOr" | "Equal" | "NotEqual" | "LessThan" | "GreaterThan" | "LessThanEqual" | "GreaterThanEqual" | "Hathat" | "IriRef" | "PNameLn" | "PNameNs" | "BlankNodeLabel" | "Var1" | "Var2" | "LangTag" | "Integer" | "Decimal" | "Double" | "InterferePositive" | "DecimalPositive" | "DoublePositive" | "IntegerNegative" | "DecimalNegative" | "DoubleNegative" | "StringLiteral1" | "StringLiteral2" | "StringLiteralLong1" | "StringLiteralLong2" | "Ws" | "Comment" | "Nil" | "Anon" | "BaseDecl" | "PrefixDecl" | "Select" | "Distinct" | "Reduced" | "As" | "Construct" | "Describe" | "Ask" | "From" | "Where" | "GroupByGroup" | "By" | "Having" | "Order" | "OrderAsc" | "OrderDesc" | "Limit" | "Offset" | "Values" | "Load" | "Silent" | "LoadInto" | "Clear" | "Drop" | "Create" | "Add" | "To" | "Move" | "Copy" | "ModifyWith" | "DeleteClause" | "InsertClause" | "DataClause" | "UsingClause" | "Optional" | "Service" | "Bind" | "Undef" | "Minus" | "Union" | "Filter" | "True" | "False" | "In" | "NotIn" | "Separator">;
54
+ export declare const sparql11LexerBuilder: LexerBuilder<"a" | "From" | "DefaultGraph" | "BuiltInStr" | "BuiltInLang" | "BuiltInLangmatches" | "BuiltInDatatype" | "BuiltInBound" | "BuiltInIri" | "BuiltInUri" | "BuiltInBnode" | "BuiltInRand" | "BuiltInAbs" | "BuiltInCeil" | "BuiltInFloor" | "BuiltInRound" | "BuiltInConcat" | "BuiltInStrlen" | "BuiltInUcase" | "BuiltInLcase" | "BuiltInEncode_for_uri" | "BuiltInContains" | "BuiltInStrstarts" | "BuiltInStrends" | "BuiltInStrbefore" | "BuiltInStrafter" | "BuiltInYear" | "BuiltInMonth" | "BuiltInDay" | "BuiltInHours" | "BuiltInMinutes" | "BuiltInSeconds" | "BuiltInTimezone" | "BuiltInTz" | "BuiltInNow" | "BuiltInUuid" | "BuiltInStruuid" | "BuiltInMd5" | "BuiltInSha1" | "BuiltInSha256" | "BuiltInSha384" | "BuiltInSha512" | "BuiltInCoalesce" | "BuiltInIf" | "BuiltInStrlang" | "BuiltInStrdt" | "BuiltInSameterm" | "BuiltInIsiri" | "BuiltInIsuri" | "BuiltInIsblank" | "BuiltInIsliteral" | "BuiltInIsnumeric" | "BuiltInRegex" | "BuiltInSubstr" | "BuiltInReplace" | "BuiltInExists" | "BuiltInNotexists" | "BuiltInCount" | "BuiltInSum" | "BuiltInMin" | "BuiltInMax" | "BuiltInAvg" | "BuiltInSample" | "BuiltInGroup_concat" | "NamedGraph" | "Graph" | "GraphAll" | "LCurly" | "RCurly" | "Dot" | "Comma" | "Semi" | "LParen" | "RParen" | "LSquare" | "RSquare" | "Pipe" | "Slash" | "Hat" | "Question" | "Star" | "OpPlus" | "OpMinus" | "Exclamation" | "LogicAnd" | "LogicOr" | "Equal" | "NotEqual" | "LessThan" | "GreaterThan" | "LessThanEqual" | "GreaterThanEqual" | "Hathat" | "IriRef" | "PNameLn" | "PNameNs" | "BlankNodeLabel" | "Var1" | "Var2" | "LangTag" | "Integer" | "Decimal" | "Double" | "InterferePositive" | "DecimalPositive" | "DoublePositive" | "IntegerNegative" | "DecimalNegative" | "DoubleNegative" | "StringLiteral1" | "StringLiteral2" | "StringLiteralLong1" | "StringLiteralLong2" | "Ws" | "Comment" | "Nil" | "Anon" | "BaseDecl" | "PrefixDecl" | "Select" | "Distinct" | "Reduced" | "As" | "Construct" | "Describe" | "Ask" | "Where" | "GroupByGroup" | "By" | "Having" | "Order" | "OrderAsc" | "OrderDesc" | "Limit" | "Offset" | "Values" | "Load" | "Silent" | "LoadInto" | "Clear" | "Drop" | "Create" | "Add" | "To" | "Move" | "Copy" | "ModifyWith" | "DeleteClause" | "InsertClause" | "DataClause" | "UsingClause" | "Optional" | "Service" | "Bind" | "Undef" | "Minus" | "Union" | "Filter" | "True" | "False" | "In" | "NotIn" | "Separator">;
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable require-unicode-regexp */
2
2
  import { LexerBuilder, createToken } from '@traqula/core';
3
- import { allBuiltInCalls, avg, datatype, groupConcat } from './BuildinCalls';
3
+ import { allBuiltInCalls, avg, datatype, groupConcat } from './BuiltInCalls';
4
4
  import { allGraphTokens, graphAll } from './graph';
5
5
  import { allSymbols } from './symbols';
6
6
  import { allTerminals } from './terminals';
@@ -57,7 +57,7 @@ export const allBaseTokens = LexerBuilder.create().add(baseDecl, prefixDecl, sel
57
57
  /**
58
58
  * [!!!ORDER MATTERS!!!](https://chevrotain.io/docs/tutorial/step1_lexing.html#creating-the-lexer)
59
59
  */
60
- export const sparql11Tokens = LexerBuilder
60
+ export const sparql11LexerBuilder = LexerBuilder
61
61
  .create(allTerminals)
62
62
  .merge(allBaseTokens)
63
63
  .merge(allBuiltInCalls)
@@ -1 +1 @@
1
- {"version":3,"file":"lexer.js","sourceRoot":"","sources":["lexer.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable require-unicode-regexp */\nimport { LexerBuilder, createToken } from '@traqula/core';\nimport { allBuiltInCalls, avg, datatype, groupConcat } from './BuildinCalls';\nimport { allGraphTokens, graphAll } from './graph';\nimport { allSymbols } from './symbols';\nimport { allTerminals } from './terminals';\n\nexport const baseDecl = createToken({ name: 'BaseDecl', pattern: /base/i, label: 'BASE' });\nexport const prefixDecl = createToken({ name: 'PrefixDecl', pattern: /prefix/i, label: 'PREFIX' });\nexport const select = createToken({ name: 'Select', pattern: /select/i, label: 'SELECT' });\nexport const distinct = createToken({ name: 'Distinct', pattern: /distinct/i, label: 'DISTINCT' });\nexport const reduced = createToken({ name: 'Reduced', pattern: /reduced/i, label: 'REDUCED' });\nexport const as = createToken({ name: 'As', pattern: /as/i, label: 'AS' });\nexport const construct = createToken({ name: 'Construct', pattern: /construct/i, label: 'CONSTRUCT' });\nexport const describe = createToken({ name: 'Describe', pattern: /describe/i, label: 'DESCRIBE' });\nexport const ask = createToken({ name: 'Ask', pattern: /ask/i, label: 'ASK' });\nexport const from = createToken({ name: 'From', pattern: /from/i, label: 'FROM' });\nexport const where = createToken({ name: 'Where', pattern: /where/i, label: 'WHERE' });\nexport const groupByGroup = createToken({ name: 'GroupByGroup', pattern: /group/i, label: '_GROUP_ BY' });\nexport const by = createToken({ name: 'By', pattern: /by/i, label: 'BY' });\nexport const having = createToken({ name: 'Having', pattern: /having/i, label: 'HAVING' });\nexport const order = createToken({ name: 'Order', pattern: /order/i, label: '_ORDER_ BY' });\nexport const orderAsc = createToken({ name: 'OrderAsc', pattern: /asc/i, label: 'ASC' });\nexport const orderDesc = createToken({ name: 'OrderDesc', pattern: /desc/i, label: 'DESC' });\nexport const limit = createToken({ name: 'Limit', pattern: /limit/i, label: 'LIMIT' });\nexport const offset = createToken({ name: 'Offset', pattern: /offset/i, label: 'OFFSET' });\nexport const values = createToken({ name: 'Values', pattern: /values/i, label: 'VALUES' });\nexport const load = createToken({ name: 'Load', pattern: /load/i, label: 'LOAD' });\nexport const silent = createToken({ name: 'Silent', pattern: /silent/i, label: 'SILENT' });\nexport const loadInto = createToken({ name: 'LoadInto', pattern: /into/i, label: 'INTO' });\nexport const clear = createToken({ name: 'Clear', pattern: /clear/i, label: 'CLEAR' });\nexport const drop = createToken({ name: 'Drop', pattern: /drop/i, label: 'DROP' });\nexport const create = createToken({ name: 'Create', pattern: /create/i, label: 'CREATE' });\nexport const add = createToken({ name: 'Add', pattern: /add/i, label: 'ADD' });\nexport const to = createToken({ name: 'To', pattern: /to/i, label: 'TO' });\nexport const move = createToken({ name: 'Move', pattern: /move/i, label: 'MOVE' });\nexport const copy = createToken({ name: 'Copy', pattern: /copy/i, label: 'COPY' });\nexport const modifyWith = createToken({ name: 'ModifyWith', pattern: /with/i, label: 'WITH' });\nexport const deleteClause = createToken({ name: 'DeleteClause', pattern: /delete/i, label: 'DELETE' });\nexport const insertClause = createToken({ name: 'InsertClause', pattern: /insert/i, label: 'INSERT' });\nexport const dataClause = createToken({ name: 'DataClause', pattern: /data/i, label: 'DATA', longer_alt: datatype });\nexport const usingClause = createToken({ name: 'UsingClause', pattern: /using/i, label: 'USING' });\nexport const optional = createToken({ name: 'Optional', pattern: /optional/i, label: 'OPTIONAL' });\nexport const service = createToken({ name: 'Service', pattern: /service/i, label: 'SERVICE' });\nexport const bind = createToken({ name: 'Bind', pattern: /bind/i, label: 'BIND' });\nexport const undef = createToken({ name: 'Undef', pattern: /undef/i, label: 'UNDEF' });\nexport const minus = createToken({ name: 'Minus', pattern: /minus/i, label: 'MINUS' });\nexport const union = createToken({ name: 'Union', pattern: /union/i, label: 'UNION' });\nexport const filter = createToken({ name: 'Filter', pattern: /filter/i, label: 'FILTER' });\nexport const a = createToken({ name: 'a', pattern: 'a', label: 'type declaration \\'a\\'' });\nexport const true_ = createToken({ name: 'True', pattern: /true/i, label: 'true' });\nexport const false_ = createToken({ name: 'False', pattern: /false/i, label: 'false' });\nexport const in_ = createToken({ name: 'In', pattern: /in/i, label: 'IN' });\n// eslint-disable-next-line unicorn/better-regex,no-control-regex\nexport const notIn = createToken({ name: 'NotIn', pattern: /not[\\u0020\\u0009\\u000D\\u000A]+in/i, label: 'NOT IN' });\nexport const separator = createToken({ name: 'Separator', pattern: /separator/i, label: 'SEPARATOR' });\n\nexport const allBaseTokens = LexerBuilder.create().add(\n baseDecl,\n prefixDecl,\n select,\n distinct,\n reduced,\n construct,\n describe,\n ask,\n from,\n where,\n having,\n groupByGroup,\n by,\n order,\n orderAsc,\n orderDesc,\n limit,\n offset,\n values,\n load,\n silent,\n loadInto,\n clear,\n drop,\n create,\n add,\n to,\n move,\n copy,\n modifyWith,\n deleteClause,\n insertClause,\n dataClause,\n usingClause,\n optional,\n service,\n bind,\n undef,\n minus,\n union,\n filter,\n as,\n a,\n true_,\n false_,\n in_,\n notIn,\n separator,\n);\n\n/**\n * [!!!ORDER MATTERS!!!](https://chevrotain.io/docs/tutorial/step1_lexing.html#creating-the-lexer)\n */\nexport const sparql11Tokens = LexerBuilder\n .create(allTerminals)\n .merge(allBaseTokens)\n .merge(allBuiltInCalls)\n .merge(allGraphTokens)\n .merge(allSymbols)\n .moveBefore(datatype, dataClause)\n .moveAfter(avg, a)\n .moveBefore(a, graphAll)\n .moveAfter(groupConcat, groupByGroup);\n"]}
1
+ {"version":3,"file":"lexer.js","sourceRoot":"","sources":["lexer.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable require-unicode-regexp */\nimport { LexerBuilder, createToken } from '@traqula/core';\nimport { allBuiltInCalls, avg, datatype, groupConcat } from './BuiltInCalls';\nimport { allGraphTokens, graphAll } from './graph';\nimport { allSymbols } from './symbols';\nimport { allTerminals } from './terminals';\n\nexport const baseDecl = createToken({ name: 'BaseDecl', pattern: /base/i, label: 'BASE' });\nexport const prefixDecl = createToken({ name: 'PrefixDecl', pattern: /prefix/i, label: 'PREFIX' });\nexport const select = createToken({ name: 'Select', pattern: /select/i, label: 'SELECT' });\nexport const distinct = createToken({ name: 'Distinct', pattern: /distinct/i, label: 'DISTINCT' });\nexport const reduced = createToken({ name: 'Reduced', pattern: /reduced/i, label: 'REDUCED' });\nexport const as = createToken({ name: 'As', pattern: /as/i, label: 'AS' });\nexport const construct = createToken({ name: 'Construct', pattern: /construct/i, label: 'CONSTRUCT' });\nexport const describe = createToken({ name: 'Describe', pattern: /describe/i, label: 'DESCRIBE' });\nexport const ask = createToken({ name: 'Ask', pattern: /ask/i, label: 'ASK' });\nexport const from = createToken({ name: 'From', pattern: /from/i, label: 'FROM' });\nexport const where = createToken({ name: 'Where', pattern: /where/i, label: 'WHERE' });\nexport const groupByGroup = createToken({ name: 'GroupByGroup', pattern: /group/i, label: '_GROUP_ BY' });\nexport const by = createToken({ name: 'By', pattern: /by/i, label: 'BY' });\nexport const having = createToken({ name: 'Having', pattern: /having/i, label: 'HAVING' });\nexport const order = createToken({ name: 'Order', pattern: /order/i, label: '_ORDER_ BY' });\nexport const orderAsc = createToken({ name: 'OrderAsc', pattern: /asc/i, label: 'ASC' });\nexport const orderDesc = createToken({ name: 'OrderDesc', pattern: /desc/i, label: 'DESC' });\nexport const limit = createToken({ name: 'Limit', pattern: /limit/i, label: 'LIMIT' });\nexport const offset = createToken({ name: 'Offset', pattern: /offset/i, label: 'OFFSET' });\nexport const values = createToken({ name: 'Values', pattern: /values/i, label: 'VALUES' });\nexport const load = createToken({ name: 'Load', pattern: /load/i, label: 'LOAD' });\nexport const silent = createToken({ name: 'Silent', pattern: /silent/i, label: 'SILENT' });\nexport const loadInto = createToken({ name: 'LoadInto', pattern: /into/i, label: 'INTO' });\nexport const clear = createToken({ name: 'Clear', pattern: /clear/i, label: 'CLEAR' });\nexport const drop = createToken({ name: 'Drop', pattern: /drop/i, label: 'DROP' });\nexport const create = createToken({ name: 'Create', pattern: /create/i, label: 'CREATE' });\nexport const add = createToken({ name: 'Add', pattern: /add/i, label: 'ADD' });\nexport const to = createToken({ name: 'To', pattern: /to/i, label: 'TO' });\nexport const move = createToken({ name: 'Move', pattern: /move/i, label: 'MOVE' });\nexport const copy = createToken({ name: 'Copy', pattern: /copy/i, label: 'COPY' });\nexport const modifyWith = createToken({ name: 'ModifyWith', pattern: /with/i, label: 'WITH' });\nexport const deleteClause = createToken({ name: 'DeleteClause', pattern: /delete/i, label: 'DELETE' });\nexport const insertClause = createToken({ name: 'InsertClause', pattern: /insert/i, label: 'INSERT' });\nexport const dataClause = createToken({ name: 'DataClause', pattern: /data/i, label: 'DATA', longer_alt: datatype });\nexport const usingClause = createToken({ name: 'UsingClause', pattern: /using/i, label: 'USING' });\nexport const optional = createToken({ name: 'Optional', pattern: /optional/i, label: 'OPTIONAL' });\nexport const service = createToken({ name: 'Service', pattern: /service/i, label: 'SERVICE' });\nexport const bind = createToken({ name: 'Bind', pattern: /bind/i, label: 'BIND' });\nexport const undef = createToken({ name: 'Undef', pattern: /undef/i, label: 'UNDEF' });\nexport const minus = createToken({ name: 'Minus', pattern: /minus/i, label: 'MINUS' });\nexport const union = createToken({ name: 'Union', pattern: /union/i, label: 'UNION' });\nexport const filter = createToken({ name: 'Filter', pattern: /filter/i, label: 'FILTER' });\nexport const a = createToken({ name: 'a', pattern: 'a', label: 'type declaration \\'a\\'' });\nexport const true_ = createToken({ name: 'True', pattern: /true/i, label: 'true' });\nexport const false_ = createToken({ name: 'False', pattern: /false/i, label: 'false' });\nexport const in_ = createToken({ name: 'In', pattern: /in/i, label: 'IN' });\n// eslint-disable-next-line unicorn/better-regex,no-control-regex\nexport const notIn = createToken({ name: 'NotIn', pattern: /not[\\u0020\\u0009\\u000D\\u000A]+in/i, label: 'NOT IN' });\nexport const separator = createToken({ name: 'Separator', pattern: /separator/i, label: 'SEPARATOR' });\n\nexport const allBaseTokens = LexerBuilder.create().add(\n baseDecl,\n prefixDecl,\n select,\n distinct,\n reduced,\n construct,\n describe,\n ask,\n from,\n where,\n having,\n groupByGroup,\n by,\n order,\n orderAsc,\n orderDesc,\n limit,\n offset,\n values,\n load,\n silent,\n loadInto,\n clear,\n drop,\n create,\n add,\n to,\n move,\n copy,\n modifyWith,\n deleteClause,\n insertClause,\n dataClause,\n usingClause,\n optional,\n service,\n bind,\n undef,\n minus,\n union,\n filter,\n as,\n a,\n true_,\n false_,\n in_,\n notIn,\n separator,\n);\n\n/**\n * [!!!ORDER MATTERS!!!](https://chevrotain.io/docs/tutorial/step1_lexing.html#creating-the-lexer)\n */\nexport const sparql11LexerBuilder = LexerBuilder\n .create(allTerminals)\n .merge(allBaseTokens)\n .merge(allBuiltInCalls)\n .merge(allGraphTokens)\n .merge(allSymbols)\n .moveBefore(datatype, dataClause)\n .moveAfter(avg, a)\n .moveBefore(a, graphAll)\n .moveAfter(groupConcat, groupByGroup);\n"]}
@@ -188,6 +188,7 @@ export function checkNote13(patterns) {
188
188
  const bgp = patterns[index - 1];
189
189
  // Find variables used.
190
190
  const variables = [];
191
+ // TODO: this is slow! 2.6% self execution
191
192
  transformer.visitNodeSpecific(bgp, 'term', 'variable', var_ => variables.push(var_));
192
193
  if (variables.some(var_ => var_.value === pattern.variable.value)) {
193
194
  throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transformer } from '@traqula/core';\nimport { Factory } from '../factory';\nimport type {\n Wildcard,\n Expression,\n ExpressionAggregate,\n Pattern,\n QuerySelect,\n TermVariable,\n SolutionModifierGroupBind,\n PatternBgp,\n Sparql11Nodes,\n Update,\n PatternBind,\n TripleCollection,\n Path,\n TripleNesting,\n Term,\n SparqlQuery,\n} from '../Sparql11types';\n\nconst F = new Factory();\nconst transformer = new Transformer<Sparql11Nodes>();\n\n/**\n * Get all 'aggregate' rules from an expression\n */\nfunction getAggregatesOfExpression(expression: Expression): ExpressionAggregate[] {\n if (F.isExpressionAggregate(expression)) {\n return [ expression ];\n }\n if (F.isExpressionOperator(expression)) {\n const aggregates: ExpressionAggregate[] = [];\n for (const arg of expression.args) {\n aggregates.push(...getAggregatesOfExpression(arg));\n }\n return aggregates;\n }\n return [];\n}\n\n/**\n * Return the variable value id of an expression if bounded\n */\nfunction getExpressionId(expression: SolutionModifierGroupBind | Expression | TermVariable): string | undefined {\n // Check if grouping\n if (F.isTerm(expression) && F.isTermVariable(expression)) {\n return expression.value;\n }\n if (F.isExpression(expression)) {\n if (F.isExpressionAggregate(expression) && F.isTermVariable(expression.expression[0])) {\n return expression.expression[0].value;\n }\n return undefined;\n }\n return expression.variable.value;\n}\n\n/**\n * Get all variables used in an expression\n */\nfunction getVariablesFromExpression(expression: Expression, variables: Set<string>): void {\n if (F.isExpressionOperator(expression)) {\n for (const expr of expression.args) {\n getVariablesFromExpression(expr, variables);\n }\n } else if (F.isTerm(expression) && F.isTermVariable(expression)) {\n variables.add(expression.value);\n }\n}\n\nexport function queryIsGood(query: Pick<QuerySelect, 'variables' | 'solutionModifiers' | 'where'>): void {\n // NoGroupByOnWildcardSelect\n if (query.variables.length === 1 && F.isWildcard(query.variables[0])) {\n if (query.solutionModifiers.group !== undefined) {\n throw new Error('GROUP BY not allowed with wildcard');\n }\n return;\n }\n\n // CannotProjectUngroupedVars - can be skipped if `SELECT *`\n // Check for projection of ungrouped variable\n // Check can be skipped in case of wildcard select.\n const variables = <Exclude<typeof query.variables, [Wildcard]>> query.variables;\n const hasCountAggregate = variables.flatMap(\n varVal => F.isTerm(varVal) ? [] : getAggregatesOfExpression(varVal.expression),\n ).some(agg => agg.aggregation === 'count' && !agg.expression.some(arg => F.isWildcard(arg)));\n const groupBy = query.solutionModifiers.group;\n if (hasCountAggregate || groupBy) {\n // We have to check whether\n // 1. Variables used in projection are usable given the group by clause\n // 2. A selectCount will create an implicit group by clause.\n for (const selectVar of variables) {\n if (F.isTerm(selectVar)) {\n if (!groupBy || !groupBy.groupings.map(groupvar => getExpressionId(groupvar))\n .includes((getExpressionId(selectVar)))) {\n throw new Error('Variable not allowed in projection');\n }\n } else if (getAggregatesOfExpression(selectVar.expression).length === 0) {\n // Current value binding does not use aggregates\n const usedvars = new Set<string>();\n getVariablesFromExpression(selectVar.expression, usedvars);\n for (const usedvar of usedvars) {\n if (!groupBy || !groupBy.groupings.map(groupVar => getExpressionId(groupVar))\n .includes(usedvar)) {\n throw new Error(`Use of ungrouped variable in projection of operation (?${usedvar})`);\n }\n }\n }\n }\n }\n\n // NOTE 12: Check if id of each AS-selected column is not yet bound by subquery\n const subqueries = query.where.patterns.filter(pattern => pattern.type === 'query');\n if (subqueries.length > 0) {\n const selectBoundedVars = new Set<string>();\n for (const variable of variables) {\n if ('variable' in variable) {\n selectBoundedVars.add(variable.variable.value);\n }\n }\n\n // Look at in scope variables\n const vars = subqueries.flatMap<TermVariable | PatternBind | Wildcard>(sub => sub.variables)\n .map(v => F.isTerm(v) ? v.value : (F.isWildcard(v) ? '*' : v.variable.value));\n const subqueryIds = new Set(vars);\n for (const selectedVarId of selectBoundedVars) {\n if (subqueryIds.has(selectedVarId)) {\n throw new Error(`Target id of 'AS' (?${selectedVarId}) already used in subquery`);\n }\n }\n }\n}\n\nexport function findPatternBoundedVars(\n iter: SparqlQuery | Pattern | TripleNesting | TripleCollection | Path | Term | Wildcard,\n boundedVars: Set<string>,\n): void {\n if (F.isQuery(iter) || F.isUpdate(iter)) {\n if (F.isQuerySelect(iter) || F.isQueryDescribe(iter)) {\n if (iter.where && iter.variables.some(x => F.isWildcard(x))) {\n findPatternBoundedVars(iter.where, boundedVars);\n } else {\n for (const v of iter.variables) {\n findPatternBoundedVars(v, boundedVars);\n }\n }\n if (iter.solutionModifiers.group) {\n const grouping = iter.solutionModifiers.group;\n for (const g of grouping.groupings) {\n if ('variable' in g) {\n findPatternBoundedVars(g.variable, boundedVars);\n }\n }\n }\n if (iter.values?.values && iter.values.values.length > 0) {\n const values = iter.values.values;\n for (const v of Object.keys(values[0])) {\n boundedVars.add(v);\n }\n }\n }\n } else if (F.isTerm(iter)) {\n if (F.isTermVariable(iter)) {\n boundedVars.add(iter.value);\n }\n } else if (F.isTriple(iter)) {\n findPatternBoundedVars(iter.subject, boundedVars);\n findPatternBoundedVars(iter.predicate, boundedVars);\n findPatternBoundedVars(iter.object, boundedVars);\n } else if (F.isPath(iter)) {\n if (!F.isTerm(iter)) {\n for (const item of iter.items) {\n findPatternBoundedVars(item, boundedVars);\n }\n }\n } else if (F.isTripleCollection(iter) || F.isPatternBgp(iter)) {\n for (const triple of iter.triples) {\n findPatternBoundedVars(triple, boundedVars);\n }\n } else if (\n F.isPatternGroup(iter) || F.isPatternUnion(iter) || F.isPatternOptional(iter) || F.isPatternService(iter)) {\n for (const pattern of iter.patterns) {\n findPatternBoundedVars(pattern, boundedVars);\n }\n if (F.isPatternService(iter)) {\n findPatternBoundedVars(iter.name, boundedVars);\n }\n } else if (F.isPatternBind(iter)) {\n findPatternBoundedVars(iter.variable, boundedVars);\n } else if (F.isPatternValues(iter)) {\n for (const variable of Object.keys(iter.values.at(0) ?? {})) {\n boundedVars.add(variable);\n }\n } else if (F.isPatternGraph(iter)) {\n findPatternBoundedVars(iter.name, boundedVars);\n for (const pattern of iter.patterns) {\n findPatternBoundedVars(pattern, boundedVars);\n }\n }\n}\n\n/**\n * NOTE 13 and https://www.w3.org/TR/sparql11-query/#variableScope\n * > In BIND (expr AS v) requires that the variable v is not in-scope from the preceeding elements in the\n * group graph pattern in which it is used.\n */\nexport function checkNote13(patterns: Pattern[]): void {\n for (const [ index, pattern ] of patterns.entries()) {\n if (F.isPatternBind(pattern) && index > 0 && F.isPatternBgp(patterns[index - 1])) {\n const bgp = <PatternBgp> patterns[index - 1];\n // Find variables used.\n const variables: TermVariable[] = [];\n transformer.visitNodeSpecific(bgp, 'term', 'variable', var_ => variables.push(var_));\n if (variables.some(var_ => var_.value === pattern.variable.value)) {\n throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);\n }\n }\n }\n\n const boundedVars = new Set<string>();\n for (const pattern of patterns) {\n // Element can be bind, in that case, check note 13. If it is not, buildup set of bounded variables.\n if (F.isPatternBind(pattern)) {\n if (boundedVars.has(pattern.variable.value)) {\n throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);\n }\n } else {\n findPatternBoundedVars(pattern, boundedVars);\n }\n }\n}\n\n/**\n * https://www.w3.org/TR/sparql11-query/#grammarBNodes\n * > two INSERT DATA operations within a single SPARQL Update request\n */\nexport function updateNoReuseBlankNodeLabels(updateQuery: Update): void {\n const blankLabelsUsedInInsertData = new Set<string>();\n for (const update of updateQuery.updates) {\n if (!update.operation) {\n continue;\n }\n const operation = update.operation;\n if (operation.subType === 'insertdata') {\n const blankNodesHere = new Set<string>();\n transformer.visitNodeSpecific(operation, 'term', 'blankNode', (blankNode) => {\n blankNodesHere.add(blankNode.label);\n if (blankLabelsUsedInInsertData.has(blankNode.label)) {\n throw new Error('Detected reuse blank node across different INSERT DATA clauses');\n }\n });\n for (const blankNode of blankNodesHere) {\n blankLabelsUsedInInsertData.add(blankNode);\n }\n }\n }\n}\n"]}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["validators.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transformer } from '@traqula/core';\nimport { Factory } from '../factory';\nimport type {\n Wildcard,\n Expression,\n ExpressionAggregate,\n Pattern,\n QuerySelect,\n TermVariable,\n SolutionModifierGroupBind,\n PatternBgp,\n Sparql11Nodes,\n Update,\n PatternBind,\n TripleCollection,\n Path,\n TripleNesting,\n Term,\n SparqlQuery,\n} from '../Sparql11types';\n\nconst F = new Factory();\nconst transformer = new Transformer<Sparql11Nodes>();\n\n/**\n * Get all 'aggregate' rules from an expression\n */\nfunction getAggregatesOfExpression(expression: Expression): ExpressionAggregate[] {\n if (F.isExpressionAggregate(expression)) {\n return [ expression ];\n }\n if (F.isExpressionOperator(expression)) {\n const aggregates: ExpressionAggregate[] = [];\n for (const arg of expression.args) {\n aggregates.push(...getAggregatesOfExpression(arg));\n }\n return aggregates;\n }\n return [];\n}\n\n/**\n * Return the variable value id of an expression if bounded\n */\nfunction getExpressionId(expression: SolutionModifierGroupBind | Expression | TermVariable): string | undefined {\n // Check if grouping\n if (F.isTerm(expression) && F.isTermVariable(expression)) {\n return expression.value;\n }\n if (F.isExpression(expression)) {\n if (F.isExpressionAggregate(expression) && F.isTermVariable(expression.expression[0])) {\n return expression.expression[0].value;\n }\n return undefined;\n }\n return expression.variable.value;\n}\n\n/**\n * Get all variables used in an expression\n */\nfunction getVariablesFromExpression(expression: Expression, variables: Set<string>): void {\n if (F.isExpressionOperator(expression)) {\n for (const expr of expression.args) {\n getVariablesFromExpression(expr, variables);\n }\n } else if (F.isTerm(expression) && F.isTermVariable(expression)) {\n variables.add(expression.value);\n }\n}\n\nexport function queryIsGood(query: Pick<QuerySelect, 'variables' | 'solutionModifiers' | 'where'>): void {\n // NoGroupByOnWildcardSelect\n if (query.variables.length === 1 && F.isWildcard(query.variables[0])) {\n if (query.solutionModifiers.group !== undefined) {\n throw new Error('GROUP BY not allowed with wildcard');\n }\n return;\n }\n\n // CannotProjectUngroupedVars - can be skipped if `SELECT *`\n // Check for projection of ungrouped variable\n // Check can be skipped in case of wildcard select.\n const variables = <Exclude<typeof query.variables, [Wildcard]>> query.variables;\n const hasCountAggregate = variables.flatMap(\n varVal => F.isTerm(varVal) ? [] : getAggregatesOfExpression(varVal.expression),\n ).some(agg => agg.aggregation === 'count' && !agg.expression.some(arg => F.isWildcard(arg)));\n const groupBy = query.solutionModifiers.group;\n if (hasCountAggregate || groupBy) {\n // We have to check whether\n // 1. Variables used in projection are usable given the group by clause\n // 2. A selectCount will create an implicit group by clause.\n for (const selectVar of variables) {\n if (F.isTerm(selectVar)) {\n if (!groupBy || !groupBy.groupings.map(groupvar => getExpressionId(groupvar))\n .includes((getExpressionId(selectVar)))) {\n throw new Error('Variable not allowed in projection');\n }\n } else if (getAggregatesOfExpression(selectVar.expression).length === 0) {\n // Current value binding does not use aggregates\n const usedvars = new Set<string>();\n getVariablesFromExpression(selectVar.expression, usedvars);\n for (const usedvar of usedvars) {\n if (!groupBy || !groupBy.groupings.map(groupVar => getExpressionId(groupVar))\n .includes(usedvar)) {\n throw new Error(`Use of ungrouped variable in projection of operation (?${usedvar})`);\n }\n }\n }\n }\n }\n\n // NOTE 12: Check if id of each AS-selected column is not yet bound by subquery\n const subqueries = query.where.patterns.filter(pattern => pattern.type === 'query');\n if (subqueries.length > 0) {\n const selectBoundedVars = new Set<string>();\n for (const variable of variables) {\n if ('variable' in variable) {\n selectBoundedVars.add(variable.variable.value);\n }\n }\n\n // Look at in scope variables\n const vars = subqueries.flatMap<TermVariable | PatternBind | Wildcard>(sub => sub.variables)\n .map(v => F.isTerm(v) ? v.value : (F.isWildcard(v) ? '*' : v.variable.value));\n const subqueryIds = new Set(vars);\n for (const selectedVarId of selectBoundedVars) {\n if (subqueryIds.has(selectedVarId)) {\n throw new Error(`Target id of 'AS' (?${selectedVarId}) already used in subquery`);\n }\n }\n }\n}\n\nexport function findPatternBoundedVars(\n iter: SparqlQuery | Pattern | TripleNesting | TripleCollection | Path | Term | Wildcard,\n boundedVars: Set<string>,\n): void {\n if (F.isQuery(iter) || F.isUpdate(iter)) {\n if (F.isQuerySelect(iter) || F.isQueryDescribe(iter)) {\n if (iter.where && iter.variables.some(x => F.isWildcard(x))) {\n findPatternBoundedVars(iter.where, boundedVars);\n } else {\n for (const v of iter.variables) {\n findPatternBoundedVars(v, boundedVars);\n }\n }\n if (iter.solutionModifiers.group) {\n const grouping = iter.solutionModifiers.group;\n for (const g of grouping.groupings) {\n if ('variable' in g) {\n findPatternBoundedVars(g.variable, boundedVars);\n }\n }\n }\n if (iter.values?.values && iter.values.values.length > 0) {\n const values = iter.values.values;\n for (const v of Object.keys(values[0])) {\n boundedVars.add(v);\n }\n }\n }\n } else if (F.isTerm(iter)) {\n if (F.isTermVariable(iter)) {\n boundedVars.add(iter.value);\n }\n } else if (F.isTriple(iter)) {\n findPatternBoundedVars(iter.subject, boundedVars);\n findPatternBoundedVars(iter.predicate, boundedVars);\n findPatternBoundedVars(iter.object, boundedVars);\n } else if (F.isPath(iter)) {\n if (!F.isTerm(iter)) {\n for (const item of iter.items) {\n findPatternBoundedVars(item, boundedVars);\n }\n }\n } else if (F.isTripleCollection(iter) || F.isPatternBgp(iter)) {\n for (const triple of iter.triples) {\n findPatternBoundedVars(triple, boundedVars);\n }\n } else if (\n F.isPatternGroup(iter) || F.isPatternUnion(iter) || F.isPatternOptional(iter) || F.isPatternService(iter)) {\n for (const pattern of iter.patterns) {\n findPatternBoundedVars(pattern, boundedVars);\n }\n if (F.isPatternService(iter)) {\n findPatternBoundedVars(iter.name, boundedVars);\n }\n } else if (F.isPatternBind(iter)) {\n findPatternBoundedVars(iter.variable, boundedVars);\n } else if (F.isPatternValues(iter)) {\n for (const variable of Object.keys(iter.values.at(0) ?? {})) {\n boundedVars.add(variable);\n }\n } else if (F.isPatternGraph(iter)) {\n findPatternBoundedVars(iter.name, boundedVars);\n for (const pattern of iter.patterns) {\n findPatternBoundedVars(pattern, boundedVars);\n }\n }\n}\n\n/**\n * NOTE 13 and https://www.w3.org/TR/sparql11-query/#variableScope\n * > In BIND (expr AS v) requires that the variable v is not in-scope from the preceeding elements in the\n * group graph pattern in which it is used.\n */\nexport function checkNote13(patterns: Pattern[]): void {\n for (const [ index, pattern ] of patterns.entries()) {\n if (F.isPatternBind(pattern) && index > 0 && F.isPatternBgp(patterns[index - 1])) {\n const bgp = <PatternBgp> patterns[index - 1];\n // Find variables used.\n const variables: TermVariable[] = [];\n // TODO: this is slow! 2.6% self execution\n transformer.visitNodeSpecific(bgp, 'term', 'variable', var_ => variables.push(var_));\n if (variables.some(var_ => var_.value === pattern.variable.value)) {\n throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);\n }\n }\n }\n\n const boundedVars = new Set<string>();\n for (const pattern of patterns) {\n // Element can be bind, in that case, check note 13. If it is not, buildup set of bounded variables.\n if (F.isPatternBind(pattern)) {\n if (boundedVars.has(pattern.variable.value)) {\n throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);\n }\n } else {\n findPatternBoundedVars(pattern, boundedVars);\n }\n }\n}\n\n/**\n * https://www.w3.org/TR/sparql11-query/#grammarBNodes\n * > two INSERT DATA operations within a single SPARQL Update request\n */\nexport function updateNoReuseBlankNodeLabels(updateQuery: Update): void {\n const blankLabelsUsedInInsertData = new Set<string>();\n for (const update of updateQuery.updates) {\n if (!update.operation) {\n continue;\n }\n const operation = update.operation;\n if (operation.subType === 'insertdata') {\n const blankNodesHere = new Set<string>();\n transformer.visitNodeSpecific(operation, 'term', 'blankNode', (blankNode) => {\n blankNodesHere.add(blankNode.label);\n if (blankLabelsUsedInInsertData.has(blankNode.label)) {\n throw new Error('Detected reuse blank node across different INSERT DATA clauses');\n }\n });\n for (const blankNode of blankNodesHere) {\n blankLabelsUsedInInsertData.add(blankNode);\n }\n }\n }\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@traqula/rules-sparql-1-1",
3
3
  "type": "module",
4
- "version": "0.0.4",
4
+ "version": "0.0.6",
5
5
  "description": "TRAQULA Lexer and Grammar Rules for sparql 1.1",
6
6
  "lsd:module": true,
7
7
  "license": "MIT",
@@ -32,7 +32,7 @@
32
32
  "lib/**/*.js.map"
33
33
  ],
34
34
  "engines": {
35
- "node": ">=18.0"
35
+ "node": "^20.19.0 || >=22.12.0"
36
36
  },
37
37
  "typings": "lib/index",
38
38
  "scripts": {
@@ -41,11 +41,11 @@
41
41
  "build:transpile": " node \"../../node_modules/esbuild/bin/esbuild\" --format=cjs --bundle --log-level=error --outfile=lib/index.cjs lib/index.ts"
42
42
  },
43
43
  "dependencies": {
44
- "@traqula/core": "^0.0.4",
44
+ "@traqula/core": "^0.0.6",
45
45
  "chevrotain": "^11.0.3"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@chevrotain/types": "^11.0.3"
49
49
  },
50
- "gitHead": "20092a93f9dda1c747deb7c0097a5046466fa93a"
50
+ "gitHead": "460d871c67226dbb250920747261c5fca4f5716f"
51
51
  }