@traqula/parser-sparql-1-2 0.0.16 → 0.0.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/lib/Parser.d.ts +129 -129
  2. package/lib/index.cjs +256 -150
  3. package/package.json +7 -7
package/lib/Parser.d.ts CHANGED
@@ -2,52 +2,43 @@ import { ParserBuilder } from '@traqula/core';
2
2
  import type { Patch, Wrap } from '@traqula/core';
3
3
  import { gram as g11, type TermIri } from '@traqula/rules-sparql-1-1';
4
4
  import type * as T12 from '@traqula/rules-sparql-1-2';
5
- export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "string" | "object" | "filter" | "graphRef" | "load" | "clear" | "drop" | "create" | "add" | "move" | "copy" | "modify" | "update" | "query" | "datasetClauses" | "bind" | "solutionModifier" | "expression" | "aggregate" | "functionCall" | "path" | "blankNode" | "queryUnit" | "selectQuery" | "subSelect" | "selectClause" | "constructQuery" | "describeQuery" | "askQuery" | "valuesClause" | "constructTemplate" | "constructTriples" | "updateUnit" | "update1" | "quadPattern" | "quadData" | "insertData" | "deleteData" | "deleteWhere" | "deleteClause" | "insertClause" | "graphOrDefault" | "graphRefAll" | "quads" | "quadsNotTriples" | "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" | "builtInCall" | "builtInRegex" | "builtInSubstr" | "builtInReplace" | "builtInExists" | "builtInNotexists" | "builtInCount" | "builtInSum" | "builtInMin" | "builtInMax" | "builtInAvg" | "builtInSample" | "builtInGroup_concat" | "usingClause" | "datasetClause" | "defaultGraphClause" | "usingClauses" | "namedGraphClause" | "sourceSelector" | "argList" | "expressionList" | "conditionalOrExpression" | "conditionalAndExpression" | "valueLogical" | "relationalExpression" | "numericExpression" | "additiveExpression" | "multiplicativeExpression" | "unaryExpression" | "primaryExpression" | "brackettedExpression" | "iriOrFunction" | "prologue" | "baseDecl" | "prefixDecl" | "verb" | "varOrTerm" | "varOrIri" | "var" | "rdfLiteral" | "numericLiteral" | "numericLiteralUnsigned" | "numericLiteralPositive" | "numericLiteralNegative" | "booleanLiteral" | "iri" | "iriFull" | "prefixedName" | "VerbA" | "pathEltOrInverse" | "pathSequence" | "pathAlternative" | "pathElt" | "pathMod" | "pathPrimary" | "pathNegatedPropertySet" | "pathOneInPropertySet" | "groupClause" | "groupCondition" | "havingClause" | "havingCondition" | "orderClause" | "orderCondition" | "limitOffsetClauses" | "limitClause" | "offsetClause" | "triplesBlock" | "triplesSameSubject" | "triplesSameSubjectPath" | "triplesTemplate" | "propertyList" | "propertyListPath" | "propertyListNotEmpty" | "propertyListPathNotEmpty" | "verbPath" | "verbSimple" | "objectList" | "objectListPath" | "objectPath" | "collection" | "collectionPath" | "triplesNode" | "triplesNodePath" | "blankNodePropertyList" | "blankNodePropertyListPath" | "graphNode" | "graphNodePath" | "whereClause" | "groupGraphPattern" | "groupGraphPatternSub" | "graphPatternNotTriples" | "optionalGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "dataBlock" | "inlineDataOneVar" | "inlineDataFull" | "dataBlockValue" | "minusGraphPattern" | "groupOrUnionGraphPattern" | "constraint" | "queryOrUpdate" | "reifiedTriple" | "versionDecl" | "versionSpecifier" | "reifiedTripleBlock" | "reifiedTripleBlockPath" | "varOrReifierId" | "reifier" | "annotationPath" | "annotation" | "annotationBlockPath" | "annotationBlock" | "reifiedTripleSubject" | "reifiedTripleObject" | "tripleTerm" | "tripleTermSubject" | "tripleTermObject" | "tripleTermData" | "tripleTermDataSubject" | "tripleTermDataObject" | "exprTripleTerm" | "exprTripleTermSubject" | "exprTripleTermObject" | "builtInLangdir" | "builtInStrLangdir" | "builtInHasLang" | "builtInHasLangdir" | "builtInIsTriple" | "builtInTriple" | "builtInSubject" | "builtInPredicate" | "builtInObject", {
5
+ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "string" | "object" | "queryUnit" | "query" | "prologue" | "selectQuery" | "constructQuery" | "describeQuery" | "askQuery" | "valuesClause" | "baseDecl" | "prefixDecl" | "subSelect" | "selectClause" | "whereClause" | "solutionModifier" | "expression" | "conditionalOrExpression" | "conditionalAndExpression" | "valueLogical" | "relationalExpression" | "numericExpression" | "expressionList" | "additiveExpression" | "multiplicativeExpression" | "unaryExpression" | "primaryExpression" | "brackettedExpression" | "iriOrFunction" | "rdfLiteral" | "numericLiteral" | "numericLiteralUnsigned" | "numericLiteralPositive" | "numericLiteralNegative" | "booleanLiteral" | "var" | "builtInStr" | "builtInLang" | "builtInLangmatches" | "builtInDatatype" | "builtInBound" | "builtInIri" | "builtInUri" | "builtInBnode" | "builtInRand" | "builtInAbs" | "builtInCeil" | "builtInFloor" | "builtInRound" | "builtInConcat" | "builtInStrlen" | "builtInUcase" | "builtInLcase" | "builtInEncode_for_uri" | "functionCall" | "aggregate" | "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" | "builtInCount" | "builtInSum" | "builtInMin" | "builtInMax" | "builtInAvg" | "builtInSample" | "builtInGroup_concat" | "iri" | "prefixedName" | "argList" | "builtInCall" | "builtInExists" | "builtInNotexists" | "groupGraphPattern" | "groupGraphPatternSub" | "triplesBlock" | "triplesSameSubjectPath" | "propertyListPathNotEmpty" | "triplesNodePath" | "propertyListPath" | "verbPath" | "verbSimple" | "objectListPath" | "blankNode" | "path" | "objectList" | "graphNode" | "varOrTerm" | "triplesNode" | "collection" | "blankNodePropertyList" | "propertyListNotEmpty" | "verb" | "VerbA" | "varOrIri" | "iriFull" | "pathAlternative" | "pathSequence" | "pathEltOrInverse" | "pathElt" | "pathPrimary" | "pathMod" | "pathNegatedPropertySet" | "pathOneInPropertySet" | "objectPath" | "graphNodePath" | "collectionPath" | "blankNodePropertyListPath" | "graphPatternNotTriples" | "filter" | "bind" | "groupOrUnionGraphPattern" | "optionalGraphPattern" | "minusGraphPattern" | "graphGraphPattern" | "serviceGraphPattern" | "inlineData" | "constraint" | "dataBlock" | "inlineDataOneVar" | "inlineDataFull" | "dataBlockValue" | "groupClause" | "havingClause" | "orderClause" | "limitOffsetClauses" | "groupCondition" | "havingCondition" | "orderCondition" | "limitClause" | "offsetClause" | "datasetClause" | "usingClause" | "datasetClauses" | "defaultGraphClause" | "namedGraphClause" | "sourceSelector" | "constructTemplate" | "triplesTemplate" | "triplesSameSubject" | "propertyList" | "constructTriples" | "updateUnit" | "update" | "load" | "clear" | "drop" | "add" | "move" | "copy" | "create" | "insertData" | "quadData" | "deleteData" | "deleteWhere" | "quadPattern" | "graphRef" | "graphRefAll" | "graphOrDefault" | "quads" | "update1" | "quadsNotTriples" | "modify" | "deleteClause" | "insertClause" | "usingClauses" | "queryOrUpdate" | "reifiedTriple" | "reifiedTripleBlock" | "reifiedTripleBlockPath" | "reifier" | "varOrReifierId" | "annotation" | "annotationPath" | "annotationBlockPath" | "annotationBlock" | "reifiedTripleSubject" | "reifiedTripleObject" | "tripleTerm" | "tripleTermSubject" | "tripleTermObject" | "tripleTermData" | "tripleTermDataSubject" | "tripleTermDataObject" | "exprTripleTerm" | "exprTripleTermSubject" | "exprTripleTermObject" | "versionDecl" | "versionSpecifier" | "builtInLangdir" | "builtInStrLangdir" | "builtInHasLang" | "builtInHasLangdir" | "builtInIsTriple" | "builtInTriple" | "builtInSubject" | "builtInPredicate" | "builtInObject", {
6
6
  string: import("@traqula/core").ParserRule<T12.SparqlContext, "string", import("@traqula/rules-sparql-1-1").TermLiteralStr, []>;
7
7
  object: import("@traqula/core").ParserRule<T12.SparqlContext, "object", T12.TripleNesting, [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
8
- filter: import("@traqula/core").ParserRule<T12.SparqlContext, "filter", T12.PatternFilter, []>;
9
- graphRef: import("@traqula/core").ParserRule<T12.SparqlContext, "graphRef", import("@traqula/rules-sparql-1-1").GraphRefSpecific, []>;
10
- load: import("@traqula/core").ParserRule<T12.SparqlContext, "load", T12.UpdateOperationLoad, []>;
11
- clear: import("@traqula/core").ParserRule<T12.SparqlContext, "clear", T12.UpdateOperationClear, []>;
12
- drop: import("@traqula/core").ParserRule<T12.SparqlContext, "drop", T12.UpdateOperationDrop, []>;
13
- create: import("@traqula/core").ParserRule<T12.SparqlContext, "create", T12.UpdateOperationCreate, []>;
14
- add: import("@traqula/core").ParserRule<T12.SparqlContext, "add", T12.UpdateOperationAdd, []>;
15
- move: import("@traqula/core").ParserRule<T12.SparqlContext, "move", T12.UpdateOperationMove, []>;
16
- copy: import("@traqula/core").ParserRule<T12.SparqlContext, "copy", T12.UpdateOperationCopy, []>;
17
- modify: import("@traqula/core").ParserRule<T12.SparqlContext, "modify", T12.UpdateOperationModify, []>;
18
- update: import("@traqula/core").ParserRule<any, "update", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"update", import("@traqula/rules-sparql-1-1").Update, []> & import("@traqula/rules-sparql-1-1").SparqlGeneratorRule<"update", import("@traqula/rules-sparql-1-1").Update, []>;
19
- query: import("@traqula/core").ParserRule<any, "query", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"query", import("@traqula/rules-sparql-1-1").Query, []> & import("@traqula/rules-sparql-1-1").SparqlGeneratorRule<"query", import("@traqula/rules-sparql-1-1").Query, []>;
20
- datasetClauses: import("@traqula/core").ParserRule<T12.SparqlContext, "datasetClauses", T12.DatasetClauses, []>;
21
- bind: import("@traqula/core").ParserRule<T12.SparqlContext, "bind", T12.PatternBind, []>;
22
- solutionModifier: import("@traqula/core").ParserRule<T12.SparqlContext, "solutionModifier", T12.SolutionModifiers, []>;
23
- expression: import("@traqula/core").ParserRule<T12.SparqlContext, "expression", T12.Expression, []>;
24
- aggregate: import("@traqula/core").ParserRule<T12.SparqlContext, "aggregate", T12.ExpressionAggregate, []>;
25
- functionCall: import("@traqula/core").ParserRule<T12.SparqlContext, "functionCall", T12.ExpressionFunctionCall, []>;
26
- path: import("@traqula/core").ParserRule<any, "path", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"path", import("@traqula/rules-sparql-1-1").Path, []>;
27
- blankNode: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNode", import("@traqula/rules-sparql-1-1").TermBlank, []>;
28
- queryUnit: import("@traqula/core").ParserRule<any, "queryUnit", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"queryUnit", import("@traqula/rules-sparql-1-1").Query, []>;
8
+ queryUnit: import("@traqula/core").ParserRule<any, "queryUnit"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"queryUnit", import("@traqula/rules-sparql-1-1").Query>;
9
+ query: import("@traqula/core").ParserRule<any, "query"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"query", import("@traqula/rules-sparql-1-1").Query, []> & import("@traqula/rules-sparql-1-1").SparqlGeneratorRule<"query", import("@traqula/rules-sparql-1-1").Query, []>;
10
+ prologue: import("@traqula/core").ParserRule<T12.SparqlContext, "prologue", T12.ContextDefinition[], []>;
29
11
  selectQuery: import("@traqula/core").ParserRule<T12.SparqlContext, "selectQuery", Omit<T12.QuerySelect, g11.HandledByBase>, []>;
30
- subSelect: import("@traqula/core").ParserRule<T12.SparqlContext, "subSelect", Omit<T12.QuerySelect, "prefixes">, []>;
31
- selectClause: import("@traqula/core").ParserRule<T12.SparqlContext, "selectClause", Wrap<Pick<T12.QuerySelect, "variables" | "distinct" | "reduced">>, []>;
32
12
  constructQuery: import("@traqula/core").ParserRule<T12.SparqlContext, "constructQuery", Omit<T12.QueryConstruct, g11.HandledByBase>, []>;
33
13
  describeQuery: import("@traqula/core").ParserRule<T12.SparqlContext, "describeQuery", Omit<T12.QueryDescribe, g11.HandledByBase>, []>;
34
14
  askQuery: import("@traqula/core").ParserRule<T12.SparqlContext, "askQuery", Omit<T12.QueryAsk, g11.HandledByBase>, []>;
35
15
  valuesClause: import("@traqula/core").ParserRule<T12.SparqlContext, "valuesClause", T12.PatternValues[] | undefined, []>;
36
- constructTemplate: import("@traqula/core").ParserRule<T12.SparqlContext, "constructTemplate", Wrap<T12.PatternBgp>, []>;
37
- constructTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "constructTriples", T12.PatternBgp, []>;
38
- updateUnit: import("@traqula/core").ParserRule<any, "updateUnit", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"updateUnit", import("@traqula/rules-sparql-1-1").Update, []>;
39
- update1: import("@traqula/core").ParserRule<T12.SparqlContext, "update1", T12.UpdateOperation, []>;
40
- quadPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "quadPattern", Wrap<T12.Quads[]>, []>;
41
- quadData: import("@traqula/core").ParserRule<T12.SparqlContext, "quadData", Wrap<T12.Quads[]>, []>;
42
- insertData: import("@traqula/core").ParserRule<T12.SparqlContext, "insertData", T12.UpdateOperationInsertData, []>;
43
- deleteData: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteData", T12.UpdateOperationDeleteData, []>;
44
- deleteWhere: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteWhere", T12.UpdateOperationDeleteWhere, []>;
45
- deleteClause: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteClause", Wrap<T12.Quads[]>, []>;
46
- insertClause: import("@traqula/core").ParserRule<T12.SparqlContext, "insertClause", Wrap<T12.Quads[]>, []>;
47
- graphOrDefault: import("@traqula/core").ParserRule<T12.SparqlContext, "graphOrDefault", import("@traqula/rules-sparql-1-1").GraphRefDefault | import("@traqula/rules-sparql-1-1").GraphRefSpecific, []>;
48
- graphRefAll: import("@traqula/core").ParserRule<T12.SparqlContext, "graphRefAll", import("@traqula/rules-sparql-1-1").GraphRef, []>;
49
- quads: import("@traqula/core").ParserRule<T12.SparqlContext, "quads", Wrap<T12.Quads[]>, []>;
50
- quadsNotTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "quadsNotTriples", T12.GraphQuads, []>;
16
+ baseDecl: import("@traqula/core").ParserRule<T12.SparqlContext, "baseDecl", T12.ContextDefinition, []>;
17
+ prefixDecl: import("@traqula/core").ParserRule<T12.SparqlContext, "prefixDecl", T12.ContextDefinition, []>;
18
+ subSelect: import("@traqula/core").ParserRule<T12.SparqlContext, "subSelect", Omit<T12.QuerySelect, "prefixes">, []>;
19
+ selectClause: import("@traqula/core").ParserRule<T12.SparqlContext, "selectClause", Wrap<Pick<T12.QuerySelect, "variables" | "distinct" | "reduced">>, []>;
20
+ whereClause: import("@traqula/core").ParserRule<T12.SparqlContext, "whereClause", Wrap<T12.PatternGroup>, []>;
21
+ solutionModifier: import("@traqula/core").ParserRule<T12.SparqlContext, "solutionModifier", T12.SolutionModifiers, []>;
22
+ expression: import("@traqula/core").ParserRule<T12.SparqlContext, "expression", T12.Expression, []>;
23
+ conditionalOrExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "conditionalOrExpression", T12.Expression, []>;
24
+ conditionalAndExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "conditionalAndExpression", T12.Expression, []>;
25
+ valueLogical: import("@traqula/core").ParserRule<T12.SparqlContext, "valueLogical", T12.Expression, []>;
26
+ relationalExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "relationalExpression", T12.Expression, []>;
27
+ numericExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "numericExpression", T12.Expression, []>;
28
+ expressionList: import("@traqula/core").ParserRule<T12.SparqlContext, "expressionList", Wrap<T12.Expression[]>, []>;
29
+ additiveExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "additiveExpression", T12.Expression, []>;
30
+ multiplicativeExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "multiplicativeExpression", T12.Expression, []>;
31
+ unaryExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "unaryExpression", T12.Expression, []>;
32
+ primaryExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "primaryExpression", T12.Expression, []>;
33
+ brackettedExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "brackettedExpression", T12.Expression, []>;
34
+ iriOrFunction: import("@traqula/core").ParserRule<T12.SparqlContext, "iriOrFunction", TermIri | T12.ExpressionFunctionCall, []>;
35
+ rdfLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "rdfLiteral", import("@traqula/rules-sparql-1-1").TermLiteral, []>;
36
+ numericLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteral", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
37
+ numericLiteralUnsigned: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralUnsigned", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
38
+ numericLiteralPositive: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralPositive", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
39
+ numericLiteralNegative: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralNegative", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
40
+ booleanLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "booleanLiteral", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
41
+ var: import("@traqula/core").ParserRule<T12.SparqlContext, "var", import("@traqula/rules-sparql-1-1").TermVariable, []>;
51
42
  builtInStr: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInStr", T12.ExpressionOperation, []>;
52
43
  builtInLang: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInLang", T12.ExpressionOperation, []>;
53
44
  builtInLangmatches: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInLangmatches", T12.ExpressionOperation, []>;
@@ -66,6 +57,8 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
66
57
  builtInUcase: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInUcase", T12.ExpressionOperation, []>;
67
58
  builtInLcase: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInLcase", T12.ExpressionOperation, []>;
68
59
  builtInEncode_for_uri: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInEncode_for_uri", T12.ExpressionOperation, []>;
60
+ functionCall: import("@traqula/core").ParserRule<T12.SparqlContext, "functionCall", T12.ExpressionFunctionCall, []>;
61
+ aggregate: import("@traqula/core").ParserRule<T12.SparqlContext, "aggregate", T12.ExpressionAggregate, []>;
69
62
  builtInContains: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInContains", T12.ExpressionOperation, []>;
70
63
  builtInStrstarts: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInStrstarts", T12.ExpressionOperation, []>;
71
64
  builtInStrends: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInStrends", T12.ExpressionOperation, []>;
@@ -97,134 +90,139 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
97
90
  builtInIsblank: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInIsblank", T12.ExpressionOperation, []>;
98
91
  builtInIsliteral: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInIsliteral", T12.ExpressionOperation, []>;
99
92
  builtInIsnumeric: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInIsnumeric", T12.ExpressionOperation, []>;
100
- builtInCall: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInCall", import("@traqula/rules-sparql-1-1").Expression, []>;
101
- builtInRegex: import("@traqula/core").ParserRule<any, "builtInRegex", unknown, any[]> & g11.RuleDefExpressionFunctionX<"builtInRegex", [import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression] | [import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression]>;
93
+ builtInRegex: import("@traqula/core").ParserRule<any, "builtInRegex"> & g11.RuleDefExpressionFunctionX<"builtInRegex", [import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression] | [import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression]>;
102
94
  builtInSubstr: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInSubstr", T12.ExpressionOperation, []>;
103
95
  builtInReplace: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInReplace", T12.ExpressionOperation, []>;
104
- builtInExists: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInExists", T12.ExpressionPatternOperation, []>;
105
- builtInNotexists: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInNotexists", T12.ExpressionPatternOperation, []>;
106
- builtInCount: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInCount", T12.ExpressionAggregateDefault | T12.ExpressionAggregateOnWildcard, []>;
96
+ builtInCount: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInCount", T12.ExpressionAggregateOnWildcard | T12.ExpressionAggregateDefault, []>;
107
97
  builtInSum: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInSum", T12.ExpressionAggregateDefault, []>;
108
98
  builtInMin: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInMin", T12.ExpressionAggregateDefault, []>;
109
99
  builtInMax: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInMax", T12.ExpressionAggregateDefault, []>;
110
100
  builtInAvg: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInAvg", T12.ExpressionAggregateDefault, []>;
111
101
  builtInSample: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInSample", T12.ExpressionAggregateDefault, []>;
112
102
  builtInGroup_concat: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInGroup_concat", T12.ExpressionAggregateDefault | T12.ExpressionAggregateSeparator, []>;
113
- usingClause: import("@traqula/core").ParserRule<T12.SparqlContext, "usingClause", Wrap<{
114
- clauseType: "default" | "named";
115
- value: T12.TermIri;
116
- }>, []>;
117
- datasetClause: import("@traqula/core").ParserRule<T12.SparqlContext, "datasetClause", Wrap<{
118
- clauseType: "default" | "named";
119
- value: T12.TermIri;
120
- }>, []>;
121
- defaultGraphClause: import("@traqula/core").ParserRule<T12.SparqlContext, "defaultGraphClause", TermIri, []>;
122
- usingClauses: import("@traqula/core").ParserRule<T12.SparqlContext, "usingClauses", T12.DatasetClauses, []>;
123
- namedGraphClause: import("@traqula/core").ParserRule<T12.SparqlContext, "namedGraphClause", Wrap<TermIri>, []>;
124
- sourceSelector: import("@traqula/core").ParserRule<T12.SparqlContext, "sourceSelector", TermIri, []>;
103
+ iri: import("@traqula/core").ParserRule<T12.SparqlContext, "iri", TermIri, []>;
104
+ prefixedName: import("@traqula/core").ParserRule<T12.SparqlContext, "prefixedName", import("@traqula/rules-sparql-1-1").TermIriPrefixed, []>;
125
105
  argList: import("@traqula/core").ParserRule<T12.SparqlContext, "argList", Wrap<Patch<g11.IArgList, {
126
106
  args: T12.Expression[];
127
107
  }>>, []>;
128
- expressionList: import("@traqula/core").ParserRule<T12.SparqlContext, "expressionList", Wrap<T12.Expression[]>, []>;
129
- conditionalOrExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "conditionalOrExpression", T12.Expression, []>;
130
- conditionalAndExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "conditionalAndExpression", T12.Expression, []>;
131
- valueLogical: import("@traqula/core").ParserRule<T12.SparqlContext, "valueLogical", T12.Expression, []>;
132
- relationalExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "relationalExpression", T12.Expression, []>;
133
- numericExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "numericExpression", T12.Expression, []>;
134
- additiveExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "additiveExpression", T12.Expression, []>;
135
- multiplicativeExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "multiplicativeExpression", T12.Expression, []>;
136
- unaryExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "unaryExpression", T12.Expression, []>;
137
- primaryExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "primaryExpression", T12.Expression, []>;
138
- brackettedExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "brackettedExpression", T12.Expression, []>;
139
- iriOrFunction: import("@traqula/core").ParserRule<T12.SparqlContext, "iriOrFunction", TermIri | T12.ExpressionFunctionCall, []>;
140
- prologue: import("@traqula/core").ParserRule<T12.SparqlContext, "prologue", T12.ContextDefinition[], []>;
141
- baseDecl: import("@traqula/core").ParserRule<T12.SparqlContext, "baseDecl", T12.ContextDefinition, []>;
142
- prefixDecl: import("@traqula/core").ParserRule<T12.SparqlContext, "prefixDecl", T12.ContextDefinition, []>;
143
- verb: import("@traqula/core").ParserRule<T12.SparqlContext, "verb", TermIri | import("@traqula/rules-sparql-1-1").TermVariable, []>;
144
- varOrTerm: import("@traqula/core").ParserRule<T12.SparqlContext, "varOrTerm", T12.Term, []>;
145
- varOrIri: import("@traqula/core").ParserRule<T12.SparqlContext, "varOrIri", TermIri | import("@traqula/rules-sparql-1-1").TermVariable, []>;
146
- var: import("@traqula/core").ParserRule<T12.SparqlContext, "var", import("@traqula/rules-sparql-1-1").TermVariable, []>;
147
- rdfLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "rdfLiteral", import("@traqula/rules-sparql-1-1").TermLiteral, []>;
148
- numericLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteral", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
149
- numericLiteralUnsigned: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralUnsigned", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
150
- numericLiteralPositive: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralPositive", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
151
- numericLiteralNegative: import("@traqula/core").ParserRule<T12.SparqlContext, "numericLiteralNegative", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
152
- booleanLiteral: import("@traqula/core").ParserRule<T12.SparqlContext, "booleanLiteral", import("@traqula/rules-sparql-1-1").TermLiteralTyped, []>;
153
- iri: import("@traqula/core").ParserRule<T12.SparqlContext, "iri", TermIri, []>;
154
- iriFull: import("@traqula/core").ParserRule<T12.SparqlContext, "iriFull", import("@traqula/rules-sparql-1-1").TermIriFull, []>;
155
- prefixedName: import("@traqula/core").ParserRule<T12.SparqlContext, "prefixedName", import("@traqula/rules-sparql-1-1").TermIriPrefixed, []>;
156
- VerbA: import("@traqula/core").ParserRule<T12.SparqlContext, "VerbA", import("@traqula/rules-sparql-1-1").TermIriFull, []>;
157
- pathEltOrInverse: import("@traqula/core").ParserRule<any, "pathEltOrInverse", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathEltOrInverse", import("@traqula/rules-sparql-1-1").Path, []>;
158
- pathSequence: import("@traqula/core").ParserRule<any, "pathSequence", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathSequence", import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated, []>;
159
- pathAlternative: import("@traqula/core").ParserRule<any, "pathAlternative", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathAlternative", import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated, []>;
160
- pathElt: import("@traqula/core").ParserRule<any, "pathElt", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathElt", import("@traqula/rules-sparql-1-1").Path, []>;
161
- pathMod: import("@traqula/core").ParserRule<any, "pathMod", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathMod", import("chevrotain").IToken & {
162
- image: "*" | "+" | "?";
163
- }, []>;
164
- pathPrimary: import("@traqula/core").ParserRule<any, "pathPrimary", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathPrimary", import("@traqula/rules-sparql-1-1").Path, []>;
165
- pathNegatedPropertySet: import("@traqula/core").ParserRule<any, "pathNegatedPropertySet", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathNegatedPropertySet", import("@traqula/rules-sparql-1-1").PathNegated, []>;
166
- pathOneInPropertySet: import("@traqula/core").ParserRule<any, "pathOneInPropertySet", unknown, any[]> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathOneInPropertySet", TermIri | import("@traqula/rules-sparql-1-1").PathNegatedElt, []>;
167
- groupClause: import("@traqula/core").ParserRule<T12.SparqlContext, "groupClause", T12.SolutionModifierGroup, []>;
168
- groupCondition: import("@traqula/core").ParserRule<T12.SparqlContext, "groupCondition", T12.Expression | T12.SolutionModifierGroupBind, []>;
169
- havingClause: import("@traqula/core").ParserRule<T12.SparqlContext, "havingClause", T12.SolutionModifierHaving, []>;
170
- havingCondition: import("@traqula/core").ParserRule<T12.SparqlContext, "havingCondition", T12.Expression, []>;
171
- orderClause: import("@traqula/core").ParserRule<T12.SparqlContext, "orderClause", T12.SolutionModifierOrder, []>;
172
- orderCondition: import("@traqula/core").ParserRule<T12.SparqlContext, "orderCondition", T12.Ordering, []>;
173
- limitOffsetClauses: import("@traqula/core").ParserRule<T12.SparqlContext, "limitOffsetClauses", import("@traqula/rules-sparql-1-1").SolutionModifierLimitOffset, []>;
174
- limitClause: import("@traqula/core").ParserRule<T12.SparqlContext, "limitClause", Wrap<number>, []>;
175
- offsetClause: import("@traqula/core").ParserRule<T12.SparqlContext, "offsetClause", Wrap<number>, []>;
108
+ builtInCall: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInCall", import("@traqula/rules-sparql-1-1").Expression, []>;
109
+ builtInExists: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInExists", T12.ExpressionPatternOperation, []>;
110
+ builtInNotexists: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInNotexists", T12.ExpressionPatternOperation, []>;
111
+ groupGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "groupGraphPattern", T12.PatternGroup, []>;
112
+ groupGraphPatternSub: import("@traqula/core").ParserRule<T12.SparqlContext, "groupGraphPatternSub", T12.Pattern[], []>;
176
113
  triplesBlock: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesBlock", T12.PatternBgp, []>;
177
- triplesSameSubject: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesSameSubject", import("@traqula/rules-sparql-1-1").BasicGraphPattern, []>;
178
114
  triplesSameSubjectPath: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesSameSubjectPath", import("@traqula/rules-sparql-1-1").BasicGraphPattern, []>;
179
- triplesTemplate: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesTemplate", T12.PatternBgp, []>;
180
- propertyList: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyList", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
181
- propertyListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListPath", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
182
- propertyListNotEmpty: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListNotEmpty", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
183
115
  propertyListPathNotEmpty: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListPathNotEmpty", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
116
+ triplesNodePath: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesNodePath", T12.TripleCollection, []>;
117
+ propertyListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListPath", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
184
118
  verbPath: import("@traqula/core").ParserRule<T12.SparqlContext, "verbPath", import("@traqula/rules-sparql-1-1").Path, []>;
185
119
  verbSimple: import("@traqula/core").ParserRule<T12.SparqlContext, "verbSimple", import("@traqula/rules-sparql-1-1").TermVariable, []>;
186
- objectList: import("@traqula/core").ParserRule<T12.SparqlContext, "objectList", T12.TripleNesting[], [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
187
120
  objectListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "objectListPath", T12.TripleNesting, [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
188
- objectPath: import("@traqula/core").ParserRule<T12.SparqlContext, "objectPath", T12.TripleNesting, [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
189
- collection: import("@traqula/core").ParserRule<T12.SparqlContext, "collection", T12.TripleCollectionList, []>;
190
- collectionPath: import("@traqula/core").ParserRule<T12.SparqlContext, "collectionPath", T12.TripleCollectionList, []>;
121
+ blankNode: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNode", import("@traqula/rules-sparql-1-1").TermBlank, []>;
122
+ path: import("@traqula/core").ParserRule<any, "path"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"path", import("@traqula/rules-sparql-1-1").Path>;
123
+ objectList: import("@traqula/core").ParserRule<T12.SparqlContext, "objectList", T12.TripleNesting[], [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
124
+ graphNode: import("@traqula/core").ParserRule<T12.SparqlContext, "graphNode", T12.GraphNode, []>;
125
+ varOrTerm: import("@traqula/core").ParserRule<T12.SparqlContext, "varOrTerm", T12.Term, []>;
191
126
  triplesNode: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesNode", T12.TripleCollection, []>;
192
- triplesNodePath: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesNodePath", T12.TripleCollection, []>;
127
+ collection: import("@traqula/core").ParserRule<T12.SparqlContext, "collection", T12.TripleCollectionList, []>;
193
128
  blankNodePropertyList: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNodePropertyList", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
194
129
  triples: T12.TripleNesting[];
195
130
  identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
196
131
  }>, []>;
132
+ propertyListNotEmpty: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListNotEmpty", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
133
+ verb: import("@traqula/core").ParserRule<T12.SparqlContext, "verb", TermIri | import("@traqula/rules-sparql-1-1").TermVariable, []>;
134
+ VerbA: import("@traqula/core").ParserRule<T12.SparqlContext, "VerbA", import("@traqula/rules-sparql-1-1").TermIriFull, []>;
135
+ varOrIri: import("@traqula/core").ParserRule<T12.SparqlContext, "varOrIri", TermIri | import("@traqula/rules-sparql-1-1").TermVariable, []>;
136
+ iriFull: import("@traqula/core").ParserRule<T12.SparqlContext, "iriFull", import("@traqula/rules-sparql-1-1").TermIriFull, []>;
137
+ pathAlternative: import("@traqula/core").ParserRule<any, "pathAlternative"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathAlternative", import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated>;
138
+ pathSequence: import("@traqula/core").ParserRule<any, "pathSequence"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathSequence", import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated>;
139
+ pathEltOrInverse: import("@traqula/core").ParserRule<any, "pathEltOrInverse"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathEltOrInverse", import("@traqula/rules-sparql-1-1").Path>;
140
+ pathElt: import("@traqula/core").ParserRule<any, "pathElt"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathElt", import("@traqula/rules-sparql-1-1").Path>;
141
+ pathPrimary: import("@traqula/core").ParserRule<any, "pathPrimary"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathPrimary", import("@traqula/rules-sparql-1-1").Path>;
142
+ pathMod: import("@traqula/core").ParserRule<any, "pathMod"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathMod", import("chevrotain").IToken & {
143
+ image: "*" | "+" | "?";
144
+ }>;
145
+ pathNegatedPropertySet: import("@traqula/core").ParserRule<any, "pathNegatedPropertySet"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathNegatedPropertySet", import("@traqula/rules-sparql-1-1").PathNegated>;
146
+ pathOneInPropertySet: import("@traqula/core").ParserRule<any, "pathOneInPropertySet"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathOneInPropertySet", TermIri | import("@traqula/rules-sparql-1-1").PathNegatedElt>;
147
+ objectPath: import("@traqula/core").ParserRule<T12.SparqlContext, "objectPath", T12.TripleNesting, [T12.GraphNode, import("@traqula/rules-sparql-1-1").TermIriFull | import("@traqula/rules-sparql-1-1").TermIriPrefixed | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").PropertyPathChain | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PathNegated]>;
148
+ graphNodePath: import("@traqula/core").ParserRule<T12.SparqlContext, "graphNodePath", T12.GraphNode, []>;
149
+ collectionPath: import("@traqula/core").ParserRule<T12.SparqlContext, "collectionPath", T12.TripleCollectionList, []>;
197
150
  blankNodePropertyListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNodePropertyListPath", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
198
151
  triples: T12.TripleNesting[];
199
152
  identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
200
153
  }>, []>;
201
- graphNode: import("@traqula/core").ParserRule<T12.SparqlContext, "graphNode", T12.GraphNode, []>;
202
- graphNodePath: import("@traqula/core").ParserRule<T12.SparqlContext, "graphNodePath", T12.GraphNode, []>;
203
- whereClause: import("@traqula/core").ParserRule<T12.SparqlContext, "whereClause", Wrap<T12.PatternGroup>, []>;
204
- groupGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "groupGraphPattern", T12.PatternGroup, []>;
205
- groupGraphPatternSub: import("@traqula/core").ParserRule<T12.SparqlContext, "groupGraphPatternSub", T12.Pattern[], []>;
206
- graphPatternNotTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "graphPatternNotTriples", T12.PatternGroup | T12.PatternUnion | T12.PatternOptional | T12.PatternMinus | T12.PatternGraph | T12.PatternService | T12.PatternFilter | T12.PatternBind | T12.PatternValues, []>;
154
+ graphPatternNotTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "graphPatternNotTriples", T12.PatternGroup | T12.PatternValues | T12.PatternUnion | T12.PatternOptional | T12.PatternMinus | T12.PatternGraph | T12.PatternService | T12.PatternFilter | T12.PatternBind, []>;
155
+ filter: import("@traqula/core").ParserRule<T12.SparqlContext, "filter", T12.PatternFilter, []>;
156
+ bind: import("@traqula/core").ParserRule<T12.SparqlContext, "bind", T12.PatternBind, []>;
157
+ groupOrUnionGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "groupOrUnionGraphPattern", T12.PatternGroup | T12.PatternUnion, []>;
207
158
  optionalGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "optionalGraphPattern", T12.PatternOptional, []>;
159
+ minusGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "minusGraphPattern", T12.PatternMinus, []>;
208
160
  graphGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "graphGraphPattern", T12.PatternGraph, []>;
209
161
  serviceGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "serviceGraphPattern", T12.PatternService, []>;
210
162
  inlineData: import("@traqula/core").ParserRule<T12.SparqlContext, "inlineData", T12.PatternValues, []>;
163
+ constraint: import("@traqula/core").ParserRule<T12.SparqlContext, "constraint", T12.Expression, []>;
211
164
  dataBlock: import("@traqula/core").ParserRule<T12.SparqlContext, "dataBlock", Wrap<T12.ValuePatternRow[]>, []>;
212
165
  inlineDataOneVar: import("@traqula/core").ParserRule<T12.SparqlContext, "inlineDataOneVar", Wrap<T12.ValuePatternRow[]>, []>;
213
166
  inlineDataFull: import("@traqula/core").ParserRule<T12.SparqlContext, "inlineDataFull", Wrap<T12.ValuePatternRow[]>, []>;
214
167
  dataBlockValue: import("@traqula/core").ParserRule<T12.SparqlContext, "dataBlockValue", TermIri | import("@traqula/rules-sparql-1-1").TermLiteral | T12.TermTriple | undefined, []>;
215
- minusGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "minusGraphPattern", T12.PatternMinus, []>;
216
- groupOrUnionGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "groupOrUnionGraphPattern", T12.PatternGroup | T12.PatternUnion, []>;
217
- constraint: import("@traqula/core").ParserRule<T12.SparqlContext, "constraint", T12.Expression, []>;
168
+ groupClause: import("@traqula/core").ParserRule<T12.SparqlContext, "groupClause", T12.SolutionModifierGroup, []>;
169
+ havingClause: import("@traqula/core").ParserRule<T12.SparqlContext, "havingClause", T12.SolutionModifierHaving, []>;
170
+ orderClause: import("@traqula/core").ParserRule<T12.SparqlContext, "orderClause", T12.SolutionModifierOrder, []>;
171
+ limitOffsetClauses: import("@traqula/core").ParserRule<T12.SparqlContext, "limitOffsetClauses", import("@traqula/rules-sparql-1-1").SolutionModifierLimitOffset, []>;
172
+ groupCondition: import("@traqula/core").ParserRule<T12.SparqlContext, "groupCondition", T12.Expression | T12.SolutionModifierGroupBind, []>;
173
+ havingCondition: import("@traqula/core").ParserRule<T12.SparqlContext, "havingCondition", T12.Expression, []>;
174
+ orderCondition: import("@traqula/core").ParserRule<T12.SparqlContext, "orderCondition", T12.Ordering, []>;
175
+ limitClause: import("@traqula/core").ParserRule<T12.SparqlContext, "limitClause", Wrap<number>, []>;
176
+ offsetClause: import("@traqula/core").ParserRule<T12.SparqlContext, "offsetClause", Wrap<number>, []>;
177
+ datasetClause: import("@traqula/core").ParserRule<T12.SparqlContext, "datasetClause", Wrap<{
178
+ clauseType: "default" | "named";
179
+ value: T12.TermIri;
180
+ }>, []>;
181
+ usingClause: import("@traqula/core").ParserRule<T12.SparqlContext, "usingClause", Wrap<{
182
+ clauseType: "default" | "named";
183
+ value: T12.TermIri;
184
+ }>, []>;
185
+ datasetClauses: import("@traqula/core").ParserRule<T12.SparqlContext, "datasetClauses", T12.DatasetClauses, []>;
186
+ defaultGraphClause: import("@traqula/core").ParserRule<T12.SparqlContext, "defaultGraphClause", TermIri, []>;
187
+ namedGraphClause: import("@traqula/core").ParserRule<T12.SparqlContext, "namedGraphClause", Wrap<TermIri>, []>;
188
+ sourceSelector: import("@traqula/core").ParserRule<T12.SparqlContext, "sourceSelector", TermIri, []>;
189
+ constructTemplate: import("@traqula/core").ParserRule<T12.SparqlContext, "constructTemplate", Wrap<T12.PatternBgp>, []>;
190
+ triplesTemplate: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesTemplate", T12.PatternBgp, []>;
191
+ triplesSameSubject: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesSameSubject", import("@traqula/rules-sparql-1-1").BasicGraphPattern, []>;
192
+ propertyList: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyList", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
193
+ constructTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "constructTriples", T12.PatternBgp, []>;
194
+ updateUnit: import("@traqula/core").ParserRule<any, "updateUnit"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"updateUnit", import("@traqula/rules-sparql-1-1").Update>;
195
+ update: import("@traqula/core").ParserRule<any, "update"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"update", import("@traqula/rules-sparql-1-1").Update, []> & import("@traqula/rules-sparql-1-1").SparqlGeneratorRule<"update", import("@traqula/rules-sparql-1-1").Update, []>;
196
+ load: import("@traqula/core").ParserRule<T12.SparqlContext, "load", T12.UpdateOperationLoad, []>;
197
+ clear: import("@traqula/core").ParserRule<T12.SparqlContext, "clear", T12.UpdateOperationClear, []>;
198
+ drop: import("@traqula/core").ParserRule<T12.SparqlContext, "drop", T12.UpdateOperationDrop, []>;
199
+ add: import("@traqula/core").ParserRule<T12.SparqlContext, "add", T12.UpdateOperationAdd, []>;
200
+ move: import("@traqula/core").ParserRule<T12.SparqlContext, "move", T12.UpdateOperationMove, []>;
201
+ copy: import("@traqula/core").ParserRule<T12.SparqlContext, "copy", T12.UpdateOperationCopy, []>;
202
+ create: import("@traqula/core").ParserRule<T12.SparqlContext, "create", T12.UpdateOperationCreate, []>;
203
+ insertData: import("@traqula/core").ParserRule<T12.SparqlContext, "insertData", T12.UpdateOperationInsertData, []>;
204
+ quadData: import("@traqula/core").ParserRule<T12.SparqlContext, "quadData", Wrap<T12.Quads[]>, []>;
205
+ deleteData: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteData", T12.UpdateOperationDeleteData, []>;
206
+ deleteWhere: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteWhere", T12.UpdateOperationDeleteWhere, []>;
207
+ quadPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "quadPattern", Wrap<T12.Quads[]>, []>;
208
+ graphRef: import("@traqula/core").ParserRule<T12.SparqlContext, "graphRef", import("@traqula/rules-sparql-1-1").GraphRefSpecific, []>;
209
+ graphRefAll: import("@traqula/core").ParserRule<T12.SparqlContext, "graphRefAll", import("@traqula/rules-sparql-1-1").GraphRef, []>;
210
+ graphOrDefault: import("@traqula/core").ParserRule<T12.SparqlContext, "graphOrDefault", import("@traqula/rules-sparql-1-1").GraphRefSpecific | import("@traqula/rules-sparql-1-1").GraphRefDefault, []>;
211
+ quads: import("@traqula/core").ParserRule<T12.SparqlContext, "quads", Wrap<T12.Quads[]>, []>;
212
+ update1: import("@traqula/core").ParserRule<T12.SparqlContext, "update1", T12.UpdateOperation, []>;
213
+ quadsNotTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "quadsNotTriples", T12.GraphQuads, []>;
214
+ modify: import("@traqula/core").ParserRule<T12.SparqlContext, "modify", T12.UpdateOperationModify, []>;
215
+ deleteClause: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteClause", Wrap<T12.Quads[]>, []>;
216
+ insertClause: import("@traqula/core").ParserRule<T12.SparqlContext, "insertClause", Wrap<T12.Quads[]>, []>;
217
+ usingClauses: import("@traqula/core").ParserRule<T12.SparqlContext, "usingClauses", T12.DatasetClauses, []>;
218
218
  queryOrUpdate: import("@traqula/core").ParserRule<T12.SparqlContext, "queryOrUpdate", T12.SparqlQuery, []>;
219
219
  reifiedTriple: import("@traqula/core").ParserRule<any, "reifiedTriple"> & T12.SparqlGrammarRule<"reifiedTriple", T12.TripleCollectionReifiedTriple, []> & T12.SparqlGeneratorRule<"reifiedTriple", T12.TripleCollectionReifiedTriple, []>;
220
- versionDecl: import("@traqula/core").ParserRule<any, "versionDecl"> & T12.SparqlGrammarRule<"versionDecl", T12.ContextDefinitionVersion, []> & T12.SparqlGeneratorRule<"versionDecl", T12.ContextDefinitionVersion, []>;
221
- versionSpecifier: import("@traqula/core").ParserRule<any, "versionSpecifier"> & T12.SparqlGrammarRule<"versionSpecifier", Wrap<string>>;
222
220
  reifiedTripleBlock: import("@traqula/core").ParserRule<any, "reifiedTripleBlock"> & T12.SparqlGrammarRule<"reifiedTripleBlock", import("@traqula/rules-sparql-1-1").BasicGraphPattern>;
223
221
  reifiedTripleBlockPath: import("@traqula/core").ParserRule<any, "reifiedTripleBlockPath"> & T12.SparqlGrammarRule<"reifiedTripleBlockPath", import("@traqula/rules-sparql-1-1").BasicGraphPattern>;
224
- varOrReifierId: import("@traqula/core").ParserRule<any, "varOrReifierId"> & T12.SparqlGrammarRule<"varOrReifierId", TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermBlank>;
225
222
  reifier: import("@traqula/core").ParserRule<any, "reifier"> & T12.SparqlGrammarRule<"reifier", Wrap<TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermBlank>>;
226
- annotationPath: import("@traqula/core").ParserRule<any, "annotationPath"> & T12.SparqlGrammarRule<"annotationPath", T12.Annotation[], []> & T12.SparqlGeneratorRule<"annotationPath", T12.Annotation[], []>;
223
+ varOrReifierId: import("@traqula/core").ParserRule<any, "varOrReifierId"> & T12.SparqlGrammarRule<"varOrReifierId", TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermBlank>;
227
224
  annotation: import("@traqula/core").ParserRule<any, "annotation"> & T12.SparqlGrammarRule<"annotation", T12.Annotation[], []> & T12.SparqlGeneratorRule<"annotation", T12.Annotation[], []>;
225
+ annotationPath: import("@traqula/core").ParserRule<any, "annotationPath"> & T12.SparqlGrammarRule<"annotationPath", T12.Annotation[], []> & T12.SparqlGeneratorRule<"annotationPath", T12.Annotation[], []>;
228
226
  annotationBlockPath: import("@traqula/core").ParserRule<any, "annotationBlockPath"> & T12.SparqlGrammarRule<"annotationBlockPath", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
229
227
  triples: T12.TripleNesting[];
230
228
  identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
@@ -239,8 +237,8 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
239
237
  triples: T12.TripleNesting[];
240
238
  identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
241
239
  }>>;
242
- reifiedTripleSubject: import("@traqula/core").ParserRule<any, "reifiedTripleSubject"> & T12.SparqlGrammarRule<"reifiedTripleSubject", T12.TripleCollectionReifiedTriple | T12.Term>;
243
- reifiedTripleObject: import("@traqula/core").ParserRule<any, "reifiedTripleObject"> & T12.SparqlGrammarRule<"reifiedTripleObject", T12.TripleCollectionReifiedTriple | T12.Term>;
240
+ reifiedTripleSubject: import("@traqula/core").ParserRule<any, "reifiedTripleSubject"> & T12.SparqlGrammarRule<"reifiedTripleSubject", T12.Term | T12.TripleCollectionReifiedTriple>;
241
+ reifiedTripleObject: import("@traqula/core").ParserRule<any, "reifiedTripleObject"> & T12.SparqlGrammarRule<"reifiedTripleObject", T12.Term | T12.TripleCollectionReifiedTriple>;
244
242
  tripleTerm: import("@traqula/core").ParserRule<any, "tripleTerm"> & T12.SparqlGrammarRule<"tripleTerm", T12.TermTriple, []> & T12.SparqlGeneratorRule<"tripleTerm", T12.TermTriple, []>;
245
243
  tripleTermSubject: import("@traqula/core").ParserRule<any, "tripleTermSubject"> & T12.SparqlGrammarRule<"tripleTermSubject", TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermLiteral | import("@traqula/rules-sparql-1-1").TermBlank | T12.TermTriple>;
246
244
  tripleTermObject: import("@traqula/core").ParserRule<any, "tripleTermObject"> & T12.SparqlGrammarRule<"tripleTermObject", TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermLiteral | import("@traqula/rules-sparql-1-1").TermBlank | T12.TermTriple>;
@@ -250,6 +248,8 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
250
248
  exprTripleTerm: import("@traqula/core").ParserRule<any, "exprTripleTerm"> & T12.SparqlGrammarRule<"exprTripleTerm", T12.TermTriple>;
251
249
  exprTripleTermSubject: import("@traqula/core").ParserRule<any, "exprTripleTermSubject"> & T12.SparqlGrammarRule<"exprTripleTermSubject", TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermLiteral | T12.TermTriple>;
252
250
  exprTripleTermObject: import("@traqula/core").ParserRule<any, "exprTripleTermObject"> & T12.SparqlGrammarRule<"exprTripleTermObject", TermIri | import("@traqula/rules-sparql-1-1").TermVariable | import("@traqula/rules-sparql-1-1").TermLiteral | T12.TermTriple>;
251
+ versionDecl: import("@traqula/core").ParserRule<any, "versionDecl"> & T12.SparqlGrammarRule<"versionDecl", T12.ContextDefinitionVersion, []> & T12.SparqlGeneratorRule<"versionDecl", T12.ContextDefinitionVersion, []>;
252
+ versionSpecifier: import("@traqula/core").ParserRule<any, "versionSpecifier"> & T12.SparqlGrammarRule<"versionSpecifier", Wrap<string>>;
253
253
  builtInLangdir: import("@traqula/core").ParserRule<any, "builtInLangdir"> & g11.RuleDefExpressionFunctionX<"builtInLangdir", [import("@traqula/rules-sparql-1-1").Expression]>;
254
254
  builtInStrLangdir: import("@traqula/core").ParserRule<any, "builtInStrLangdir"> & g11.RuleDefExpressionFunctionX<"builtInStrLangdir", [import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression, import("@traqula/rules-sparql-1-1").Expression]>;
255
255
  builtInHasLang: import("@traqula/core").ParserRule<any, "builtInHasLang"> & g11.RuleDefExpressionFunctionX<"builtInHasLang", [import("@traqula/rules-sparql-1-1").Expression]>;
package/lib/index.cjs CHANGED
@@ -9743,6 +9743,11 @@ ${firstError.message}`);
9743
9743
 
9744
9744
  // ../../packages/core/lib/Transformers.js
9745
9745
  var TransformerType = class {
9746
+ clone(obj) {
9747
+ const newObj = Object.create(Object.getPrototypeOf(obj));
9748
+ Object.defineProperties(newObj, Object.getOwnPropertyDescriptors(obj));
9749
+ return newObj;
9750
+ }
9746
9751
  safeObjectVisit(value, mapper) {
9747
9752
  if (value && typeof value === "object") {
9748
9753
  if (Array.isArray(value)) {
@@ -9752,104 +9757,213 @@ var TransformerType = class {
9752
9757
  }
9753
9758
  return value;
9754
9759
  }
9755
- transformNode(curObject, nodeCallBacks) {
9756
- let continueCheck;
9757
- let transformation;
9758
- const casted = curObject;
9759
- if (casted.type) {
9760
- continueCheck = nodeCallBacks[casted.type]?.continue;
9761
- transformation = nodeCallBacks[casted.type]?.transform;
9762
- }
9763
- let shouldContinue = true;
9764
- if (continueCheck) {
9765
- shouldContinue = continueCheck(curObject);
9766
- }
9767
- if (!shouldContinue) {
9768
- return curObject;
9769
- }
9770
- const copy3 = { ...curObject };
9771
- for (const [key, value] of Object.entries(copy3)) {
9772
- copy3[key] = this.safeObjectVisit(value, (obj) => this.transformNode(obj, nodeCallBacks));
9773
- }
9774
- if (transformation) {
9775
- return transformation(copy3);
9776
- }
9777
- return copy3;
9760
+ /**
9761
+ * Recursively transforms all objects that are not arrays. Mapper is called on deeper objects first.
9762
+ * @param startObject object to start iterating from
9763
+ * @param mapper mapper to transform the various objects - argument is a copy of the original
9764
+ * @param preVisitor callback that is evaluated before iterating deeper.
9765
+ * If continues is false, we do not iterate deeper, current object is still mapped. - default: true
9766
+ * If shortcut is true, we do not iterate deeper, nor do we branch out, this mapper will be the last one called.
9767
+ * - Default false
9768
+ */
9769
+ transformObject(startObject, mapper, preVisitor = () => ({})) {
9770
+ let didShortCut = false;
9771
+ const recurse = (curObject) => {
9772
+ const copy3 = this.clone(curObject);
9773
+ const context = preVisitor(copy3);
9774
+ didShortCut = context.shortcut ?? false;
9775
+ const continues = context.continue ?? true;
9776
+ if (continues && !didShortCut) {
9777
+ for (const [key, value] of Object.entries(copy3)) {
9778
+ if (didShortCut) {
9779
+ return copy3;
9780
+ }
9781
+ copy3[key] = this.safeObjectVisit(value, (obj) => recurse(obj));
9782
+ }
9783
+ }
9784
+ return mapper(copy3);
9785
+ };
9786
+ return recurse(startObject);
9778
9787
  }
9779
- visitNode(curObject, nodeCallBacks) {
9780
- let callback;
9781
- const casted = curObject;
9782
- if (casted.type) {
9783
- callback = nodeCallBacks[casted.type];
9784
- }
9785
- let shouldIterate = true;
9786
- if (callback) {
9787
- shouldIterate = callback(curObject);
9788
- }
9789
- if (shouldIterate) {
9790
- for (const value of Object.values(curObject)) {
9791
- this.safeObjectVisit(value, (obj) => this.visitNode(obj, nodeCallBacks));
9788
+ /**
9789
+ * Visitor that visits all objects. Visits deeper objects first.
9790
+ */
9791
+ visitObject(startObject, visitor, preVisitor = () => ({})) {
9792
+ let didShortCut = false;
9793
+ const recurse = (curObject) => {
9794
+ const context = preVisitor(curObject);
9795
+ didShortCut = context.shortcut ?? false;
9796
+ const continues = context.continue ?? true;
9797
+ if (continues && !didShortCut) {
9798
+ for (const value of Object.values(curObject)) {
9799
+ if (didShortCut) {
9800
+ return;
9801
+ }
9802
+ this.safeObjectVisit(value, (obj) => recurse(obj));
9803
+ }
9792
9804
  }
9793
- }
9805
+ visitor(curObject);
9806
+ };
9807
+ recurse(startObject);
9808
+ }
9809
+ transformNode(startObject, nodeCallBacks) {
9810
+ const transformWrapper = (curObject) => {
9811
+ const casted = curObject;
9812
+ if (casted.type) {
9813
+ const ogFunc = nodeCallBacks[casted.type]?.transform;
9814
+ if (ogFunc) {
9815
+ return ogFunc(casted);
9816
+ }
9817
+ }
9818
+ return curObject;
9819
+ };
9820
+ const preTransformWrapper = (curObject) => {
9821
+ const casted = curObject;
9822
+ if (casted.type) {
9823
+ const ogFunc = nodeCallBacks[casted.type]?.preVisitor;
9824
+ if (ogFunc) {
9825
+ return ogFunc(casted);
9826
+ }
9827
+ }
9828
+ return {};
9829
+ };
9830
+ return this.transformObject(startObject, transformWrapper, preTransformWrapper);
9831
+ }
9832
+ visitNode(startObject, nodeCallBacks) {
9833
+ const visitWrapper = (curObject) => {
9834
+ const casted = curObject;
9835
+ if (casted.type) {
9836
+ const ogFunc = nodeCallBacks[casted.type]?.visitor;
9837
+ if (ogFunc) {
9838
+ ogFunc(casted);
9839
+ }
9840
+ }
9841
+ };
9842
+ const preVisitWrapper = (curObject) => {
9843
+ const casted = curObject;
9844
+ if (casted.type) {
9845
+ const ogFunc = nodeCallBacks[casted.type]?.preVisitor;
9846
+ if (ogFunc) {
9847
+ return ogFunc(casted);
9848
+ }
9849
+ }
9850
+ return {};
9851
+ };
9852
+ this.visitObject(startObject, visitWrapper, preVisitWrapper);
9853
+ }
9854
+ traverseNodes(currentNode, traverse) {
9855
+ let didShortCut = false;
9856
+ const recurse = (curNode) => {
9857
+ const traverser = traverse[curNode.type];
9858
+ if (traverser) {
9859
+ const { next, shortcut } = traverser(curNode);
9860
+ didShortCut = shortcut ?? false;
9861
+ if (!didShortCut) {
9862
+ for (const node of next ?? []) {
9863
+ if (didShortCut) {
9864
+ return;
9865
+ }
9866
+ recurse(node);
9867
+ }
9868
+ }
9869
+ }
9870
+ };
9871
+ recurse(currentNode);
9794
9872
  }
9795
9873
  };
9796
9874
  var TransformerSubType = class extends TransformerType {
9797
- // Public visitObjects(curObject: object, visitor: (current: object) => void): void {
9798
- // for (const value of Object.values(curObject)) {
9799
- // this.safeObjectVisit(value, obj => this.visitObjects(obj, visitor));
9800
- // }
9801
- // }
9802
- transformNodeSpecific(curObject, nodeCallBacks, nodeSpecificCallBacks = {}) {
9803
- let continueCheck;
9804
- let transformation;
9805
- const casted = curObject;
9806
- if (casted.type && casted.subType) {
9807
- const specific = nodeSpecificCallBacks[casted.type];
9808
- if (specific) {
9809
- continueCheck = specific[casted.subType]?.continue;
9810
- transformation = specific[casted.subType]?.transform;
9811
- }
9812
- }
9813
- let shouldContinue = true;
9814
- if (continueCheck) {
9815
- shouldContinue = continueCheck(curObject);
9816
- }
9817
- if (!shouldContinue) {
9818
- return curObject;
9819
- }
9820
- const copy3 = { ...curObject };
9821
- for (const [key, value] of Object.entries(copy3)) {
9822
- copy3[key] = this.safeObjectVisit(value, (obj) => this.transformNodeSpecific(obj, nodeCallBacks, nodeSpecificCallBacks));
9823
- }
9824
- if (transformation) {
9825
- return transformation(copy3);
9826
- }
9827
- return copy3;
9875
+ transformNodeSpecific(startObject, nodeCallBacks, nodeSpecificCallBacks) {
9876
+ const transformWrapper = (curObject) => {
9877
+ let ogTransform;
9878
+ const casted = curObject;
9879
+ if (casted.type && casted.subType) {
9880
+ const specific = nodeSpecificCallBacks[casted.type];
9881
+ if (specific) {
9882
+ ogTransform = specific[casted.subType]?.transform;
9883
+ }
9884
+ if (!ogTransform) {
9885
+ ogTransform = nodeCallBacks[casted.type]?.transform;
9886
+ }
9887
+ }
9888
+ return ogTransform ? ogTransform(casted) : curObject;
9889
+ };
9890
+ const preVisitWrapper = (curObject) => {
9891
+ let ogPreVisit;
9892
+ const casted = curObject;
9893
+ if (casted.type && casted.subType) {
9894
+ const specific = nodeSpecificCallBacks[casted.type];
9895
+ if (specific) {
9896
+ ogPreVisit = specific[casted.subType]?.preVisitor;
9897
+ }
9898
+ if (!ogPreVisit) {
9899
+ ogPreVisit = nodeCallBacks[casted.type]?.preVisitor;
9900
+ }
9901
+ }
9902
+ return ogPreVisit ? ogPreVisit(casted) : curObject;
9903
+ };
9904
+ return this.transformObject(startObject, transformWrapper, preVisitWrapper);
9828
9905
  }
9829
9906
  /**
9830
9907
  * When both nodeCallBack and NodeSpecific callBack are matched, will only look at nodeSpecifCallback
9831
9908
  */
9832
- visitNodeSpecific(curObject, nodeCallBacks, nodeSpecificCallBacks = {}) {
9833
- let callback;
9834
- const casted = curObject;
9835
- if (casted.type && casted.subType) {
9836
- const specific = nodeSpecificCallBacks[casted.type];
9837
- if (specific) {
9838
- callback = specific[casted.subType];
9909
+ visitNodeSpecific(startObject, nodeCallBacks, nodeSpecificCallBacks) {
9910
+ const visitWrapper = (curObject) => {
9911
+ let ogTransform;
9912
+ const casted = curObject;
9913
+ if (casted.type && casted.subType) {
9914
+ const specific = nodeSpecificCallBacks[casted.type];
9915
+ if (specific) {
9916
+ ogTransform = specific[casted.subType]?.visitor;
9917
+ }
9918
+ if (!ogTransform) {
9919
+ ogTransform = nodeCallBacks[casted.type]?.visitor;
9920
+ }
9839
9921
  }
9840
- }
9841
- if (!callback && casted.type) {
9842
- callback = nodeCallBacks[curObject.type];
9843
- }
9844
- let shouldIterate = true;
9845
- if (callback) {
9846
- shouldIterate = callback(curObject) ?? true;
9847
- }
9848
- if (shouldIterate) {
9849
- for (const value of Object.values(curObject)) {
9850
- this.safeObjectVisit(value, (obj) => this.visitNodeSpecific(obj, nodeCallBacks, nodeSpecificCallBacks));
9922
+ if (ogTransform) {
9923
+ ogTransform(casted);
9851
9924
  }
9852
- }
9925
+ };
9926
+ const preVisitWrapper = (curObject) => {
9927
+ let ogPreVisit;
9928
+ const casted = curObject;
9929
+ if (casted.type && casted.subType) {
9930
+ const specific = nodeSpecificCallBacks[casted.type];
9931
+ if (specific) {
9932
+ ogPreVisit = specific[casted.subType]?.preVisitor;
9933
+ }
9934
+ if (!ogPreVisit) {
9935
+ ogPreVisit = nodeCallBacks[casted.type]?.preVisitor;
9936
+ }
9937
+ }
9938
+ return ogPreVisit ? ogPreVisit(casted) : curObject;
9939
+ };
9940
+ this.visitObject(startObject, visitWrapper, preVisitWrapper);
9941
+ }
9942
+ traverseSubNodes(currentNode, traverseNode, traverseSubNode) {
9943
+ let didShortCut = false;
9944
+ const recurse = (curNode) => {
9945
+ let traverser;
9946
+ const subObj = traverseSubNode[curNode.type];
9947
+ if (subObj) {
9948
+ traverser = subObj[curNode.subType];
9949
+ }
9950
+ if (!traverser) {
9951
+ traverser = traverseNode[curNode.type];
9952
+ }
9953
+ if (traverser) {
9954
+ const { next, shortcut } = traverser(curNode);
9955
+ didShortCut = shortcut ?? false;
9956
+ if (!didShortCut) {
9957
+ for (const node of next ?? []) {
9958
+ if (didShortCut) {
9959
+ return;
9960
+ }
9961
+ recurse(node);
9962
+ }
9963
+ }
9964
+ }
9965
+ };
9966
+ recurse(currentNode);
9853
9967
  }
9854
9968
  };
9855
9969
 
@@ -11363,12 +11477,12 @@ var CommonIRIs;
11363
11477
  CommonIRIs2["NIL"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#nil";
11364
11478
  CommonIRIs2["TYPE"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#type";
11365
11479
  })(CommonIRIs || (CommonIRIs = {}));
11366
- var TransformerSparql11 = class extends TransformerSubType {
11480
+ var AstTransformer = class extends TransformerSubType {
11367
11481
  };
11368
11482
 
11369
11483
  // ../../packages/rules-sparql-1-1/lib/validation/validators.js
11370
11484
  var F = new AstFactory();
11371
- var transformer = new TransformerSparql11();
11485
+ var transformer = new AstTransformer();
11372
11486
  function getAggregatesOfExpression(expression2) {
11373
11487
  if (F.isExpressionAggregate(expression2)) {
11374
11488
  return [expression2];
@@ -11447,77 +11561,69 @@ function queryIsGood(query2) {
11447
11561
  }
11448
11562
  }
11449
11563
  }
11564
+ function notUndefined(some2) {
11565
+ return some2 !== void 0;
11566
+ }
11450
11567
  function findPatternBoundedVars(iter, boundedVars) {
11451
- if (F.isQuery(iter) || F.isUpdate(iter)) {
11452
- if (F.isQuerySelect(iter) || F.isQueryDescribe(iter)) {
11453
- if (iter.where && iter.variables.some((x) => F.isWildcard(x))) {
11454
- findPatternBoundedVars(iter.where, boundedVars);
11455
- } else {
11456
- for (const v of iter.variables) {
11457
- findPatternBoundedVars(v, boundedVars);
11458
- }
11459
- }
11460
- if (iter.solutionModifiers.group) {
11461
- const grouping = iter.solutionModifiers.group;
11462
- for (const g of grouping.groupings) {
11463
- if ("variable" in g) {
11464
- findPatternBoundedVars(g.variable, boundedVars);
11465
- }
11466
- }
11467
- }
11468
- if (iter.values?.values && iter.values.values.length > 0) {
11469
- const values3 = iter.values.values;
11470
- for (const v of Object.keys(values3[0])) {
11568
+ transformer.traverseSubNodes(iter, {
11569
+ query: (op) => ({ next: [
11570
+ op.solutionModifiers.group
11571
+ ].filter(notUndefined) }),
11572
+ triple: (op) => ({ next: [op.subject, op.predicate, op.object] }),
11573
+ path: (op) => ({ next: op.items }),
11574
+ tripleCollection: (op) => ({ next: [op.identifier, ...op.triples] })
11575
+ }, {
11576
+ query: {
11577
+ select: (op) => ({ next: [
11578
+ ...op.variables.some((x) => F.isWildcard(x)) ? [op.where] : op.variables,
11579
+ op.solutionModifiers.group,
11580
+ op.values
11581
+ ].filter(notUndefined) }),
11582
+ describe: (op) => ({ next: [
11583
+ ...op.variables.some((x) => F.isWildcard(x)) ? [op.where] : op.variables,
11584
+ op.solutionModifiers.group,
11585
+ op.values
11586
+ ].filter(notUndefined) })
11587
+ },
11588
+ solutionModifier: {
11589
+ group: (op) => ({
11590
+ next: op.groupings.filter((g) => "variable" in g).map((x) => x.variable)
11591
+ }),
11592
+ having: (op) => ({ next: op.having }),
11593
+ order: (op) => ({ next: op.orderDefs.map((x) => x.expression) })
11594
+ },
11595
+ pattern: {
11596
+ values: (op) => {
11597
+ for (const v of Object.keys(op.values.at(0) ?? {})) {
11471
11598
  boundedVars.add(v);
11472
11599
  }
11600
+ return {};
11601
+ },
11602
+ bgp: (op) => ({ next: op.triples }),
11603
+ group: (op) => ({ next: op.patterns }),
11604
+ union: (op) => ({ next: op.patterns }),
11605
+ optional: (op) => ({ next: op.patterns }),
11606
+ service: (op) => ({ next: [op.name, ...op.patterns] }),
11607
+ bind: (op) => ({ next: [op.variable] }),
11608
+ graph: (op) => ({ next: [op.name, ...op.patterns] }),
11609
+ minus: (op) => ({ next: op.patterns.slice(0, 1) })
11610
+ },
11611
+ term: {
11612
+ variable: (op) => {
11613
+ boundedVars.add(op.value);
11614
+ return {};
11473
11615
  }
11474
11616
  }
11475
- } else if (F.isTerm(iter)) {
11476
- if (F.isTermVariable(iter)) {
11477
- boundedVars.add(iter.value);
11478
- }
11479
- } else if (F.isTriple(iter)) {
11480
- findPatternBoundedVars(iter.subject, boundedVars);
11481
- findPatternBoundedVars(iter.predicate, boundedVars);
11482
- findPatternBoundedVars(iter.object, boundedVars);
11483
- } else if (F.isPath(iter)) {
11484
- if (!F.isTerm(iter)) {
11485
- for (const item of iter.items) {
11486
- findPatternBoundedVars(item, boundedVars);
11487
- }
11488
- }
11489
- } else if (F.isTripleCollection(iter) || F.isPatternBgp(iter)) {
11490
- for (const triple of iter.triples) {
11491
- findPatternBoundedVars(triple, boundedVars);
11492
- }
11493
- } else if (F.isPatternGroup(iter) || F.isPatternUnion(iter) || F.isPatternOptional(iter) || F.isPatternService(iter)) {
11494
- for (const pattern of iter.patterns) {
11495
- findPatternBoundedVars(pattern, boundedVars);
11496
- }
11497
- if (F.isPatternService(iter)) {
11498
- findPatternBoundedVars(iter.name, boundedVars);
11499
- }
11500
- } else if (F.isPatternBind(iter)) {
11501
- findPatternBoundedVars(iter.variable, boundedVars);
11502
- } else if (F.isPatternValues(iter)) {
11503
- for (const variable of Object.keys(iter.values.at(0) ?? {})) {
11504
- boundedVars.add(variable);
11505
- }
11506
- } else if (F.isPatternGraph(iter)) {
11507
- findPatternBoundedVars(iter.name, boundedVars);
11508
- for (const pattern of iter.patterns) {
11509
- findPatternBoundedVars(pattern, boundedVars);
11510
- }
11511
- }
11617
+ });
11512
11618
  }
11513
11619
  function checkNote13(patterns) {
11514
11620
  for (const [index, pattern] of patterns.entries()) {
11515
11621
  if (F.isPatternBind(pattern) && index > 0 && F.isPatternBgp(patterns[index - 1])) {
11516
11622
  const bgp = patterns[index - 1];
11517
11623
  const variables = [];
11518
- transformer.visitNodeSpecific(bgp, {}, { term: { variable: (var_2) => {
11624
+ transformer.visitNodeSpecific(bgp, {}, { term: { variable: { visitor: (var_2) => {
11519
11625
  variables.push(var_2);
11520
- } } });
11626
+ } } } });
11521
11627
  if (variables.some((var_2) => var_2.value === pattern.variable.value)) {
11522
11628
  throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);
11523
11629
  }
@@ -11543,12 +11649,12 @@ function updateNoReuseBlankNodeLabels(updateQuery) {
11543
11649
  const operation = update2.operation;
11544
11650
  if (operation.subType === "insertdata") {
11545
11651
  const blankNodesHere = /* @__PURE__ */ new Set();
11546
- transformer.visitNodeSpecific(operation, {}, { term: { blankNode: (blankNode2) => {
11652
+ transformer.visitNodeSpecific(operation, {}, { term: { blankNode: { visitor: (blankNode2) => {
11547
11653
  blankNodesHere.add(blankNode2.label);
11548
11654
  if (blankLabelsUsedInInsertData.has(blankNode2.label)) {
11549
11655
  throw new Error("Detected reuse blank node across different INSERT DATA clauses");
11550
11656
  }
11551
- } } });
11657
+ } } } });
11552
11658
  for (const blankNode2 of blankNodesHere) {
11553
11659
  blankLabelsUsedInInsertData.add(blankNode2);
11554
11660
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@traqula/parser-sparql-1-2",
3
3
  "type": "module",
4
- "version": "0.0.16",
4
+ "version": "0.0.17",
5
5
  "description": "SPARQL 1.2 parser",
6
6
  "lsd:module": true,
7
7
  "license": "MIT",
@@ -53,17 +53,17 @@
53
53
  "spec:earl": "yarn spec:earl:query-1-1 && yarn spec:earl:update-1-1"
54
54
  },
55
55
  "dependencies": {
56
- "@traqula/core": "^0.0.16",
57
- "@traqula/parser-sparql-1-1": "^0.0.16",
58
- "@traqula/rules-sparql-1-1": "^0.0.16",
59
- "@traqula/rules-sparql-1-2": "^0.0.16",
56
+ "@traqula/core": "^0.0.17",
57
+ "@traqula/parser-sparql-1-1": "^0.0.17",
58
+ "@traqula/rules-sparql-1-1": "^0.0.17",
59
+ "@traqula/rules-sparql-1-2": "^0.0.17",
60
60
  "rdf-data-factory": "^2.0.1"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@rdfjs/types": "^2.0.0",
64
- "@traqula/test-utils": "^0.0.16",
64
+ "@traqula/test-utils": "^0.0.17",
65
65
  "rdf-data-factory": "^2.0.1",
66
66
  "rdf-test-suite": "^2.0.0"
67
67
  },
68
- "gitHead": "2de4ee608a2337bed63ecc5cf336b1a57c39e45f"
68
+ "gitHead": "e4c1ef096da34d42ff86ac01d9affd428754c0b1"
69
69
  }