@traqula/test-utils 0.0.1-alpha.148 → 0.0.1-alpha.9

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.
Files changed (657) hide show
  1. package/README.md +3 -3
  2. package/lib/Sparql11NotesTest.d.ts +2 -2
  3. package/lib/Sparql11NotesTest.js +27 -25
  4. package/lib/Sparql11NotesTest.js.map +1 -1
  5. package/lib/fileUtils.d.ts +3 -0
  6. package/lib/fileUtils.js +6 -0
  7. package/lib/fileUtils.js.map +1 -0
  8. package/lib/index.cjs +521 -149
  9. package/lib/index.d.ts +1 -0
  10. package/lib/index.js +1 -0
  11. package/lib/index.js.map +1 -1
  12. package/lib/matchers/toEqualParsedQuery.js +27 -13
  13. package/lib/matchers/toEqualParsedQuery.js.map +1 -1
  14. package/lib/matchers/vitest.d.ts +1 -0
  15. package/lib/matchers/vitest.js.map +1 -1
  16. package/lib/statics/generators.d.ts +4 -3
  17. package/lib/statics/generators.js +33 -17
  18. package/lib/statics/generators.js.map +1 -1
  19. package/lib/statics/generators.ts +49 -28
  20. package/lib/statics/paths/a-generated.sparql +1 -0
  21. package/lib/statics/paths/a-opt-generated.sparql +1 -0
  22. package/lib/statics/paths/a-opt.json +16 -5
  23. package/lib/statics/paths/a-star-generated.sparql +1 -0
  24. package/lib/statics/paths/a-star.json +16 -5
  25. package/lib/statics/paths/a.json +8 -3
  26. package/lib/statics/paths/named-node-generated.sparql +1 -0
  27. package/lib/statics/paths/named-node-sequence-generated.sparql +1 -0
  28. package/lib/statics/paths/named-node-sequence.json +32 -0
  29. package/lib/statics/paths/named-node.json +10 -0
  30. package/lib/statics/paths/prefixed-generated.sparql +1 -0
  31. package/lib/statics/paths/prefixed.json +26 -7
  32. package/lib/statics/sparql-1-1/all-generated.sparql +1 -0
  33. package/lib/statics/sparql-1-1/all.json +82 -25
  34. package/lib/statics/sparql-1-1/artists-ghent-generated.sparql +1 -0
  35. package/lib/statics/sparql-1-1/artists-ghent.json +457 -135
  36. package/lib/statics/sparql-1-1/artists-york-generated.sparql +1 -0
  37. package/lib/statics/sparql-1-1/artists-york.json +188 -60
  38. package/lib/statics/sparql-1-1/ask-in-anonymous-node-generated.sparql +1 -0
  39. package/lib/statics/sparql-1-1/ask-in-anonymous-node.json +109 -21
  40. package/lib/statics/sparql-1-1/blanks-generated.sparql +1 -0
  41. package/lib/statics/sparql-1-1/blanks.json +1099 -346
  42. package/lib/statics/sparql-1-1/boolean-case-generated.sparql +1 -0
  43. package/lib/statics/sparql-1-1/boolean-case.json +405 -165
  44. package/lib/statics/sparql-1-1/bsbm1-generated.sparql +1 -0
  45. package/lib/statics/sparql-1-1/bsbm1.json +406 -106
  46. package/lib/statics/sparql-1-1/bsbm10-generated.sparql +1 -0
  47. package/lib/statics/sparql-1-1/bsbm10.json +552 -170
  48. package/lib/statics/sparql-1-1/bsbm3-generated.sparql +1 -0
  49. package/lib/statics/sparql-1-1/bsbm3.json +340 -82
  50. package/lib/statics/sparql-1-1/bsbm4-generated.sparql +1 -0
  51. package/lib/statics/sparql-1-1/bsbm4.json +768 -239
  52. package/lib/statics/sparql-1-1/bsbm5-generated.sparql +1 -0
  53. package/lib/statics/sparql-1-1/bsbm5.json +748 -257
  54. package/lib/statics/sparql-1-1/bsbm6-generated.sparql +1 -0
  55. package/lib/statics/sparql-1-1/bsbm6.json +227 -61
  56. package/lib/statics/sparql-1-1/bsbm8-generated.sparql +1 -0
  57. package/lib/statics/sparql-1-1/bsbm8.json +752 -236
  58. package/lib/statics/sparql-1-1/bsbm9-generated.sparql +1 -0
  59. package/lib/statics/sparql-1-1/bsbm9.json +103 -25
  60. package/lib/statics/sparql-1-1/clear-drop-generated.sparql +12 -0
  61. package/lib/statics/sparql-1-1/clear-drop.json +290 -67
  62. package/lib/statics/sparql-1-1/compact-bgp-generated.sparql +1 -0
  63. package/lib/statics/sparql-1-1/compact-bgp.json +508 -172
  64. package/lib/statics/sparql-1-1/construct-extra-semicolon-generated.sparql +1 -0
  65. package/lib/statics/sparql-1-1/construct-extra-semicolon.json +189 -66
  66. package/lib/statics/sparql-1-1/construct-generated.sparql +1 -0
  67. package/lib/statics/sparql-1-1/construct-multi-extra-semicolons-generated.sparql +1 -0
  68. package/lib/statics/sparql-1-1/construct-multi-extra-semicolons.json +189 -66
  69. package/lib/statics/sparql-1-1/construct-without-template-generated.sparql +1 -0
  70. package/lib/statics/sparql-1-1/construct-without-template.json +118 -35
  71. package/lib/statics/sparql-1-1/construct.json +120 -35
  72. package/lib/statics/sparql-1-1/count-generated.sparql +1 -0
  73. package/lib/statics/sparql-1-1/count.json +134 -34
  74. package/lib/statics/sparql-1-1/empty-values-generated.sparql +1 -0
  75. package/lib/statics/sparql-1-1/empty-values.json +93 -27
  76. package/lib/statics/sparql-1-1/fedbench-cd1-generated.sparql +1 -0
  77. package/lib/statics/sparql-1-1/fedbench-cd1.json +211 -65
  78. package/lib/statics/sparql-1-1/fedbench-cd2-generated.sparql +1 -0
  79. package/lib/statics/sparql-1-1/fedbench-cd2.json +168 -56
  80. package/lib/statics/sparql-1-1/fedbench-cd3-generated.sparql +1 -0
  81. package/lib/statics/sparql-1-1/fedbench-cd3.json +252 -86
  82. package/lib/statics/sparql-1-1/group-and-bind-generated.sparql +1 -0
  83. package/lib/statics/sparql-1-1/group-and-bind.json +178 -45
  84. package/lib/statics/sparql-1-1/group-brackets-generated.sparql +1 -0
  85. package/lib/statics/sparql-1-1/group-brackets.json +223 -58
  86. package/lib/statics/sparql-1-1/group-concat-generated.sparql +1 -0
  87. package/lib/statics/sparql-1-1/group-concat.json +207 -54
  88. package/lib/statics/sparql-1-1/group-variable-generated.sparql +1 -0
  89. package/lib/statics/sparql-1-1/group-variable.json +255 -67
  90. package/lib/statics/sparql-1-1/in-generated.sparql +1 -0
  91. package/lib/statics/sparql-1-1/in.json +227 -90
  92. package/lib/statics/sparql-1-1/inverse-paths-anonymous-node-generated.sparql +1 -0
  93. package/lib/statics/sparql-1-1/inverse-paths-anonymous-node.json +250 -76
  94. package/lib/statics/sparql-1-1/inverse-paths-in-anonymous-node-2-generated.sparql +1 -0
  95. package/lib/statics/sparql-1-1/inverse-paths-in-anonymous-node-2.json +214 -63
  96. package/lib/statics/sparql-1-1/inverse-paths-in-anonymous-node-generated.sparql +1 -0
  97. package/lib/statics/sparql-1-1/inverse-paths-in-anonymous-node.json +250 -76
  98. package/lib/statics/sparql-1-1/lists-generated.sparql +1 -0
  99. package/lib/statics/sparql-1-1/lists.json +2134 -819
  100. package/lib/statics/sparql-1-1/load-generated.sparql +1 -0
  101. package/lib/statics/sparql-1-1/load-into-generated.sparql +1 -0
  102. package/lib/statics/sparql-1-1/load-into.json +44 -10
  103. package/lib/statics/sparql-1-1/load.json +25 -6
  104. package/lib/statics/sparql-1-1/multiline-generated.sparql +1 -0
  105. package/lib/statics/sparql-1-1/multiline.json +84 -31
  106. package/lib/statics/sparql-1-1/negate-and-generated.sparql +1 -0
  107. package/lib/statics/sparql-1-1/negate-and.json +223 -82
  108. package/lib/statics/sparql-1-1/nested-path-generated.sparql +1 -0
  109. package/lib/statics/sparql-1-1/nested-path.json +151 -40
  110. package/lib/statics/sparql-1-1/optional-generated.sparql +1 -0
  111. package/lib/statics/sparql-1-1/optional-subquery-generated.sparql +1 -0
  112. package/lib/statics/sparql-1-1/optional-subquery.json +139 -42
  113. package/lib/statics/sparql-1-1/optional.json +245 -90
  114. package/lib/statics/sparql-1-1/or-generated.sparql +1 -0
  115. package/lib/statics/sparql-1-1/or.json +663 -294
  116. package/lib/statics/sparql-1-1/order-operator-generated.sparql +1 -0
  117. package/lib/statics/sparql-1-1/order-operator.json +155 -43
  118. package/lib/statics/sparql-1-1/sequence-paths-in-anonymous-node-generated.sparql +1 -0
  119. package/lib/statics/sparql-1-1/sequence-paths-in-anonymous-node.json +207 -59
  120. package/lib/statics/sparql-1-1/spaced-data-update-generated.sparql +3 -0
  121. package/lib/statics/sparql-1-1/spaced-data-update.json +182 -70
  122. package/lib/statics/sparql-1-1/sparql-10-1a-generated.sparql +1 -0
  123. package/lib/statics/sparql-1-1/sparql-10-1a.json +337 -108
  124. package/lib/statics/sparql-1-1/sparql-10-1b-generated.sparql +1 -0
  125. package/lib/statics/sparql-1-1/sparql-10-1b.json +355 -114
  126. package/lib/statics/sparql-1-1/sparql-10-2-2a-generated.sparql +1 -0
  127. package/lib/statics/sparql-1-1/sparql-10-2-2a.json +230 -59
  128. package/lib/statics/sparql-1-1/sparql-10-2-2b-generated.sparql +1 -0
  129. package/lib/statics/sparql-1-1/sparql-10-2-2b.json +227 -63
  130. package/lib/statics/sparql-1-1/sparql-10-2-2c-generated.sparql +1 -0
  131. package/lib/statics/sparql-1-1/sparql-10-2-2c.json +224 -57
  132. package/lib/statics/sparql-1-1/sparql-11-1-generated.sparql +1 -0
  133. package/lib/statics/sparql-1-1/sparql-11-1.json +286 -86
  134. package/lib/statics/sparql-1-1/sparql-11-2-generated.sparql +1 -0
  135. package/lib/statics/sparql-1-1/sparql-11-2.json +185 -49
  136. package/lib/statics/sparql-1-1/sparql-11-3-generated.sparql +1 -0
  137. package/lib/statics/sparql-1-1/sparql-11-3.json +213 -63
  138. package/lib/statics/sparql-1-1/sparql-11-4-generated.sparql +1 -0
  139. package/lib/statics/sparql-1-1/sparql-11-4.json +238 -70
  140. package/lib/statics/sparql-1-1/sparql-11-5-generated.sparql +1 -0
  141. package/lib/statics/sparql-1-1/sparql-11-5.json +247 -67
  142. package/lib/statics/sparql-1-1/sparql-12-generated.sparql +1 -0
  143. package/lib/statics/sparql-1-1/sparql-12.json +289 -77
  144. package/lib/statics/sparql-1-1/sparql-13-2-1-generated.sparql +1 -0
  145. package/lib/statics/sparql-1-1/sparql-13-2-1.json +115 -30
  146. package/lib/statics/sparql-1-1/sparql-13-2-2-generated.sparql +1 -0
  147. package/lib/statics/sparql-1-1/sparql-13-2-2.json +128 -34
  148. package/lib/statics/sparql-1-1/sparql-13-2-3-generated.sparql +1 -0
  149. package/lib/statics/sparql-1-1/sparql-13-2-3.json +244 -68
  150. package/lib/statics/sparql-1-1/sparql-13-3-1-generated.sparql +1 -0
  151. package/lib/statics/sparql-1-1/sparql-13-3-1.json +197 -60
  152. package/lib/statics/sparql-1-1/sparql-13-3-2-generated.sparql +1 -0
  153. package/lib/statics/sparql-1-1/sparql-13-3-2.json +208 -57
  154. package/lib/statics/sparql-1-1/sparql-13-3-3-generated.sparql +1 -0
  155. package/lib/statics/sparql-1-1/sparql-13-3-3.json +458 -139
  156. package/lib/statics/sparql-1-1/sparql-13-3-4-generated.sparql +1 -0
  157. package/lib/statics/sparql-1-1/sparql-13-3-4.json +279 -81
  158. package/lib/statics/sparql-1-1/sparql-15-1a-generated.sparql +1 -0
  159. package/lib/statics/sparql-1-1/sparql-15-1a.json +128 -28
  160. package/lib/statics/sparql-1-1/sparql-15-1b-generated.sparql +1 -0
  161. package/lib/statics/sparql-1-1/sparql-15-1b.json +184 -43
  162. package/lib/statics/sparql-1-1/sparql-15-1c-generated.sparql +1 -0
  163. package/lib/statics/sparql-1-1/sparql-15-1c.json +199 -46
  164. package/lib/statics/sparql-1-1/sparql-15-2-generated.sparql +1 -0
  165. package/lib/statics/sparql-1-1/sparql-15-2.json +103 -25
  166. package/lib/statics/sparql-1-1/sparql-15-3-1-generated.sparql +1 -0
  167. package/lib/statics/sparql-1-1/sparql-15-3-1.json +104 -26
  168. package/lib/statics/sparql-1-1/sparql-15-3-2-generated.sparql +1 -0
  169. package/lib/statics/sparql-1-1/sparql-15-3-2.json +104 -26
  170. package/lib/statics/sparql-1-1/sparql-15-3-generated.sparql +1 -0
  171. package/lib/statics/sparql-1-1/sparql-15-3.json +103 -25
  172. package/lib/statics/sparql-1-1/sparql-15-4-generated.sparql +1 -0
  173. package/lib/statics/sparql-1-1/sparql-15-4.json +139 -30
  174. package/lib/statics/sparql-1-1/sparql-15-5-generated.sparql +1 -0
  175. package/lib/statics/sparql-1-1/sparql-15-5.json +114 -26
  176. package/lib/statics/sparql-1-1/sparql-16-1-1-generated.sparql +1 -0
  177. package/lib/statics/sparql-1-1/sparql-16-1-1.json +255 -80
  178. package/lib/statics/sparql-1-1/sparql-16-1-2a-generated.sparql +1 -0
  179. package/lib/statics/sparql-1-1/sparql-16-1-2a.json +265 -73
  180. package/lib/statics/sparql-1-1/sparql-16-1-2b-generated.sparql +1 -0
  181. package/lib/statics/sparql-1-1/sparql-16-1-2b.json +288 -77
  182. package/lib/statics/sparql-1-1/sparql-16-2-1-generated.sparql +1 -0
  183. package/lib/statics/sparql-1-1/sparql-16-2-1.json +440 -116
  184. package/lib/statics/sparql-1-1/sparql-16-2-2-generated.sparql +1 -0
  185. package/lib/statics/sparql-1-1/sparql-16-2-2.json +349 -97
  186. package/lib/statics/sparql-1-1/sparql-16-2-3-generated.sparql +1 -0
  187. package/lib/statics/sparql-1-1/sparql-16-2-3.json +230 -52
  188. package/lib/statics/sparql-1-1/sparql-16-2-4-generated.sparql +1 -0
  189. package/lib/statics/sparql-1-1/sparql-16-2-4.json +137 -33
  190. package/lib/statics/sparql-1-1/sparql-16-2-generated.sparql +1 -0
  191. package/lib/statics/sparql-1-1/sparql-16-2.json +158 -33
  192. package/lib/statics/sparql-1-1/sparql-16-3-generated.sparql +1 -0
  193. package/lib/statics/sparql-1-1/sparql-16-3.json +129 -40
  194. package/lib/statics/sparql-1-1/sparql-16-4-1-generated.sparql +1 -0
  195. package/lib/statics/sparql-1-1/sparql-16-4-1.json +24 -5
  196. package/lib/statics/sparql-1-1/sparql-16-4-2a-generated.sparql +1 -0
  197. package/lib/statics/sparql-1-1/sparql-16-4-2a.json +103 -25
  198. package/lib/statics/sparql-1-1/sparql-16-4-2b-generated.sparql +1 -0
  199. package/lib/statics/sparql-1-1/sparql-16-4-2b.json +102 -30
  200. package/lib/statics/sparql-1-1/sparql-16-4-2c-generated.sparql +1 -0
  201. package/lib/statics/sparql-1-1/sparql-16-4-2c.json +119 -29
  202. package/lib/statics/sparql-1-1/sparql-16-4-3-generated.sparql +1 -0
  203. package/lib/statics/sparql-1-1/sparql-16-4-3.json +102 -30
  204. package/lib/statics/sparql-1-1/sparql-17-4-1-1a-generated.sparql +1 -0
  205. package/lib/statics/sparql-1-1/sparql-17-4-1-1a.json +228 -57
  206. package/lib/statics/sparql-1-1/sparql-17-4-1-1b-generated.sparql +1 -0
  207. package/lib/statics/sparql-1-1/sparql-17-4-1-1b.json +219 -61
  208. package/lib/statics/sparql-1-1/sparql-17-4-1-7a-generated.sparql +1 -0
  209. package/lib/statics/sparql-1-1/sparql-17-4-1-7a.json +302 -99
  210. package/lib/statics/sparql-1-1/sparql-17-4-1-7b-generated.sparql +1 -0
  211. package/lib/statics/sparql-1-1/sparql-17-4-1-7b.json +238 -66
  212. package/lib/statics/sparql-1-1/sparql-17-4-1-8a-generated.sparql +1 -0
  213. package/lib/statics/sparql-1-1/sparql-17-4-1-8a.json +314 -105
  214. package/lib/statics/sparql-1-1/sparql-17-4-1-8b-generated.sparql +1 -0
  215. package/lib/statics/sparql-1-1/sparql-17-4-1-8b.json +412 -130
  216. package/lib/statics/sparql-1-1/sparql-17-4-2-1-generated.sparql +1 -0
  217. package/lib/statics/sparql-1-1/sparql-17-4-2-1.json +176 -51
  218. package/lib/statics/sparql-1-1/sparql-17-4-2-2-generated.sparql +1 -0
  219. package/lib/statics/sparql-1-1/sparql-17-4-2-2.json +309 -84
  220. package/lib/statics/sparql-1-1/sparql-17-4-2-3-generated.sparql +1 -0
  221. package/lib/statics/sparql-1-1/sparql-17-4-2-3.json +176 -51
  222. package/lib/statics/sparql-1-1/sparql-17-4-2-5-generated.sparql +1 -0
  223. package/lib/statics/sparql-1-1/sparql-17-4-2-5.json +198 -67
  224. package/lib/statics/sparql-1-1/sparql-17-4-2-6-generated.sparql +1 -0
  225. package/lib/statics/sparql-1-1/sparql-17-4-2-6.json +198 -67
  226. package/lib/statics/sparql-1-1/sparql-17-4-2-7-generated.sparql +1 -0
  227. package/lib/statics/sparql-1-1/sparql-17-4-2-7.json +237 -61
  228. package/lib/statics/sparql-1-1/sparql-17-4-3-13a-generated.sparql +1 -0
  229. package/lib/statics/sparql-1-1/sparql-17-4-3-13a.json +188 -68
  230. package/lib/statics/sparql-1-1/sparql-17-4-3-13b-generated.sparql +1 -0
  231. package/lib/statics/sparql-1-1/sparql-17-4-3-13b.json +152 -50
  232. package/lib/statics/sparql-1-1/sparql-17-4-3-14-generated.sparql +1 -0
  233. package/lib/statics/sparql-1-1/sparql-17-4-3-14.json +150 -54
  234. package/lib/statics/sparql-1-1/sparql-17-6a-generated.sparql +1 -0
  235. package/lib/statics/sparql-1-1/sparql-17-6a.json +204 -53
  236. package/lib/statics/sparql-1-1/sparql-17-6b-generated.sparql +1 -0
  237. package/lib/statics/sparql-1-1/sparql-17-6b.json +390 -136
  238. package/lib/statics/sparql-1-1/sparql-17-generated.sparql +1 -0
  239. package/lib/statics/sparql-1-1/sparql-17.json +228 -58
  240. package/lib/statics/sparql-1-1/sparql-18-a-generated.sparql +1 -0
  241. package/lib/statics/sparql-1-1/sparql-18-a.json +252 -77
  242. package/lib/statics/sparql-1-1/sparql-18-b-generated.sparql +1 -0
  243. package/lib/statics/sparql-1-1/sparql-18-b.json +511 -153
  244. package/lib/statics/sparql-1-1/sparql-18-c-generated.sparql +1 -0
  245. package/lib/statics/sparql-1-1/sparql-18-c.json +208 -60
  246. package/lib/statics/sparql-1-1/sparql-19-a-generated.sparql +1 -0
  247. package/lib/statics/sparql-1-1/sparql-19-a.json +134 -33
  248. package/lib/statics/sparql-1-1/sparql-4-2a-generated.sparql +1 -0
  249. package/lib/statics/sparql-1-1/sparql-4-2a.json +103 -25
  250. package/lib/statics/sparql-1-1/sparql-4-2b-generated.sparql +1 -0
  251. package/lib/statics/sparql-1-1/sparql-4-2b.json +124 -26
  252. package/lib/statics/sparql-1-1/sparql-4-2c-generated.sparql +1 -0
  253. package/lib/statics/sparql-1-1/sparql-4-2c.json +122 -26
  254. package/lib/statics/sparql-1-1/sparql-5-2-1-generated.sparql +1 -0
  255. package/lib/statics/sparql-1-1/sparql-5-2-1.json +34 -6
  256. package/lib/statics/sparql-1-1/sparql-5-2-2a-generated.sparql +1 -0
  257. package/lib/statics/sparql-1-1/sparql-5-2-2a.json +188 -61
  258. package/lib/statics/sparql-1-1/sparql-5-2-2b-generated.sparql +1 -0
  259. package/lib/statics/sparql-1-1/sparql-5-2-2b.json +187 -60
  260. package/lib/statics/sparql-1-1/sparql-5-2-2c-generated.sparql +1 -0
  261. package/lib/statics/sparql-1-1/sparql-5-2-2c.json +198 -65
  262. package/lib/statics/sparql-1-1/sparql-5-2-3a-generated.sparql +1 -0
  263. package/lib/statics/sparql-1-1/sparql-5-2-3a.json +151 -42
  264. package/lib/statics/sparql-1-1/sparql-5-2-3b-generated.sparql +1 -0
  265. package/lib/statics/sparql-1-1/sparql-5-2-3b.json +198 -65
  266. package/lib/statics/sparql-1-1/sparql-5-2-3c-generated.sparql +1 -0
  267. package/lib/statics/sparql-1-1/sparql-5-2-3c.json +170 -49
  268. package/lib/statics/sparql-1-1/sparql-5-2a-generated.sparql +1 -0
  269. package/lib/statics/sparql-1-1/sparql-5-2a.json +151 -42
  270. package/lib/statics/sparql-1-1/sparql-5-2b-generated.sparql +1 -0
  271. package/lib/statics/sparql-1-1/sparql-5-2b.json +181 -54
  272. package/lib/statics/sparql-1-1/sparql-6-1-generated.sparql +1 -0
  273. package/lib/statics/sparql-1-1/sparql-6-1.json +171 -50
  274. package/lib/statics/sparql-1-1/sparql-6-2-generated.sparql +1 -0
  275. package/lib/statics/sparql-1-1/sparql-6-2.json +235 -69
  276. package/lib/statics/sparql-1-1/sparql-6-3-generated.sparql +1 -0
  277. package/lib/statics/sparql-1-1/sparql-6-3.json +239 -75
  278. package/lib/statics/sparql-1-1/sparql-7a-generated.sparql +1 -0
  279. package/lib/statics/sparql-1-1/sparql-7a.json +203 -47
  280. package/lib/statics/sparql-1-1/sparql-7b-generated.sparql +1 -0
  281. package/lib/statics/sparql-1-1/sparql-7b.json +211 -49
  282. package/lib/statics/sparql-1-1/sparql-7c-generated.sparql +1 -0
  283. package/lib/statics/sparql-1-1/sparql-7c.json +289 -77
  284. package/lib/statics/sparql-1-1/sparql-8-1-1-generated.sparql +1 -0
  285. package/lib/statics/sparql-1-1/sparql-8-1-1.json +199 -49
  286. package/lib/statics/sparql-1-1/sparql-8-1-2-generated.sparql +1 -0
  287. package/lib/statics/sparql-1-1/sparql-8-1-2.json +199 -49
  288. package/lib/statics/sparql-1-1/sparql-8-2-generated.sparql +1 -0
  289. package/lib/statics/sparql-1-1/sparql-8-2.json +180 -53
  290. package/lib/statics/sparql-1-1/sparql-8-3-1a-generated.sparql +1 -0
  291. package/lib/statics/sparql-1-1/sparql-8-3-1a.json +156 -48
  292. package/lib/statics/sparql-1-1/sparql-8-3-1b-generated.sparql +1 -0
  293. package/lib/statics/sparql-1-1/sparql-8-3-1b.json +139 -46
  294. package/lib/statics/sparql-1-1/sparql-8-3-2a-generated.sparql +1 -0
  295. package/lib/statics/sparql-1-1/sparql-8-3-2a.json +177 -47
  296. package/lib/statics/sparql-1-1/sparql-8-3-2b-generated.sparql +1 -0
  297. package/lib/statics/sparql-1-1/sparql-8-3-2b.json +160 -45
  298. package/lib/statics/sparql-1-1/sparql-8-3-3a-generated.sparql +1 -0
  299. package/lib/statics/sparql-1-1/sparql-8-3-3a.json +198 -50
  300. package/lib/statics/sparql-1-1/sparql-8-3-3b-generated.sparql +1 -0
  301. package/lib/statics/sparql-1-1/sparql-8-3-3b.json +198 -60
  302. package/lib/statics/sparql-1-1/sparql-9-2a-generated.sparql +1 -0
  303. package/lib/statics/sparql-1-1/sparql-9-2a.json +162 -34
  304. package/lib/statics/sparql-1-1/sparql-9-2b-generated.sparql +1 -0
  305. package/lib/statics/sparql-1-1/sparql-9-2b.json +160 -34
  306. package/lib/statics/sparql-1-1/sparql-9-2c-generated.sparql +1 -0
  307. package/lib/statics/sparql-1-1/sparql-9-2c.json +159 -45
  308. package/lib/statics/sparql-1-1/sparql-9-2d-generated.sparql +1 -0
  309. package/lib/statics/sparql-1-1/sparql-9-2d.json +170 -49
  310. package/lib/statics/sparql-1-1/sparql-9-2e-generated.sparql +1 -0
  311. package/lib/statics/sparql-1-1/sparql-9-2e.json +243 -70
  312. package/lib/statics/sparql-1-1/sparql-9-2f-generated.sparql +1 -0
  313. package/lib/statics/sparql-1-1/sparql-9-2f.json +227 -68
  314. package/lib/statics/sparql-1-1/sparql-9-2g-generated.sparql +1 -0
  315. package/lib/statics/sparql-1-1/sparql-9-2g.json +246 -77
  316. package/lib/statics/sparql-1-1/sparql-9-2h-generated.sparql +1 -0
  317. package/lib/statics/sparql-1-1/sparql-9-2h.json +101 -24
  318. package/lib/statics/sparql-1-1/sparql-9-2i-generated.sparql +1 -0
  319. package/lib/statics/sparql-1-1/sparql-9-2i.json +111 -29
  320. package/lib/statics/sparql-1-1/sparql-9-2j-generated.sparql +1 -0
  321. package/lib/statics/sparql-1-1/sparql-9-2j.json +171 -53
  322. package/lib/statics/sparql-1-1/sparql-9-2k-generated.sparql +1 -0
  323. package/lib/statics/sparql-1-1/sparql-9-2k.json +177 -51
  324. package/lib/statics/sparql-1-1/sparql-9-2l-generated.sparql +1 -0
  325. package/lib/statics/sparql-1-1/sparql-9-2l.json +170 -51
  326. package/lib/statics/sparql-1-1/sparql-9-2m-generated.sparql +1 -0
  327. package/lib/statics/sparql-1-1/sparql-9-2m.json +151 -39
  328. package/lib/statics/sparql-1-1/sparql-9-2n-generated.sparql +1 -0
  329. package/lib/statics/sparql-1-1/sparql-9-2n.json +152 -39
  330. package/lib/statics/sparql-1-1/sparql-9-2o-generated.sparql +1 -0
  331. package/lib/statics/sparql-1-1/sparql-9-2o.json +152 -39
  332. package/lib/statics/sparql-1-1/sparql-9-2p-generated.sparql +1 -0
  333. package/lib/statics/sparql-1-1/sparql-9-2p.json +169 -43
  334. package/lib/statics/sparql-1-1/sparql-9-2q-generated.sparql +1 -0
  335. package/lib/statics/sparql-1-1/sparql-9-2q.json +143 -44
  336. package/lib/statics/sparql-1-1/sparql-9-2r-generated.sparql +1 -0
  337. package/lib/statics/sparql-1-1/sparql-9-2r.json +153 -39
  338. package/lib/statics/sparql-1-1/sparql-9-3a-generated.sparql +1 -0
  339. package/lib/statics/sparql-1-1/sparql-9-3a.json +121 -32
  340. package/lib/statics/sparql-1-1/sparql-9-3b-generated.sparql +1 -0
  341. package/lib/statics/sparql-1-1/sparql-9-3b.json +139 -37
  342. package/lib/statics/sparql-1-1/sparql-9-3c-generated.sparql +1 -0
  343. package/lib/statics/sparql-1-1/sparql-9-3c.json +154 -42
  344. package/lib/statics/sparql-1-1/sparql-9-4a-generated.sparql +1 -0
  345. package/lib/statics/sparql-1-1/sparql-9-4a.json +162 -42
  346. package/lib/statics/sparql-1-1/sparql-9-4b-generated.sparql +1 -0
  347. package/lib/statics/sparql-1-1/sparql-9-4b.json +134 -31
  348. package/lib/statics/sparql-1-1/sparql-fed-2-1-generated.sparql +1 -0
  349. package/lib/statics/sparql-1-1/sparql-fed-2-1.json +186 -58
  350. package/lib/statics/sparql-1-1/sparql-fed-2-2-generated.sparql +1 -0
  351. package/lib/statics/sparql-1-1/sparql-fed-2-2.json +269 -87
  352. package/lib/statics/sparql-1-1/sparql-fed-2-3-generated.sparql +1 -0
  353. package/lib/statics/sparql-1-1/sparql-fed-2-3.json +124 -34
  354. package/lib/statics/sparql-1-1/sparql-fed-2-4a-generated.sparql +1 -0
  355. package/lib/statics/sparql-1-1/sparql-fed-2-4a.json +172 -51
  356. package/lib/statics/sparql-1-1/sparql-fed-2-4b-generated.sparql +1 -0
  357. package/lib/statics/sparql-1-1/sparql-fed-2-4b.json +123 -26
  358. package/lib/statics/sparql-1-1/sparql-fed-2-4c-generated.sparql +1 -0
  359. package/lib/statics/sparql-1-1/sparql-fed-2-4c.json +154 -35
  360. package/lib/statics/sparql-1-1/sparql-fed-2-4d-generated.sparql +1 -0
  361. package/lib/statics/sparql-1-1/sparql-fed-2-4d.json +182 -55
  362. package/lib/statics/sparql-1-1/sparql-fed-4-generated.sparql +1 -0
  363. package/lib/statics/sparql-1-1/sparql-fed-4.json +292 -86
  364. package/lib/statics/sparql-1-1/sparql-modifiers-order-generated.sparql +1 -0
  365. package/lib/statics/sparql-1-1/sparql-modifiers-order.json +311 -90
  366. package/lib/statics/sparql-1-1/sparql-update-1-1-1-generated.sparql +1 -0
  367. package/lib/statics/sparql-1-1/sparql-update-1-1-1.json +100 -27
  368. package/lib/statics/sparql-1-1/sparql-update-3-1-1a-generated.sparql +1 -0
  369. package/lib/statics/sparql-1-1/sparql-update-3-1-1a.json +117 -43
  370. package/lib/statics/sparql-1-1/sparql-update-3-1-1b-generated.sparql +1 -0
  371. package/lib/statics/sparql-1-1/sparql-update-3-1-1b.json +128 -30
  372. package/lib/statics/sparql-1-1/sparql-update-3-1-2a-generated.sparql +1 -0
  373. package/lib/statics/sparql-1-1/sparql-update-3-1-2a.json +117 -43
  374. package/lib/statics/sparql-1-1/sparql-update-3-1-2b-generated.sparql +2 -0
  375. package/lib/statics/sparql-1-1/sparql-update-3-1-2b.json +176 -57
  376. package/lib/statics/sparql-1-1/sparql-update-3-1-3-1a-generated.sparql +1 -0
  377. package/lib/statics/sparql-1-1/sparql-update-3-1-3-1a.json +263 -76
  378. package/lib/statics/sparql-1-1/sparql-update-3-1-3-1b-generated.sparql +1 -0
  379. package/lib/statics/sparql-1-1/sparql-update-3-1-3-1b.json +191 -60
  380. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2a-generated.sparql +1 -0
  381. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2a.json +290 -77
  382. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2b-generated.sparql +1 -0
  383. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2b.json +283 -66
  384. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2c-generated.sparql +2 -0
  385. package/lib/statics/sparql-1-1/sparql-update-3-1-3-2c.json +567 -160
  386. package/lib/statics/sparql-1-1/sparql-update-3-1-3-3a-generated.sparql +1 -0
  387. package/lib/statics/sparql-1-1/sparql-update-3-1-3-3a.json +117 -38
  388. package/lib/statics/sparql-1-1/sparql-update-3-1-3-3b-generated.sparql +1 -0
  389. package/lib/statics/sparql-1-1/sparql-update-3-1-3-3b.json +199 -62
  390. package/lib/statics/sparql-1-1/sparql-update-3-1-3-generated.sparql +1 -0
  391. package/lib/statics/sparql-1-1/sparql-update-3-1-3.json +206 -77
  392. package/lib/statics/sparql-1-1/sparql-update-3-2-3-generated.sparql +1 -0
  393. package/lib/statics/sparql-1-1/sparql-update-3-2-3.json +42 -12
  394. package/lib/statics/sparql-1-1/sparql-update-3-2-4-generated.sparql +1 -0
  395. package/lib/statics/sparql-1-1/sparql-update-3-2-4.json +42 -12
  396. package/lib/statics/sparql-1-1/sparql-update-3-2-5-generated.sparql +1 -0
  397. package/lib/statics/sparql-1-1/sparql-update-3-2-5.json +42 -12
  398. package/lib/statics/sparql-1-1/sparql-update-4-2-4-generated.sparql +1 -0
  399. package/lib/statics/sparql-1-1/sparql-update-4-2-4.json +156 -49
  400. package/lib/statics/sparql-1-1/sparql-update-multiple-prefixes-generated.sparql +2 -0
  401. package/lib/statics/sparql-1-1/sparql-update-multiple-prefixes.json +160 -49
  402. package/lib/statics/sparql-1-1/sparql-update-only-prefix-generated.sparql +1 -0
  403. package/lib/statics/sparql-1-1/sparql-update-only-prefix.json +31 -2
  404. package/lib/statics/sparql-1-1/sparql-update-trailing-prologue-generated.sparql +2 -0
  405. package/lib/statics/sparql-1-1/sparql-update-trailing-prologue.json +84 -25
  406. package/lib/statics/sparql-1-1/sparql-update-trailing-semicolon-generated.sparql +1 -0
  407. package/lib/statics/sparql-1-1/sparql-update-trailing-semicolon.json +65 -25
  408. package/lib/statics/sparql-1-1/sparql-values-clause-generated.sparql +1 -0
  409. package/lib/statics/sparql-1-1/sparql-values-clause.json +331 -94
  410. package/lib/statics/sparql-1-1/strlen-generated.sparql +1 -0
  411. package/lib/statics/sparql-1-1/strlen.json +115 -32
  412. package/lib/statics/sparql-1-1/sub-values-generated.sparql +1 -0
  413. package/lib/statics/sparql-1-1/sub-values.json +182 -49
  414. package/lib/statics/sparql-1-1/subquery-generated.sparql +1 -0
  415. package/lib/statics/sparql-1-1/subquery.json +143 -44
  416. package/lib/statics/sparql-1-1/subtract-generated.sparql +1 -0
  417. package/lib/statics/sparql-1-1/subtract.json +91 -33
  418. package/lib/statics/sparql-1-1/sum-count-generated.sparql +1 -0
  419. package/lib/statics/sparql-1-1/sum-count.json +222 -56
  420. package/lib/statics/sparql-1-1/unicode-generated.sparql +1 -0
  421. package/lib/statics/sparql-1-1/unicode.json +81 -31
  422. package/lib/statics/sparql-1-1/union-complex-generated.sparql +1 -0
  423. package/lib/statics/sparql-1-1/union-complex.json +305 -80
  424. package/lib/statics/sparql-1-1/union-generated.sparql +1 -0
  425. package/lib/statics/sparql-1-1/union.json +242 -63
  426. package/lib/statics/sparql-1-1/using-generated.sparql +1 -0
  427. package/lib/statics/sparql-1-1/using.json +165 -55
  428. package/lib/statics/sparql-1-2/01-mine-sparql-1-2-generated.sparql +1 -0
  429. package/lib/statics/sparql-1-2/01-mine-sparql-1-2.json +178 -0
  430. package/lib/statics/sparql-1-2/01-mine-sparql-1-2.sparql +6 -0
  431. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-01-generated.sparql +1 -0
  432. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-01.json +152 -68
  433. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-02-generated.sparql +1 -0
  434. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-02.json +404 -151
  435. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-03-generated.sparql +1 -0
  436. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-03.json +224 -105
  437. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-04-generated.sparql +1 -0
  438. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-04.json +274 -141
  439. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-05-generated.sparql +1 -0
  440. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-05.json +227 -102
  441. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-06-generated.sparql +1 -0
  442. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-06.json +173 -83
  443. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-07-generated.sparql +1 -0
  444. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-07.json +220 -97
  445. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-08-generated.sparql +1 -0
  446. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-08.json +210 -84
  447. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-09-generated.sparql +1 -0
  448. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-09.json +242 -120
  449. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-01-generated.sparql +1 -0
  450. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-01.json +210 -118
  451. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-02-generated.sparql +1 -0
  452. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-02.json +266 -168
  453. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-03-generated.sparql +1 -0
  454. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-03.json +353 -217
  455. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-04-generated.sparql +1 -0
  456. package/lib/statics/sparql-1-2/sparql-1-2-annotation-anonreifier-multiple-04.json +462 -314
  457. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-01-generated.sparql +1 -0
  458. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-01.json +169 -68
  459. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-02-generated.sparql +1 -0
  460. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-02.json +424 -151
  461. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-03-generated.sparql +1 -0
  462. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-03.json +238 -105
  463. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-04-generated.sparql +1 -0
  464. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-04.json +291 -141
  465. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-05-generated.sparql +1 -0
  466. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-05.json +244 -102
  467. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-06-generated.sparql +1 -0
  468. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-06.json +188 -81
  469. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-07-generated.sparql +1 -0
  470. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-07.json +235 -95
  471. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-08-generated.sparql +1 -0
  472. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-08.json +227 -84
  473. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-09-generated.sparql +1 -0
  474. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-09.json +270 -120
  475. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-01-generated.sparql +1 -0
  476. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-01.json +106 -54
  477. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-02-generated.sparql +1 -0
  478. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-02.json +181 -104
  479. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-03-generated.sparql +1 -0
  480. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-03.json +244 -118
  481. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-04-generated.sparql +1 -0
  482. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-04.json +317 -168
  483. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-05-generated.sparql +1 -0
  484. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-05.json +311 -204
  485. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-06-generated.sparql +1 -0
  486. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-06.json +148 -92
  487. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-07-generated.sparql +1 -0
  488. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-07.json +294 -188
  489. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-08-generated.sparql +1 -0
  490. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-08.json +419 -215
  491. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-09-generated.sparql +1 -0
  492. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-09.json +561 -311
  493. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-10-generated.sparql +1 -0
  494. package/lib/statics/sparql-1-2/sparql-1-2-annotation-reifier-multiple-10.json +547 -381
  495. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-01-generated.sparql +1 -0
  496. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-01.json +154 -49
  497. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-02-generated.sparql +1 -0
  498. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-02.json +145 -55
  499. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-03-generated.sparql +1 -0
  500. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-03.json +149 -53
  501. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-04-generated.sparql +1 -0
  502. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-04.json +142 -54
  503. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-06-generated.sparql +1 -0
  504. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-06.json +146 -46
  505. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-07-generated.sparql +1 -0
  506. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-07.json +393 -175
  507. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-08-generated.sparql +1 -0
  508. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-08.json +118 -45
  509. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-09-generated.sparql +1 -0
  510. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-09.json +121 -45
  511. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-10-generated.sparql +1 -0
  512. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-10.json +170 -81
  513. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-11-generated.sparql +1 -0
  514. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-11.json +167 -69
  515. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-12-generated.sparql +1 -0
  516. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-12.json +173 -69
  517. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-13-generated.sparql +1 -0
  518. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-anonreifier-13.json +268 -138
  519. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-01-generated.sparql +1 -0
  520. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-01.json +158 -49
  521. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-02-generated.sparql +1 -0
  522. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-02.json +148 -55
  523. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-03-generated.sparql +1 -0
  524. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-03.json +151 -53
  525. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-04-generated.sparql +1 -0
  526. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-04.json +145 -54
  527. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-06-generated.sparql +1 -0
  528. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-06.json +150 -46
  529. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-07-generated.sparql +1 -0
  530. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-07.json +405 -175
  531. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-08-generated.sparql +1 -0
  532. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-08.json +121 -45
  533. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-09-generated.sparql +1 -0
  534. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-09.json +124 -45
  535. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-10-generated.sparql +1 -0
  536. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-10.json +176 -81
  537. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-11-generated.sparql +1 -0
  538. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-11.json +173 -69
  539. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-12-generated.sparql +1 -0
  540. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-12.json +179 -69
  541. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-13-generated.sparql +1 -0
  542. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-reifier-13.json +280 -138
  543. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-01-generated.sparql +1 -0
  544. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-01.json +128 -33
  545. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-02-generated.sparql +1 -0
  546. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-02.json +126 -38
  547. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-03-generated.sparql +1 -0
  548. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-03.json +123 -33
  549. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-04-generated.sparql +1 -0
  550. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-04.json +123 -33
  551. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-05-generated.sparql +1 -0
  552. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-05.json +300 -124
  553. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-06-generated.sparql +1 -0
  554. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-06.json +120 -27
  555. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-07-generated.sparql +1 -0
  556. package/lib/statics/sparql-1-2/sparql-1-2-syntax-basic-tripleterm-07.json +306 -96
  557. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-01-generated.sparql +1 -0
  558. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-01.json +160 -59
  559. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-02-generated.sparql +1 -0
  560. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-02.json +160 -59
  561. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-03-generated.sparql +1 -0
  562. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-anonreifier-03.json +152 -53
  563. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-01-generated.sparql +1 -0
  564. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-01.json +164 -59
  565. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-02-generated.sparql +1 -0
  566. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-02.json +162 -59
  567. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-03-generated.sparql +1 -0
  568. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-reifier-03.json +156 -53
  569. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-01-generated.sparql +1 -0
  570. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-01.json +134 -39
  571. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-02-generated.sparql +1 -0
  572. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-02.json +134 -39
  573. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-03-generated.sparql +1 -0
  574. package/lib/statics/sparql-1-2/sparql-1-2-syntax-bnode-tripleterm-03.json +126 -33
  575. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-all-generated.sparql +1 -0
  576. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-all.json +520 -284
  577. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-anonreifier-generated.sparql +1 -0
  578. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-anonreifier.json +534 -306
  579. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-reifier-generated.sparql +1 -0
  580. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-reifier.json +556 -306
  581. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-tripleterm-generated.sparql +1 -0
  582. package/lib/statics/sparql-1-2/sparql-1-2-syntax-compound-tripleterm.json +212 -65
  583. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-01-generated.sparql +1 -0
  584. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-01.json +151 -43
  585. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-03-generated.sparql +1 -0
  586. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-03.json +159 -47
  587. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-04-generated.sparql +1 -0
  588. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-04.json +170 -52
  589. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-05-generated.sparql +1 -0
  590. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-05.json +288 -99
  591. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-06-generated.sparql +1 -0
  592. package/lib/statics/sparql-1-2/sparql-1-2-syntax-expr-tripleterm-06.json +210 -59
  593. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-anonreifier-01-generated.sparql +1 -0
  594. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-anonreifier-01.json +192 -68
  595. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-anonreifier-02-generated.sparql +1 -0
  596. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-anonreifier-02.json +344 -152
  597. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-reifier-01-generated.sparql +1 -0
  598. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-reifier-01.json +195 -68
  599. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-reifier-02-generated.sparql +1 -0
  600. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-reifier-02.json +349 -152
  601. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-tripleterm-01-generated.sparql +1 -0
  602. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-tripleterm-01.json +173 -47
  603. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-tripleterm-02-generated.sparql +1 -0
  604. package/lib/statics/sparql-1-2/sparql-1-2-syntax-inside-tripleterm-02.json +306 -110
  605. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-anonreifier-01-generated.sparql +1 -0
  606. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-anonreifier-01.json +298 -134
  607. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-anonreifier-02-generated.sparql +1 -0
  608. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-anonreifier-02.json +284 -129
  609. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-reifier-01-generated.sparql +1 -0
  610. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-reifier-01.json +307 -134
  611. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-reifier-02-generated.sparql +1 -0
  612. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-reifier-02.json +292 -129
  613. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-tripleterm-01-generated.sparql +1 -0
  614. package/lib/statics/sparql-1-2/sparql-1-2-syntax-nested-tripleterm-01.json +215 -65
  615. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-01-generated.sparql +1 -0
  616. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-01.json +136 -48
  617. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-02-generated.sparql +1 -0
  618. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-02.json +138 -63
  619. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-03-generated.sparql +1 -0
  620. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-03.json +371 -199
  621. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-04-generated.sparql +1 -0
  622. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-04.json +469 -269
  623. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-05-generated.sparql +1 -0
  624. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-05.json +353 -201
  625. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-06-generated.sparql +1 -0
  626. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-anonreifier-06.json +222 -96
  627. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-01-generated.sparql +1 -0
  628. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-01.json +140 -48
  629. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-02-generated.sparql +1 -0
  630. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-02.json +155 -63
  631. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-03-generated.sparql +1 -0
  632. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-03.json +379 -199
  633. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-04-generated.sparql +1 -0
  634. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-04.json +479 -269
  635. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-05-generated.sparql +1 -0
  636. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-05.json +359 -201
  637. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-06-generated.sparql +1 -0
  638. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-06.json +239 -96
  639. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-07-generated.sparql +1 -0
  640. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-07.json +302 -147
  641. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-08-generated.sparql +2 -0
  642. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-reifier-08.json +284 -137
  643. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-01-generated.sparql +1 -0
  644. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-01.json +110 -29
  645. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-03-generated.sparql +1 -0
  646. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-03.json +306 -181
  647. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-04-generated.sparql +1 -0
  648. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-04.json +368 -213
  649. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-05-generated.sparql +1 -0
  650. package/lib/statics/sparql-1-2/sparql-1-2-syntax-update-tripleterm-05.json +303 -181
  651. package/package.json +13 -14
  652. package/lib/statics/paths/namedNode.json +0 -5
  653. package/lib/statics/paths/namedNodeSequence.json +0 -15
  654. package/lib/statics/sparql-1-1/sparql-16-1-2.json +0 -51
  655. package/lib/statics/sparql-1-1/sparql-16-2-2a.json +0 -67
  656. /package/lib/statics/paths/{namedNodeSequence.sparql → named-node-sequence.sparql} +0 -0
  657. /package/lib/statics/paths/{namedNode.sparql → named-node.sparql} +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # TRAQULA Test utils
1
+ # Traqula Test utils
2
2
 
3
- TRAQULA test utils contains some developer dependencies for testing packages and engines from the TRAQULA project.
3
+ Traqula test utils contains some developer dependencies for testing packages and engines from the Traqula project.
4
4
 
5
5
  ## Installation
6
6
 
@@ -12,4 +12,4 @@ or
12
12
 
13
13
  ```bash
14
14
  yarn add -D @traqula/test-utils.ts
15
- ```
15
+ ```
@@ -1,5 +1,5 @@
1
- import { DataFactory } from "rdf-data-factory";
2
- import { BaseQuad } from "@rdfjs/types";
1
+ import type { BaseQuad } from '@rdfjs/types';
2
+ import type { DataFactory } from 'rdf-data-factory';
3
3
  interface Parser {
4
4
  parse: (query: string, context?: {
5
5
  prefixes?: Record<string, string>;
@@ -1,8 +1,8 @@
1
- import { describe, it } from "vitest";
1
+ import { describe, it } from 'vitest';
2
2
  export function importSparql11NoteTests(parser, dataFactory) {
3
- function testErroneousQuery(query, errorMsg) {
3
+ function testErroneousQuery(query, _errorMsg) {
4
4
  return ({ expect }) => {
5
- let error = null;
5
+ let error;
6
6
  try {
7
7
  parser.parse(query);
8
8
  }
@@ -15,29 +15,31 @@ export function importSparql11NoteTests(parser, dataFactory) {
15
15
  };
16
16
  }
17
17
  it('should throw an error on an invalid query', testErroneousQuery('invalid', 'Parse error on line 1'));
18
- it('should throw an error on a projection of ungrouped variable', testErroneousQuery('PREFIX : <http://www.example.org/> SELECT ?o WHERE { ?s ?p ?o } GROUP BY ?s', 'Projection of ungrouped variable (?o)'));
18
+ it.skip('should throw an error on a projection of ungrouped variable', testErroneousQuery('PREFIX : <http://www.example.org/> SELECT ?o WHERE { ?s ?p ?o } GROUP BY ?s', 'Projection of ungrouped variable (?o)'));
19
19
  it('should throw an error on a values class with LESS variables than value', testErroneousQuery('SELECT * WHERE { } VALUES ( ?S ) { ( true false ) }', 'Number of dataBlockValues does not match number of variables. Too much values.'));
20
20
  it('should throw an error on a values class with MORE variables than value', testErroneousQuery('SELECT * WHERE { } VALUES ( ?S ?O ) { ( true ) }', 'Number of dataBlockValues does not match number of variables. Too few values.'));
21
21
  it('should NOT throw on a values class with correct amount of values', ({ expect }) => {
22
22
  const query = 'SELECT * WHERE { } VALUES ( ?S ) { ( true ) }';
23
23
  expect(parser.parse(query)).toMatchObject({});
24
24
  });
25
- it('should throw an error on an invalid selectscope', testErroneousQuery('SELECT (1 AS ?X ) { SELECT (2 AS ?X ) {} }', 'Target id of \'AS\' (?X) already used in subquery'));
26
- it('should throw an error on bind to variable in scope', testErroneousQuery('SELECT * { ?s ?p ?o BIND(?o AS ?o) }', 'Target id of \'AS\' (?X) already used in subquery'));
25
+ it.skip('should throw an error on an invalid selectscope', testErroneousQuery('SELECT (1 AS ?X ) { SELECT (2 AS ?X ) {} }', 'Target id of \'AS\' (?X) already used in subquery'));
26
+ it.skip('should throw an error on bind to variable in scope', testErroneousQuery('SELECT * { ?s ?p ?o BIND(?o AS ?o) }', 'Target id of \'AS\' (?X) already used in subquery'));
27
27
  it('should preserve BGP and filter pattern order', ({ expect }) => {
28
28
  const query = 'SELECT * { ?s ?p "1" . FILTER(true) . ?s ?p "2" }';
29
29
  expect(parser.parse(query)).toMatchObject({
30
- where: [
31
- { type: 'bgp' },
32
- { type: 'filter' },
33
- { type: 'bgp' },
34
- ],
30
+ where: {
31
+ patterns: [
32
+ { subType: 'bgp' },
33
+ { subType: 'filter' },
34
+ { subType: 'bgp' },
35
+ ],
36
+ },
35
37
  });
36
38
  });
37
39
  it('should throw an error on an aggregate function within an aggregate function', testErroneousQuery('SELECT (SUM(COUNT(?lprice)) AS ?totalPrice) { }', 'An aggregate function is not allowed within an aggregate function'));
38
40
  describe('with pre-defined prefixes', () => {
39
41
  const prefixes = { a: 'ex:abc#', b: 'ex:def#' };
40
- it('should use those prefixes', ({ expect }) => {
42
+ it.skip('should use those prefixes', ({ expect }) => {
41
43
  const query = 'SELECT * { a:a b:b "" }';
42
44
  expect(parser.parse(query, { prefixes })).toMatchObject({
43
45
  where: [
@@ -53,7 +55,7 @@ export function importSparql11NoteTests(parser, dataFactory) {
53
55
  ],
54
56
  });
55
57
  });
56
- it('should allow temporarily overriding prefixes', ({ expect }) => {
58
+ it.skip('should allow temporarily overriding prefixes', ({ expect }) => {
57
59
  const query = 'PREFIX a: <ex:xyz#> SELECT * { a:a b:b "" }';
58
60
  expect(parser.parse(query, { prefixes })).toMatchObject({
59
61
  where: [{
@@ -83,13 +85,13 @@ export function importSparql11NoteTests(parser, dataFactory) {
83
85
  });
84
86
  describe('with pre-defined base IRI', () => {
85
87
  const context = { baseIRI: 'http://ex.org/' };
86
- it('contains the base', ({ expect }) => {
88
+ it.skip('contains the base', ({ expect }) => {
87
89
  const query = 'SELECT * { ?s ?p ?o }';
88
90
  expect(parser.parse(query, context)).toMatchObject({
89
- base: 'http://ex.org/'
91
+ base: 'http://ex.org/',
90
92
  });
91
93
  });
92
- it('using prefixed as relative iri', ({ expect }) => {
94
+ it.skip('using prefixed as relative iri', ({ expect }) => {
93
95
  const context = { baseIRI: 'http://ex.org/apl' };
94
96
  const query = `
95
97
  CONSTRUCT
@@ -100,11 +102,11 @@ WHERE { ?s ?p ?o }
100
102
  from: {
101
103
  default: [
102
104
  dataFactory.namedNode('http://ex.org/data.ttl'),
103
- ]
104
- }
105
+ ],
106
+ },
105
107
  });
106
108
  });
107
- it('should use the base IRI', ({ expect }) => {
109
+ it.skip('should use the base IRI', ({ expect }) => {
108
110
  const query = 'SELECT * { <> <#b> "" }';
109
111
  const result = {
110
112
  subject: dataFactory.namedNode('http://ex.org/'),
@@ -115,7 +117,7 @@ WHERE { ?s ?p ?o }
115
117
  where: [{ triples: [result] }],
116
118
  });
117
119
  });
118
- it('should work after a previous query failed', ({ expect }) => {
120
+ it.skip('should work after a previous query failed', ({ expect }) => {
119
121
  const badQuery = 'SELECT * { <> <#b> "" } invalid!';
120
122
  expect(() => parser.parse(badQuery, context)).toThrow(Error);
121
123
  const goodQuery = 'SELECT * { <> <#b> "" }';
@@ -131,9 +133,9 @@ WHERE { ?s ?p ?o }
131
133
  });
132
134
  });
133
135
  });
134
- it('should throw an error on relative IRIs if no base IRI is specified', testErroneousQuery('SELECT * { <a> <b> <c> }', 'Cannot resolve relative IRI a because no base IRI was set.'));
136
+ it.skip('should throw an error on relative IRIs if no base IRI is specified', testErroneousQuery('SELECT * { <a> <b> <c> }', 'Cannot resolve relative IRI a because no base IRI was set.'));
135
137
  describe('with group collapsing disabled', () => {
136
- it('should keep explicit pattern group', ({ expect }) => {
138
+ it.skip('should keep explicit pattern group', ({ expect }) => {
137
139
  const query = 'SELECT * WHERE { { ?s ?p ?o } ?a ?b ?c }';
138
140
  const result = [
139
141
  {
@@ -164,7 +166,7 @@ WHERE { ?s ?p ?o }
164
166
  ];
165
167
  expect(parser.parse(query)).toMatchObject({ where: result });
166
168
  });
167
- it('should still collapse immediate union groups', ({ expect }) => {
169
+ it.skip('should still collapse immediate union groups', ({ expect }) => {
168
170
  const query = 'SELECT * WHERE { { ?s ?p ?o } UNION { ?a ?b ?c } }';
169
171
  const result = [
170
172
  {
@@ -224,8 +226,8 @@ WHERE { ?s ?p ?o }
224
226
  // Todo: add proper test
225
227
  expect(parser.parse(query)).toMatchObject({});
226
228
  });
227
- it('should throw an error on reused blank nodes across INSERT DATA clauses', testErroneousQuery('INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { _:a <ex:p> <ex:o> }', 'Detected reuse blank node across different INSERT DATA clauses'));
228
- it('should throw an error on reused blank nodes across INSERT DATA clauses with GRAPH', testErroneousQuery('INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { GRAPH <ex:g> { _:a <ex:p> <ex:o> } }', 'Detected reuse blank node across different INSERT DATA clauses'));
229
+ it.skip('should throw an error on reused blank nodes across INSERT DATA clauses', testErroneousQuery('INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { _:a <ex:p> <ex:o> }', 'Detected reuse blank node across different INSERT DATA clauses'));
230
+ it.skip('should throw an error on reused blank nodes across INSERT DATA clauses with GRAPH', testErroneousQuery('INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { GRAPH <ex:g> { _:a <ex:p> <ex:o> } }', 'Detected reuse blank node across different INSERT DATA clauses'));
229
231
  it('should not throw on comment between INSERT and DATA', ({ expect }) => {
230
232
  const query = `INSERT
231
233
  # Comment
@@ -1 +1 @@
1
- {"version":3,"file":"Sparql11NotesTest.js","sourceRoot":"","sources":["Sparql11NotesTest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,EAAE,EAAC,MAAM,QAAQ,CAAC;AASpC,MAAM,UAAU,uBAAuB,CAAC,MAAc,EAAE,WAAkC;IACxF,SAAS,kBAAkB,CAAC,KAAa,EAAE,QAAgB;QACzD,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACpB,IAAI,KAAK,GAAQ,IAAI,CAAC;YACtB,IAAI,CAAC;gBACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,KAAK,GAAG,CAAC,CAAC;YACZ,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YACpC,6CAA6C;QAC/C,CAAC,CAAC;IACJ,CAAC;IAGD,EAAE,CAAC,2CAA2C,EAAE,kBAAkB,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC,CAAC;IAExG,EAAE,CAAC,6DAA6D,EAAE,kBAAkB,CAClF,6EAA6E,EAC7E,uCAAuC,CACxC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,kBAAkB,CAC7F,sDAAsD,EACtD,gFAAgF,CACjF,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,kBAAkB,CAC7F,kDAAkD,EAClD,+EAA+E,CAChF,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACpF,MAAM,KAAK,GAAG,+CAA+C,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,kBAAkB,CACtE,4CAA4C,EAC5C,mDAAmD,CACpD,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,kBAAkB,CACzE,sCAAsC,EACtC,mDAAmD,CACpD,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QAChE,MAAM,KAAK,GAAG,oDAAoD,CAAC;QACnE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC;YACxC,KAAK,EAAE;gBACL,EAAE,IAAI,EAAE,KAAK,EAAE;gBACf,EAAE,IAAI,EAAE,QAAQ,EAAE;gBAClB,EAAE,IAAI,EAAE,KAAK,EAAE;aAChB;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,kBAAkB,CAClG,iDAAiD,EACjD,mEAAmE,CACpE,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;QAEhD,EAAE,CAAC,2BAA2B,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7C,MAAM,KAAK,GAAG,yBAAyB,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;gBACtD,KAAK,EAAE;oBACL;wBACE,OAAO,EAAE;4BACP;gCACE,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;gCAC1C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;gCAC5C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;6BAChC;yBACF;qBACF;iBACF;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAChE,MAAM,KAAK,GAAG,6CAA6C,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;gBACtD,KAAK,EAAE,CAAC;wBACN,OAAO,EAAE,CAAC;gCACR,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;gCAC1C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;gCAC5C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;6BAChC,CAAC;qBACH;iBACA;aACF,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,yBAAyB,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;gBACvD,KAAK,EAAE,CAAC;wBACN,OAAO,EAAE,CAAC;gCACR,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;gCAC1C,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC;gCAC5C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;6BAChC,CAAC;qBACH;iBACA;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAC3D,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACzC,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAE9C,EAAE,CAAC,mBAAmB,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE;YACnC,MAAM,KAAK,GAAG,uBAAuB,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;gBACjD,IAAI,EAAE,gBAAgB;aACvB,CAAC,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,gCAAgC,EAAE,CAAC,EAAC,MAAM,EAAC,EAAE,EAAE;YAChD,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG;;;;CAInB,CAAC;YACI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;gBACjD,IAAI,EAAE;oBACJ,OAAO,EAAE;wBACP,WAAW,CAAC,SAAS,CAAC,wBAAwB,CAAC;qBAChD;iBACF;aACF,CAAC,CAAA;QAEJ,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,yBAAyB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,yBAAyB,CAAC;YACxC,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC;gBAChD,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,kBAAkB,CAAC;gBACpD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;aAChC,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;gBACjD,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAE,MAAM,CAAE,EAAC,CAAC;aAChC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7D,MAAM,QAAQ,GAAG,kCAAkC,CAAC;YACpD,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAE7D,MAAM,SAAS,GAAG,yBAAyB,CAAC;YAE5C,MAAM,OAAO,GAAG,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;YAC/C,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,iBAAiB,CAAC;gBACjD,SAAS,EAAE,WAAW,CAAC,SAAS,CAAC,mBAAmB,CAAC;gBACrD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;aAChC,CAAC;YACF,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;gBACzB,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAE,MAAM,CAAE,EAAC,CAAC;aAChC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,kBAAkB,CACzF,0BAA0B,EAC1B,4DAA4D,CAC7D,CAAC,CAAC;IAEH,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;QAC9C,EAAE,CAAC,oCAAoC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACtD,MAAM,KAAK,GAAG,0CAA0C,CAAC;YACzD,MAAM,MAAM,GAAG;gBACb;oBACE,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,KAAK;4BACX,OAAO,EAAE;gCACP;oCACE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;oCAClC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;oCACpC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;iCAClC;6BACF;yBACF;qBACF;iBACF;gBACD;oBACE,IAAI,EAAE,KAAK;oBACX,OAAO,EAAE;wBACP;4BACE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;4BAClC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;4BACpC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC;yBAClC;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAChE,MAAM,KAAK,GAAG,oDAAoD,CAAC;YAEnE,MAAM,MAAM,GAAG;gBACb;oBACE,IAAI,EAAE,OAAO;oBACb,QAAQ,EAAE,CAAC;4BACT,IAAI,EAAE,KAAK;4BACX,OAAO,EAAE,CAAC;oCACR,OAAO,EAAE;wCACP,QAAQ,EAAE,UAAU;wCACpB,KAAK,EAAE,GAAG;qCACX;oCACD,SAAS,EAAE;wCACT,QAAQ,EAAE,UAAU;wCACpB,KAAK,EAAE,GAAG;qCACX;oCACD,MAAM,EAAE;wCACN,QAAQ,EAAE,UAAU;wCACpB,KAAK,EAAE,GAAG;qCACX;iCACF,CAAC;yBACH,EAAE;4BACD,IAAI,EAAE,KAAK;4BACX,OAAO,EAAE,CAAC;oCACR,OAAO,EAAE;wCACP,QAAQ,EAAE,UAAU;wCACpB,KAAK,EAAE,GAAG;qCACX;oCACD,SAAS,EAAE;wCACT,QAAQ,EAAE,UAAU;wCACpB,KAAK,EAAE,GAAG;qCACX;oCACD,MAAM,EAAE;wCACN,QAAQ,EAAE,UAAU;wCACpB,KAAK,EAAE,GAAG;qCACX;iCACF,CAAC;yBACH,CAAC;iBACH;aACF,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,uDAAuD,EAAE,kBAAkB,CAC5E,gEAAgE,EAChE,oCAAoC,CACrC,CAAC,CAAC;QAEH,EAAE,CAAC,kDAAkD,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACpE,MAAM,KAAK,GAAG,gEAAgE,CAAC;YAC/E,wBAAwB;YACxB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+DAA+D,EAAE,kBAAkB,CACpF,oCAAoC,EACpC,oCAAoC,CACrC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,kBAAkB,CAC/E,kCAAkC,EAClC,kCAAkC,CACnC,CAAC,CAAC;QAEH,EAAE,CAAC,4DAA4D,EAAE,kBAAkB,CACjF,mCAAmC,EACnC,oCAAoC,CACrC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,kBAAkB,CAC1F,mDAAmD,EACnD,oCAAoC,CACrC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,kBAAkB,CAC/E,kCAAkC,EAClC,kCAAkC,CACnC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACpF,MAAM,KAAK,GAAG,yDAAyD,CAAC;YACxE,wBAAwB;YACxB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wEAAwE,EAAE,kBAAkB,CAC7F,sEAAsE,EACtE,gEAAgE,CACjE,CAAC,CAAC;QAEH,EAAE,CAAC,mFAAmF,EAAE,kBAAkB,CACxG,uFAAuF,EACvF,gEAAgE,CACjE,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACvE,MAAM,KAAK,GAAG;;yDAEqC,CAAC;YACpD,wBAAwB;YACxB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2EAA2E,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YAC7F,MAAM,KAAK,GAAG;yDACqC,CAAC;YACpD,wBAAwB;YACxB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,kBAAkB,CAC3E,yEAAyE,EACzE,aAAa,CACd,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4FAA4F,EAAE,kBAAkB,CACjH,yCAAyC,EACzC,6EAA6E,CAC9E,CAAC,CAAC;IAEH,EAAE,CACA,iGAAiG,EACjG,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACb,MAAM,KAAK,GAAG,+CAA+C,CAAC;QAC9D,wBAAwB;QACxB,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CACF,CAAC;AACJ,CAAC","sourcesContent":["import {describe, it} from \"vitest\";\nimport type {TestFunction} from \"vitest\";\nimport {DataFactory} from \"rdf-data-factory\";\nimport {BaseQuad} from \"@rdfjs/types\";\n\ninterface Parser {\n parse: (query: string, context?: {prefixes?: Record<string, string>, baseIRI?: string}) => unknown;\n}\n\nexport function importSparql11NoteTests(parser: Parser, dataFactory: DataFactory<BaseQuad>) {\n function testErroneousQuery(query: string, errorMsg: string): TestFunction<object> {\n return ({ expect }) => {\n let error: any = null;\n try {\n parser.parse(query);\n } catch (e) {\n error = e;\n }\n expect(error).not.toBeUndefined();\n expect(error).toBeInstanceOf(Error);\n // Expect(error.message).toContain(errorMsg);\n };\n }\n\n\n it('should throw an error on an invalid query', testErroneousQuery('invalid', 'Parse error on line 1'));\n\n it('should throw an error on a projection of ungrouped variable', testErroneousQuery(\n 'PREFIX : <http://www.example.org/> SELECT ?o WHERE { ?s ?p ?o } GROUP BY ?s',\n 'Projection of ungrouped variable (?o)',\n ));\n\n it('should throw an error on a values class with LESS variables than value', testErroneousQuery(\n 'SELECT * WHERE { } VALUES ( ?S ) { ( true false ) }',\n 'Number of dataBlockValues does not match number of variables. Too much values.',\n ));\n\n it('should throw an error on a values class with MORE variables than value', testErroneousQuery(\n 'SELECT * WHERE { } VALUES ( ?S ?O ) { ( true ) }',\n 'Number of dataBlockValues does not match number of variables. Too few values.',\n ));\n\n it('should NOT throw on a values class with correct amount of values', ({ expect }) => {\n const query = 'SELECT * WHERE { } VALUES ( ?S ) { ( true ) }';\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on an invalid selectscope', testErroneousQuery(\n 'SELECT (1 AS ?X ) { SELECT (2 AS ?X ) {} }',\n 'Target id of \\'AS\\' (?X) already used in subquery',\n ));\n\n it('should throw an error on bind to variable in scope', testErroneousQuery(\n 'SELECT * { ?s ?p ?o BIND(?o AS ?o) }',\n 'Target id of \\'AS\\' (?X) already used in subquery',\n ));\n\n it('should preserve BGP and filter pattern order', ({ expect }) => {\n const query = 'SELECT * { ?s ?p \"1\" . FILTER(true) . ?s ?p \"2\" }';\n expect(parser.parse(query)).toMatchObject({\n where: [\n { type: 'bgp' },\n { type: 'filter' },\n { type: 'bgp' },\n ],\n });\n });\n\n it('should throw an error on an aggregate function within an aggregate function', testErroneousQuery(\n 'SELECT (SUM(COUNT(?lprice)) AS ?totalPrice) { }',\n 'An aggregate function is not allowed within an aggregate function',\n ));\n\n describe('with pre-defined prefixes', () => {\n const prefixes = { a: 'ex:abc#', b: 'ex:def#' };\n\n it('should use those prefixes', ({ expect }) => {\n const query = 'SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query, { prefixes })).toMatchObject({\n where: [\n {\n triples: [\n {\n subject: dataFactory.namedNode('ex:abc#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n },\n ],\n },\n ],\n });\n });\n\n it('should allow temporarily overriding prefixes', ({ expect }) => {\n const query = 'PREFIX a: <ex:xyz#> SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query, { prefixes })).toMatchObject({\n where: [{\n triples: [{\n subject: dataFactory.namedNode('ex:xyz#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n }],\n },\n ],\n });\n\n const query2 = 'SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query2, { prefixes })).toMatchObject({\n where: [{\n triples: [{\n subject: dataFactory.namedNode('ex:abc#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n }],\n },\n ],\n });\n });\n\n it('should not change the original prefixes', ({ expect }) => {\n expect(prefixes).toEqual({ a: 'ex:abc#', b: 'ex:def#' });\n });\n });\n\n describe('with pre-defined base IRI', () => {\n const context = { baseIRI: 'http://ex.org/' };\n\n it('contains the base', ({expect}) => {\n const query = 'SELECT * { ?s ?p ?o }';\n expect(parser.parse(query, context)).toMatchObject({\n base: 'http://ex.org/'\n });\n })\n\n it('using prefixed as relative iri', ({expect}) => {\n const context = { baseIRI: 'http://ex.org/apl' };\n const query = `\nCONSTRUCT\nFROM <data.ttl>\nWHERE { ?s ?p ?o }\n`;\n expect(parser.parse(query, context)).toMatchObject({\n from: {\n default: [\n dataFactory.namedNode('http://ex.org/data.ttl'),\n ]\n }\n })\n\n })\n\n it('should use the base IRI', ({ expect }) => {\n const query = 'SELECT * { <> <#b> \"\" }';\n const result = {\n subject: dataFactory.namedNode('http://ex.org/'),\n predicate: dataFactory.namedNode('http://ex.org/#b'),\n object: dataFactory.literal(''),\n };\n\n expect(parser.parse(query, context)).toMatchObject({\n where: [{ triples: [ result ]}],\n });\n });\n\n it('should work after a previous query failed', ({ expect }) => {\n const badQuery = 'SELECT * { <> <#b> \"\" } invalid!';\n expect(() => parser.parse(badQuery, context)).toThrow(Error);\n\n const goodQuery = 'SELECT * { <> <#b> \"\" }';\n\n const context = { baseIRI: 'http://ex2.org/' };\n const result = {\n subject: dataFactory.namedNode('http://ex2.org/'),\n predicate: dataFactory.namedNode('http://ex2.org/#b'),\n object: dataFactory.literal(''),\n };\n const data = parser.parse(goodQuery, context);\n expect(data).toMatchObject({\n where: [{ triples: [ result ]}],\n });\n });\n });\n\n it('should throw an error on relative IRIs if no base IRI is specified', testErroneousQuery(\n 'SELECT * { <a> <b> <c> }',\n 'Cannot resolve relative IRI a because no base IRI was set.',\n ));\n\n describe('with group collapsing disabled', () => {\n it('should keep explicit pattern group', ({ expect }) => {\n const query = 'SELECT * WHERE { { ?s ?p ?o } ?a ?b ?c }';\n const result = [\n {\n type: 'group',\n patterns: [\n {\n type: 'bgp',\n triples: [\n {\n subject: dataFactory.variable('s'),\n predicate: dataFactory.variable('p'),\n object: dataFactory.variable('o'),\n },\n ],\n },\n ],\n },\n {\n type: 'bgp',\n triples: [\n {\n subject: dataFactory.variable('a'),\n predicate: dataFactory.variable('b'),\n object: dataFactory.variable('c'),\n },\n ],\n },\n ];\n\n expect(parser.parse(query)).toMatchObject({ where: result });\n });\n\n it('should still collapse immediate union groups', ({ expect }) => {\n const query = 'SELECT * WHERE { { ?s ?p ?o } UNION { ?a ?b ?c } }';\n\n const result = [\n {\n type: 'union',\n patterns: [{\n type: 'bgp',\n triples: [{\n subject: {\n termType: 'Variable',\n value: 's',\n },\n predicate: {\n termType: 'Variable',\n value: 'p',\n },\n object: {\n termType: 'Variable',\n value: 'o',\n },\n }],\n }, {\n type: 'bgp',\n triples: [{\n subject: {\n termType: 'Variable',\n value: 'a',\n },\n predicate: {\n termType: 'Variable',\n value: 'b',\n },\n object: {\n termType: 'Variable',\n value: 'c',\n },\n }],\n }],\n },\n ];\n\n expect(parser.parse(query)).toMatchObject({ where: result });\n });\n });\n\n describe('for update queries', () => {\n it('should throw an error on blank nodes in DELETE clause', testErroneousQuery(\n 'DELETE { ?a <ex:knows> [] . } WHERE { ?a <ex:knows> \"Alan\" . }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should not throw on blank nodes in INSERT clause', ({ expect }) => {\n const query = 'INSERT { ?a <ex:knows> [] . } WHERE { ?a <ex:knows> \"Alan\" . }';\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on blank nodes in compact DELETE clause', testErroneousQuery(\n 'DELETE WHERE { _:a <ex:p> <ex:o> }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should throw an error on variables in DELETE DATA clause', testErroneousQuery(\n 'DELETE DATA { ?a <ex:p> <ex:o> }',\n 'Detected illegal variable in BGP',\n ));\n\n it('should throw an error on blank nodes in DELETE DATA clause', testErroneousQuery(\n 'DELETE DATA { _:a <ex:p> <ex:o> }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should throw an error on variables in DELETE DATA clause with GRAPH', testErroneousQuery(\n 'DELETE DATA { GRAPH ?a { <ex:s> <ex:p> <ex:o> } }',\n 'Detected illegal variable in GRAPH',\n ));\n\n it('should throw an error on variables in INSERT DATA clause', testErroneousQuery(\n 'INSERT DATA { ?a <ex:p> <ex:o> }',\n 'Detected illegal variable in BGP',\n ));\n\n it('should not throw on reused blank nodes in one INSERT DATA clause', ({ expect }) => {\n const query = 'INSERT DATA { _:a <ex:p> <ex:o> . _:a <ex:p> <ex:o> . }';\n // Todo: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on reused blank nodes across INSERT DATA clauses', testErroneousQuery(\n 'INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { _:a <ex:p> <ex:o> }',\n 'Detected reuse blank node across different INSERT DATA clauses',\n ));\n\n it('should throw an error on reused blank nodes across INSERT DATA clauses with GRAPH', testErroneousQuery(\n 'INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { GRAPH <ex:g> { _:a <ex:p> <ex:o> } }',\n 'Detected reuse blank node across different INSERT DATA clauses',\n ));\n\n it('should not throw on comment between INSERT and DATA', ({ expect }) => {\n const query = `INSERT\n# Comment\nDATA { GRAPH <ex:G> { <ex:s> <ex:p> 'o1', 'o2', 'o3' } }`;\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should not throw on comment after INSERT that could be confused with DATA', ({ expect }) => {\n const query = `INSERT # DATA\nDATA { GRAPH <ex:G> { <ex:s> <ex:p> 'o1', 'o2', 'o3' } }`;\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on commented DATA after INSERT', testErroneousQuery(\n 'INSERT # DATA { GRAPH <ex:G> { <ex:s> <ex:p> \\'o1\\', \\'o2\\', \\'o3\\' } }',\n 'Parse error',\n ));\n });\n\n it('should throw an error on unicode codepoint escaping in literal with partial surrogate pair', testErroneousQuery(\n 'SELECT * WHERE { ?s <ex:p> \\'\\uD800\\' }',\n 'Invalid unicode codepoint of surrogate pair without corresponding codepoint',\n ));\n\n it(\n 'should not throw an error on unicode codepoint escaping in literal with complete surrogate pair',\n ({ expect }) => {\n const query = 'SELECT * WHERE { ?s <ex:p> \\'\\uD800\\uDFFF\\' }';\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n },\n );\n}"]}
1
+ {"version":3,"file":"Sparql11NotesTest.js","sourceRoot":"","sources":["Sparql11NotesTest.ts"],"names":[],"mappings":"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","sourcesContent":["import type { BaseQuad } from '@rdfjs/types';\nimport type { DataFactory } from 'rdf-data-factory';\nimport { describe, it } from 'vitest';\nimport type { TestFunction } from 'vitest';\n\ninterface Parser {\n parse: (query: string, context?: { prefixes?: Record<string, string>; baseIRI?: string }) => unknown;\n}\n\nexport function importSparql11NoteTests(parser: Parser, dataFactory: DataFactory<BaseQuad>): void {\n function testErroneousQuery(query: string, _errorMsg: string): TestFunction<object> {\n return ({ expect }) => {\n let error: any;\n try {\n parser.parse(query);\n } catch (e) {\n error = e;\n }\n expect(error).not.toBeUndefined();\n expect(error).toBeInstanceOf(Error);\n // Expect(error.message).toContain(errorMsg);\n };\n }\n\n it('should throw an error on an invalid query', testErroneousQuery('invalid', 'Parse error on line 1'));\n\n it.skip('should throw an error on a projection of ungrouped variable', testErroneousQuery(\n 'PREFIX : <http://www.example.org/> SELECT ?o WHERE { ?s ?p ?o } GROUP BY ?s',\n 'Projection of ungrouped variable (?o)',\n ));\n\n it('should throw an error on a values class with LESS variables than value', testErroneousQuery(\n 'SELECT * WHERE { } VALUES ( ?S ) { ( true false ) }',\n 'Number of dataBlockValues does not match number of variables. Too much values.',\n ));\n\n it('should throw an error on a values class with MORE variables than value', testErroneousQuery(\n 'SELECT * WHERE { } VALUES ( ?S ?O ) { ( true ) }',\n 'Number of dataBlockValues does not match number of variables. Too few values.',\n ));\n\n it('should NOT throw on a values class with correct amount of values', ({ expect }) => {\n const query = 'SELECT * WHERE { } VALUES ( ?S ) { ( true ) }';\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it.skip('should throw an error on an invalid selectscope', testErroneousQuery(\n 'SELECT (1 AS ?X ) { SELECT (2 AS ?X ) {} }',\n 'Target id of \\'AS\\' (?X) already used in subquery',\n ));\n\n it.skip('should throw an error on bind to variable in scope', testErroneousQuery(\n 'SELECT * { ?s ?p ?o BIND(?o AS ?o) }',\n 'Target id of \\'AS\\' (?X) already used in subquery',\n ));\n\n it('should preserve BGP and filter pattern order', ({ expect }) => {\n const query = 'SELECT * { ?s ?p \"1\" . FILTER(true) . ?s ?p \"2\" }';\n expect(parser.parse(query)).toMatchObject({\n where: {\n patterns: [\n { subType: 'bgp' },\n { subType: 'filter' },\n { subType: 'bgp' },\n ],\n },\n });\n });\n\n it('should throw an error on an aggregate function within an aggregate function', testErroneousQuery(\n 'SELECT (SUM(COUNT(?lprice)) AS ?totalPrice) { }',\n 'An aggregate function is not allowed within an aggregate function',\n ));\n\n describe('with pre-defined prefixes', () => {\n const prefixes = { a: 'ex:abc#', b: 'ex:def#' };\n\n it.skip('should use those prefixes', ({ expect }) => {\n const query = 'SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query, { prefixes })).toMatchObject({\n where: [\n {\n triples: [\n {\n subject: dataFactory.namedNode('ex:abc#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n },\n ],\n },\n ],\n });\n });\n\n it.skip('should allow temporarily overriding prefixes', ({ expect }) => {\n const query = 'PREFIX a: <ex:xyz#> SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query, { prefixes })).toMatchObject({\n where: [{\n triples: [{\n subject: dataFactory.namedNode('ex:xyz#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n }],\n },\n ],\n });\n\n const query2 = 'SELECT * { a:a b:b \"\" }';\n expect(parser.parse(query2, { prefixes })).toMatchObject({\n where: [{\n triples: [{\n subject: dataFactory.namedNode('ex:abc#a'),\n predicate: dataFactory.namedNode('ex:def#b'),\n object: dataFactory.literal(''),\n }],\n },\n ],\n });\n });\n\n it('should not change the original prefixes', ({ expect }) => {\n expect(prefixes).toEqual({ a: 'ex:abc#', b: 'ex:def#' });\n });\n });\n\n describe('with pre-defined base IRI', () => {\n const context = { baseIRI: 'http://ex.org/' };\n\n it.skip('contains the base', ({ expect }) => {\n const query = 'SELECT * { ?s ?p ?o }';\n expect(parser.parse(query, context)).toMatchObject({\n base: 'http://ex.org/',\n });\n });\n\n it.skip('using prefixed as relative iri', ({ expect }) => {\n const context = { baseIRI: 'http://ex.org/apl' };\n const query = `\nCONSTRUCT\nFROM <data.ttl>\nWHERE { ?s ?p ?o }\n`;\n expect(parser.parse(query, context)).toMatchObject({\n from: {\n default: [\n dataFactory.namedNode('http://ex.org/data.ttl'),\n ],\n },\n });\n });\n\n it.skip('should use the base IRI', ({ expect }) => {\n const query = 'SELECT * { <> <#b> \"\" }';\n const result = {\n subject: dataFactory.namedNode('http://ex.org/'),\n predicate: dataFactory.namedNode('http://ex.org/#b'),\n object: dataFactory.literal(''),\n };\n\n expect(parser.parse(query, context)).toMatchObject({\n where: [{ triples: [ result ]}],\n });\n });\n\n it.skip('should work after a previous query failed', ({ expect }) => {\n const badQuery = 'SELECT * { <> <#b> \"\" } invalid!';\n expect(() => parser.parse(badQuery, context)).toThrow(Error);\n\n const goodQuery = 'SELECT * { <> <#b> \"\" }';\n\n const context = { baseIRI: 'http://ex2.org/' };\n const result = {\n subject: dataFactory.namedNode('http://ex2.org/'),\n predicate: dataFactory.namedNode('http://ex2.org/#b'),\n object: dataFactory.literal(''),\n };\n const data = parser.parse(goodQuery, context);\n expect(data).toMatchObject({\n where: [{ triples: [ result ]}],\n });\n });\n });\n\n it.skip('should throw an error on relative IRIs if no base IRI is specified', testErroneousQuery(\n 'SELECT * { <a> <b> <c> }',\n 'Cannot resolve relative IRI a because no base IRI was set.',\n ));\n\n describe('with group collapsing disabled', () => {\n it.skip('should keep explicit pattern group', ({ expect }) => {\n const query = 'SELECT * WHERE { { ?s ?p ?o } ?a ?b ?c }';\n const result = [\n {\n type: 'group',\n patterns: [\n {\n type: 'bgp',\n triples: [\n {\n subject: dataFactory.variable('s'),\n predicate: dataFactory.variable('p'),\n object: dataFactory.variable('o'),\n },\n ],\n },\n ],\n },\n {\n type: 'bgp',\n triples: [\n {\n subject: dataFactory.variable('a'),\n predicate: dataFactory.variable('b'),\n object: dataFactory.variable('c'),\n },\n ],\n },\n ];\n\n expect(parser.parse(query)).toMatchObject({ where: result });\n });\n\n it.skip('should still collapse immediate union groups', ({ expect }) => {\n const query = 'SELECT * WHERE { { ?s ?p ?o } UNION { ?a ?b ?c } }';\n\n const result = [\n {\n type: 'union',\n patterns: [{\n type: 'bgp',\n triples: [{\n subject: {\n termType: 'Variable',\n value: 's',\n },\n predicate: {\n termType: 'Variable',\n value: 'p',\n },\n object: {\n termType: 'Variable',\n value: 'o',\n },\n }],\n }, {\n type: 'bgp',\n triples: [{\n subject: {\n termType: 'Variable',\n value: 'a',\n },\n predicate: {\n termType: 'Variable',\n value: 'b',\n },\n object: {\n termType: 'Variable',\n value: 'c',\n },\n }],\n }],\n },\n ];\n\n expect(parser.parse(query)).toMatchObject({ where: result });\n });\n });\n\n describe('for update queries', () => {\n it('should throw an error on blank nodes in DELETE clause', testErroneousQuery(\n 'DELETE { ?a <ex:knows> [] . } WHERE { ?a <ex:knows> \"Alan\" . }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should not throw on blank nodes in INSERT clause', ({ expect }) => {\n const query = 'INSERT { ?a <ex:knows> [] . } WHERE { ?a <ex:knows> \"Alan\" . }';\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on blank nodes in compact DELETE clause', testErroneousQuery(\n 'DELETE WHERE { _:a <ex:p> <ex:o> }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should throw an error on variables in DELETE DATA clause', testErroneousQuery(\n 'DELETE DATA { ?a <ex:p> <ex:o> }',\n 'Detected illegal variable in BGP',\n ));\n\n it('should throw an error on blank nodes in DELETE DATA clause', testErroneousQuery(\n 'DELETE DATA { _:a <ex:p> <ex:o> }',\n 'Detected illegal blank node in BGP',\n ));\n\n it('should throw an error on variables in DELETE DATA clause with GRAPH', testErroneousQuery(\n 'DELETE DATA { GRAPH ?a { <ex:s> <ex:p> <ex:o> } }',\n 'Detected illegal variable in GRAPH',\n ));\n\n it('should throw an error on variables in INSERT DATA clause', testErroneousQuery(\n 'INSERT DATA { ?a <ex:p> <ex:o> }',\n 'Detected illegal variable in BGP',\n ));\n\n it('should not throw on reused blank nodes in one INSERT DATA clause', ({ expect }) => {\n const query = 'INSERT DATA { _:a <ex:p> <ex:o> . _:a <ex:p> <ex:o> . }';\n // Todo: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it.skip('should throw an error on reused blank nodes across INSERT DATA clauses', testErroneousQuery(\n 'INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { _:a <ex:p> <ex:o> }',\n 'Detected reuse blank node across different INSERT DATA clauses',\n ));\n\n it.skip('should throw an error on reused blank nodes across INSERT DATA clauses with GRAPH', testErroneousQuery(\n 'INSERT DATA { _:a <ex:p> <ex:o> }; INSERT DATA { GRAPH <ex:g> { _:a <ex:p> <ex:o> } }',\n 'Detected reuse blank node across different INSERT DATA clauses',\n ));\n\n it('should not throw on comment between INSERT and DATA', ({ expect }) => {\n const query = `INSERT\n# Comment\nDATA { GRAPH <ex:G> { <ex:s> <ex:p> 'o1', 'o2', 'o3' } }`;\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should not throw on comment after INSERT that could be confused with DATA', ({ expect }) => {\n const query = `INSERT # DATA\nDATA { GRAPH <ex:G> { <ex:s> <ex:p> 'o1', 'o2', 'o3' } }`;\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n });\n\n it('should throw an error on commented DATA after INSERT', testErroneousQuery(\n 'INSERT # DATA { GRAPH <ex:G> { <ex:s> <ex:p> \\'o1\\', \\'o2\\', \\'o3\\' } }',\n 'Parse error',\n ));\n });\n\n it('should throw an error on unicode codepoint escaping in literal with partial surrogate pair', testErroneousQuery(\n 'SELECT * WHERE { ?s <ex:p> \\'\\uD800\\' }',\n 'Invalid unicode codepoint of surrogate pair without corresponding codepoint',\n ));\n\n it(\n 'should not throw an error on unicode codepoint escaping in literal with complete surrogate pair',\n ({ expect }) => {\n const query = 'SELECT * WHERE { ?s <ex:p> \\'\\uD800\\uDFFF\\' }';\n // TODO: add proper test\n expect(parser.parse(query)).toMatchObject({});\n },\n );\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import type { PathLike } from 'node:fs';
2
+ import type { FileHandle } from 'node:fs/promises';
3
+ export declare function readFile(path: PathLike | FileHandle, encoding?: BufferEncoding): Promise<string>;
@@ -0,0 +1,6 @@
1
+ import fsp from 'node:fs/promises';
2
+ export async function readFile(path, encoding = 'utf-8') {
3
+ const content = await fsp.readFile(path, encoding);
4
+ return content.replaceAll(/\r?\n/gu, '\n');
5
+ }
6
+ //# sourceMappingURL=fileUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fileUtils.js","sourceRoot":"","sources":["fileUtils.ts"],"names":[],"mappings":"AAGA,OAAO,GAAG,MAAM,kBAAkB,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAA2B,EAAE,WAA2B,OAAO;IAC5F,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["/* eslint-disable import/no-nodejs-modules */\nimport type { PathLike } from 'node:fs';\nimport type { FileHandle } from 'node:fs/promises';\nimport fsp from 'node:fs/promises';\n\nexport async function readFile(path: PathLike | FileHandle, encoding: BufferEncoding = 'utf-8'): Promise<string> {\n const content = await fsp.readFile(path, encoding);\n return content.replaceAll(/\\r?\\n/gu, '\\n');\n}\n"]}