@traqula/parser-sparql-1-2 0.0.10 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/Parser.d.ts CHANGED
@@ -2,27 +2,10 @@ 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" | "expression" | "functionCall" | "aggregate" | "graphRef" | "path" | "filter" | "bind" | "query" | "solutionModifier" | "blankNode" | "load" | "clear" | "drop" | "create" | "add" | "move" | "copy" | "modify" | "update" | "queryUnit" | "prologue" | "selectQuery" | "constructQuery" | "describeQuery" | "askQuery" | "valuesClause" | "baseDecl" | "prefixDecl" | "subSelect" | "selectClause" | "whereClause" | "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" | "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" | "objectList" | "graphNode" | "varOrTerm" | "triplesNode" | "collection" | "blankNodePropertyList" | "propertyListNotEmpty" | "verb" | "VerbA" | "varOrIri" | "iriFull" | "pathAlternative" | "pathSequence" | "pathEltOrInverse" | "pathElt" | "pathPrimary" | "pathMod" | "pathNegatedPropertySet" | "pathOneInPropertySet" | "objectPath" | "graphNodePath" | "collectionPath" | "blankNodePropertyListPath" | "graphPatternNotTriples" | "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" | "insertData" | "quadData" | "deleteData" | "deleteWhere" | "quadPattern" | "graphRefAll" | "graphOrDefault" | "quads" | "update1" | "quadsNotTriples" | "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", {
5
+ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "string" | "object" | "query" | "update" | "queryUnit" | "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" | "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
- 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").PathNegated | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PropertyPathChain]>;
8
- expression: import("@traqula/core").ParserRule<T12.SparqlContext, "expression", T12.Expression, []>;
9
- functionCall: import("@traqula/core").ParserRule<T12.SparqlContext, "functionCall", T12.ExpressionFunctionCall, []>;
10
- aggregate: import("@traqula/core").ParserRule<T12.SparqlContext, "aggregate", T12.ExpressionAggregate, []>;
11
- graphRef: import("@traqula/core").ParserRule<T12.SparqlContext, "graphRef", import("@traqula/rules-sparql-1-1").GraphRefSpecific, []>;
12
- path: import("@traqula/core").ParserRule<any, "path"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"path", import("@traqula/rules-sparql-1-1").Path>;
13
- filter: import("@traqula/core").ParserRule<T12.SparqlContext, "filter", T12.PatternFilter, []>;
14
- bind: import("@traqula/core").ParserRule<T12.SparqlContext, "bind", T12.PatternBind, []>;
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]>;
15
8
  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, []>;
16
- solutionModifier: import("@traqula/core").ParserRule<T12.SparqlContext, "solutionModifier", T12.SolutionModifiers, []>;
17
- blankNode: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNode", import("@traqula/rules-sparql-1-1").TermBlank, []>;
18
- load: import("@traqula/core").ParserRule<T12.SparqlContext, "load", T12.UpdateOperationLoad, []>;
19
- clear: import("@traqula/core").ParserRule<T12.SparqlContext, "clear", T12.UpdateOperationClear, []>;
20
- drop: import("@traqula/core").ParserRule<T12.SparqlContext, "drop", T12.UpdateOperationDrop, []>;
21
- create: import("@traqula/core").ParserRule<T12.SparqlContext, "create", T12.UpdateOperationCreate, []>;
22
- add: import("@traqula/core").ParserRule<T12.SparqlContext, "add", T12.UpdateOperationAdd, []>;
23
- move: import("@traqula/core").ParserRule<T12.SparqlContext, "move", T12.UpdateOperationMove, []>;
24
- copy: import("@traqula/core").ParserRule<T12.SparqlContext, "copy", T12.UpdateOperationCopy, []>;
25
- modify: import("@traqula/core").ParserRule<T12.SparqlContext, "modify", T12.UpdateOperationModify, []>;
26
9
  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, []>;
27
10
  queryUnit: import("@traqula/core").ParserRule<any, "queryUnit"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"queryUnit", import("@traqula/rules-sparql-1-1").Query>;
28
11
  prologue: import("@traqula/core").ParserRule<T12.SparqlContext, "prologue", T12.ContextDefinition[], []>;
@@ -36,6 +19,8 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
36
19
  subSelect: import("@traqula/core").ParserRule<T12.SparqlContext, "subSelect", Omit<T12.QuerySelect, "prefixes">, []>;
37
20
  selectClause: import("@traqula/core").ParserRule<T12.SparqlContext, "selectClause", Wrap<Pick<T12.QuerySelect, "variables" | "distinct" | "reduced">>, []>;
38
21
  whereClause: import("@traqula/core").ParserRule<T12.SparqlContext, "whereClause", Wrap<T12.PatternGroup>, []>;
22
+ solutionModifier: import("@traqula/core").ParserRule<T12.SparqlContext, "solutionModifier", T12.SolutionModifiers, []>;
23
+ expression: import("@traqula/core").ParserRule<T12.SparqlContext, "expression", T12.Expression, []>;
39
24
  conditionalOrExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "conditionalOrExpression", T12.Expression, []>;
40
25
  conditionalAndExpression: import("@traqula/core").ParserRule<T12.SparqlContext, "conditionalAndExpression", T12.Expression, []>;
41
26
  valueLogical: import("@traqula/core").ParserRule<T12.SparqlContext, "valueLogical", T12.Expression, []>;
@@ -73,6 +58,8 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
73
58
  builtInUcase: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInUcase", T12.ExpressionOperation, []>;
74
59
  builtInLcase: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInLcase", T12.ExpressionOperation, []>;
75
60
  builtInEncode_for_uri: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInEncode_for_uri", T12.ExpressionOperation, []>;
61
+ functionCall: import("@traqula/core").ParserRule<T12.SparqlContext, "functionCall", T12.ExpressionFunctionCall, []>;
62
+ aggregate: import("@traqula/core").ParserRule<T12.SparqlContext, "aggregate", T12.ExpressionAggregate, []>;
76
63
  builtInContains: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInContains", T12.ExpressionOperation, []>;
77
64
  builtInStrstarts: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInStrstarts", T12.ExpressionOperation, []>;
78
65
  builtInStrends: import("@traqula/core").ParserRule<T12.SparqlContext, "builtInStrends", T12.ExpressionOperation, []>;
@@ -131,8 +118,10 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
131
118
  propertyListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyListPath", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
132
119
  verbPath: import("@traqula/core").ParserRule<T12.SparqlContext, "verbPath", import("@traqula/rules-sparql-1-1").Path, []>;
133
120
  verbSimple: import("@traqula/core").ParserRule<T12.SparqlContext, "verbSimple", import("@traqula/rules-sparql-1-1").TermVariable, []>;
134
- 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").PathNegated | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PropertyPathChain]>;
135
- 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").PathNegated | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PropertyPathChain]>;
121
+ 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]>;
122
+ blankNode: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNode", import("@traqula/rules-sparql-1-1").TermBlank, []>;
123
+ path: import("@traqula/core").ParserRule<any, "path"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"path", import("@traqula/rules-sparql-1-1").Path>;
124
+ 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]>;
136
125
  graphNode: import("@traqula/core").ParserRule<T12.SparqlContext, "graphNode", T12.GraphNode, []>;
137
126
  varOrTerm: import("@traqula/core").ParserRule<T12.SparqlContext, "varOrTerm", T12.Term, []>;
138
127
  triplesNode: import("@traqula/core").ParserRule<T12.SparqlContext, "triplesNode", T12.TripleCollection, []>;
@@ -146,8 +135,8 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
146
135
  VerbA: import("@traqula/core").ParserRule<T12.SparqlContext, "VerbA", import("@traqula/rules-sparql-1-1").TermIriFull, []>;
147
136
  varOrIri: import("@traqula/core").ParserRule<T12.SparqlContext, "varOrIri", TermIri | import("@traqula/rules-sparql-1-1").TermVariable, []>;
148
137
  iriFull: import("@traqula/core").ParserRule<T12.SparqlContext, "iriFull", import("@traqula/rules-sparql-1-1").TermIriFull, []>;
149
- 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").PathNegated | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PropertyPathChain>;
150
- 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").PathNegated | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PropertyPathChain>;
138
+ 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>;
139
+ 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>;
151
140
  pathEltOrInverse: import("@traqula/core").ParserRule<any, "pathEltOrInverse"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathEltOrInverse", import("@traqula/rules-sparql-1-1").Path>;
152
141
  pathElt: import("@traqula/core").ParserRule<any, "pathElt"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathElt", import("@traqula/rules-sparql-1-1").Path>;
153
142
  pathPrimary: import("@traqula/core").ParserRule<any, "pathPrimary"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathPrimary", import("@traqula/rules-sparql-1-1").Path>;
@@ -156,7 +145,7 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
156
145
  }>;
157
146
  pathNegatedPropertySet: import("@traqula/core").ParserRule<any, "pathNegatedPropertySet"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathNegatedPropertySet", import("@traqula/rules-sparql-1-1").PathNegated>;
158
147
  pathOneInPropertySet: import("@traqula/core").ParserRule<any, "pathOneInPropertySet"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"pathOneInPropertySet", TermIri | import("@traqula/rules-sparql-1-1").PathNegatedElt>;
159
- 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").PathNegated | import("@traqula/rules-sparql-1-1").PathModified | import("@traqula/rules-sparql-1-1").PropertyPathChain]>;
148
+ 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]>;
160
149
  graphNodePath: import("@traqula/core").ParserRule<T12.SparqlContext, "graphNodePath", T12.GraphNode, []>;
161
150
  collectionPath: import("@traqula/core").ParserRule<T12.SparqlContext, "collectionPath", T12.TripleCollectionList, []>;
162
151
  blankNodePropertyListPath: import("@traqula/core").ParserRule<T12.SparqlContext, "blankNodePropertyListPath", Patch<import("@traqula/rules-sparql-1-1").TripleCollectionBlankNodeProperties, {
@@ -164,6 +153,8 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
164
153
  identifier: T12.TermBlank | T12.TermVariable | T12.TermIri;
165
154
  }>, []>;
166
155
  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, []>;
156
+ filter: import("@traqula/core").ParserRule<T12.SparqlContext, "filter", T12.PatternFilter, []>;
157
+ bind: import("@traqula/core").ParserRule<T12.SparqlContext, "bind", T12.PatternBind, []>;
167
158
  groupOrUnionGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "groupOrUnionGraphPattern", T12.PatternGroup | T12.PatternUnion, []>;
168
159
  optionalGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "optionalGraphPattern", T12.PatternOptional, []>;
169
160
  minusGraphPattern: import("@traqula/core").ParserRule<T12.SparqlContext, "minusGraphPattern", T12.PatternMinus, []>;
@@ -202,16 +193,25 @@ export declare const sparql12ParserBuilder: ParserBuilder<T12.SparqlContext, "st
202
193
  propertyList: import("@traqula/core").ParserRule<T12.SparqlContext, "propertyList", T12.TripleNesting[], [import("@traqula/rules-sparql-1-1").GraphNode]>;
203
194
  constructTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "constructTriples", T12.PatternBgp, []>;
204
195
  updateUnit: import("@traqula/core").ParserRule<any, "updateUnit"> & import("@traqula/rules-sparql-1-1").SparqlGrammarRule<"updateUnit", 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, []>;
205
203
  insertData: import("@traqula/core").ParserRule<T12.SparqlContext, "insertData", T12.UpdateOperationInsertData, []>;
206
204
  quadData: import("@traqula/core").ParserRule<T12.SparqlContext, "quadData", Wrap<T12.Quads[]>, []>;
207
205
  deleteData: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteData", T12.UpdateOperationDeleteData, []>;
208
206
  deleteWhere: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteWhere", T12.UpdateOperationDeleteWhere, []>;
209
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, []>;
210
209
  graphRefAll: import("@traqula/core").ParserRule<T12.SparqlContext, "graphRefAll", import("@traqula/rules-sparql-1-1").GraphRef, []>;
211
- graphOrDefault: import("@traqula/core").ParserRule<T12.SparqlContext, "graphOrDefault", import("@traqula/rules-sparql-1-1").GraphRefDefault | import("@traqula/rules-sparql-1-1").GraphRefSpecific, []>;
210
+ graphOrDefault: import("@traqula/core").ParserRule<T12.SparqlContext, "graphOrDefault", import("@traqula/rules-sparql-1-1").GraphRefSpecific | import("@traqula/rules-sparql-1-1").GraphRefDefault, []>;
212
211
  quads: import("@traqula/core").ParserRule<T12.SparqlContext, "quads", Wrap<T12.Quads[]>, []>;
213
212
  update1: import("@traqula/core").ParserRule<T12.SparqlContext, "update1", T12.UpdateOperation, []>;
214
213
  quadsNotTriples: import("@traqula/core").ParserRule<T12.SparqlContext, "quadsNotTriples", T12.GraphQuads, []>;
214
+ modify: import("@traqula/core").ParserRule<T12.SparqlContext, "modify", T12.UpdateOperationModify, []>;
215
215
  deleteClause: import("@traqula/core").ParserRule<T12.SparqlContext, "deleteClause", Wrap<T12.Quads[]>, []>;
216
216
  insertClause: import("@traqula/core").ParserRule<T12.SparqlContext, "insertClause", Wrap<T12.Quads[]>, []>;
217
217
  usingClauses: import("@traqula/core").ParserRule<T12.SparqlContext, "usingClauses", T12.DatasetClauses, []>;
package/lib/Parser.js CHANGED
@@ -20,6 +20,7 @@ export const sparql12ParserBuilder = ParserBuilder.create(sparql11ParserBuilder)
20
20
  .patchRule(S12.primaryExpression)
21
21
  .patchRule(S12.builtInCall)
22
22
  .patchRule(S12.rdfLiteral)
23
+ .patchRule(S12.unaryExpression)
23
24
  .patchRule(S12.prologue);
24
25
  export class Parser {
25
26
  parser;
package/lib/Parser.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Parser.js","sourceRoot":"","sources":["Parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport type { Patch, Wrap } from '@traqula/core';\nimport { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';\nimport {\n gram as g11,\n type TermIri,\n sparqlCodepointEscape,\n} from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, Factory, gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\nexport const sparql12ParserBuilder = ParserBuilder.create(sparql11ParserBuilder)\n .widenContext<T12.SparqlContext>()\n .typePatch<{\n /// GeneralFile\n queryOrUpdate: [ T12.SparqlQuery];\n /// Query Unit file\n [g11.selectQuery.name]: [Omit<T12.QuerySelect, g11.HandledByBase>];\n [g11.subSelect.name]: [ Omit<T12.SubSelect, 'prefixes'>];\n [g11.selectClause.name]: [Wrap<Pick<T12.QuerySelect, 'variables' | 'distinct' | 'reduced'>>];\n [g11.constructQuery.name]: [Omit<T12.QueryConstruct, g11.HandledByBase>];\n [g11.describeQuery.name]: [Omit<T12.QueryDescribe, g11.HandledByBase>];\n [g11.askQuery.name]: [Omit<T12.QueryAsk, g11.HandledByBase>];\n [g11.valuesClause.name]: [T12.PatternValues[] | undefined];\n [g11.constructTemplate.name]: [Wrap<T12.PatternBgp>];\n [g11.constructTriples.name]: [T12.PatternBgp];\n /// Update Unit file\n [g11.update1.name]: [T12.UpdateOperation];\n [g11.load.name]: [T12.UpdateOperationLoad];\n [g11.clear.name]: [T12.UpdateOperationClear];\n [g11.drop.name]: [T12.UpdateOperationDrop];\n [g11.create.name]: [T12.UpdateOperationCreate];\n [g11.add.name]: [T12.UpdateOperationAdd];\n [g11.move.name]: [T12.UpdateOperationMove];\n [g11.copy.name]: [T12.UpdateOperationCopy];\n [g11.quadPattern.name]: [Wrap<T12.Quads[]>];\n [g11.quadData.name]: [Wrap<T12.Quads[]>];\n [g11.insertData.name]: [T12.UpdateOperationInsertData];\n [g11.deleteData.name]: [T12.UpdateOperationDeleteData];\n [g11.deleteWhere.name]: [T12.UpdateOperationDeleteWhere];\n [g11.modify.name]: [T12.UpdateOperationModify];\n [g11.deleteClause.name]: [Wrap<T12.Quads[]>];\n [g11.insertClause.name]: [Wrap<T12.Quads[]>];\n [g11.graphOrDefault.name]: [T12.GraphRefDefault | T12.GraphRefSpecific];\n [g11.graphRef.name]: [T12.GraphRefSpecific];\n [g11.graphRefAll.name]: [T12.GraphRef];\n [g11.quads.name]: [Wrap<T12.Quads[]>];\n [g11.quadsNotTriples.name]: [T12.GraphQuads];\n /// Built-in functions\n [g11.builtInStr.name]: [T12.ExpressionOperation];\n [g11.builtInLang.name]: [T12.ExpressionOperation];\n [g11.builtInLangmatches.name]: [T12.ExpressionOperation];\n [g11.builtInDatatype.name]: [T12.ExpressionOperation];\n [g11.builtInBound.name]: [T12.ExpressionOperation];\n [g11.builtInIri.name]: [T12.ExpressionOperation];\n [g11.builtInUri.name]: [T12.ExpressionOperation];\n [g11.builtInBnodeSparqlJs.name]: [T12.ExpressionOperation];\n [g11.builtInRand.name]: [T12.ExpressionOperation];\n [g11.builtInAbs.name]: [T12.ExpressionOperation];\n [g11.builtInCeil.name]: [T12.ExpressionOperation];\n [g11.builtInFloor.name]: [T12.ExpressionOperation];\n [g11.builtInRound.name]: [T12.ExpressionOperation];\n [g11.builtInConcat.name]: [T12.ExpressionOperation];\n [g11.substringExpression.name]: [T12.ExpressionOperation];\n [g11.builtInStrlen.name]: [T12.ExpressionOperation];\n [g11.strReplaceExpression.name]: [T12.ExpressionOperation];\n [g11.builtInUcase.name]: [T12.ExpressionOperation];\n [g11.builtInLcase.name]: [T12.ExpressionOperation];\n [g11.builtInEncode_for_uri.name]: [T12.ExpressionOperation];\n [g11.builtInContains.name]: [T12.ExpressionOperation];\n [g11.builtInStrstarts.name]: [T12.ExpressionOperation];\n [g11.builtInStrends.name]: [T12.ExpressionOperation];\n [g11.builtInStrbefore.name]: [T12.ExpressionOperation];\n [g11.builtInStrafter.name]: [T12.ExpressionOperation];\n [g11.builtInYear.name]: [T12.ExpressionOperation];\n [g11.builtInMonth.name]: [T12.ExpressionOperation];\n [g11.builtInDay.name]: [T12.ExpressionOperation];\n [g11.builtInHours.name]: [T12.ExpressionOperation];\n [g11.builtInMinutes.name]: [T12.ExpressionOperation];\n [g11.builtInSeconds.name]: [T12.ExpressionOperation];\n [g11.builtInTimezone.name]: [T12.ExpressionOperation];\n [g11.builtInTz.name]: [T12.ExpressionOperation];\n [g11.builtInNow.name]: [T12.ExpressionOperation];\n [g11.builtInUuid.name]: [T12.ExpressionOperation];\n [g11.builtInStruuid.name]: [T12.ExpressionOperation];\n [g11.builtInMd5.name]: [T12.ExpressionOperation];\n [g11.builtInSha1.name]: [T12.ExpressionOperation];\n [g11.builtInSha256.name]: [T12.ExpressionOperation];\n [g11.builtInSha384.name]: [T12.ExpressionOperation];\n [g11.builtInSha512.name]: [T12.ExpressionOperation];\n [g11.builtInCoalesce.name]: [T12.ExpressionOperation];\n [g11.builtInIf.name]: [T12.ExpressionOperation];\n [g11.builtInStrlang.name]: [T12.ExpressionOperation];\n [g11.builtInStrdt.name]: [T12.ExpressionOperation];\n [g11.builtInSameterm.name]: [T12.ExpressionOperation];\n [g11.builtInIsiri.name]: [T12.ExpressionOperation];\n [g11.builtInIsuri.name]: [T12.ExpressionOperation];\n [g11.builtInIsblank.name]: [T12.ExpressionOperation];\n [g11.builtInIsliteral.name]: [T12.ExpressionOperation];\n [g11.builtInIsnumeric.name]: [T12.ExpressionOperation];\n [g11.existsFunc.name]: [T12.ExpressionPatternOperation];\n [g11.notExistsFunc.name]: [T12.ExpressionPatternOperation];\n [g11.aggregateCount.name]: [T12.ExpressionAggregateOnWildcard | T12.ExpressionAggregateDefault];\n [g11.aggregateSum.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateMin.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateMax.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateAvg.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateSample.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateGroup_concat.name]: [T12.ExpressionAggregateDefault | T12.ExpressionAggregateSeparator];\n [g11.aggregate.name]: [T12.ExpressionAggregate];\n [g11.builtInCall.name]: [T12.Expression];\n /// DatasetClause\n [g11.datasetClause.name]: [Wrap<T12.DatasetClauses['clauses'][0]>];\n [g11.defaultGraphClause.name]: [T12.TermIri];\n [g11.usingClause.name]: [Wrap<T12.DatasetClauses['clauses'][0]>];\n [g11.datasetClauseStar.name]: [T12.DatasetClauses];\n [g11.usingClauseStar.name]: [T12.DatasetClauses];\n [g11.namedGraphClause.name]: [Wrap<T12.TermIri>];\n [g11.sourceSelector.name]: [T12.TermIri];\n // Expression file\n [g11.argList.name]: [Wrap<Patch<g11.IArgList, { args: T12.Expression[] }>>];\n [g11.expressionList.name]: [Wrap<T12.Expression[]>];\n [g11.expression.name]: [T12.Expression];\n [g11.conditionalOrExpression.name]: [T12.ExpressionOperation | T12.Expression];\n [g11.conditionalAndExpression.name]: [T12.Expression];\n [g11.valueLogical.name]: [T12.Expression];\n [g11.relationalExpression.name]: [T12.ExpressionOperation | T12.Expression];\n [g11.numericExpression.name]: [T12.Expression];\n [g11.additiveExpression.name]: [T12.Expression];\n [g11.multiplicativeExpression.name]: [T12.Expression];\n [g11.unaryExpression.name]: [T12.Expression];\n [g11.primaryExpression.name]: [T12.Expression];\n [g11.brackettedExpression.name]: [T12.Expression];\n [g11.iriOrFunction.name]: [T12.TermIri | T12.ExpressionFunctionCall];\n /// General\n [g11.prologue.name]: [T12.ContextDefinition[]];\n [g11.baseDecl.name]: [T12.ContextDefinition];\n [g11.prefixDecl.name]: [T12.ContextDefinition];\n [g11.verb.name]: [T12.TermVariable | T12.TermIri];\n [g11.varOrTerm.name]: [T12.Term];\n [g11.varOrIri.name]: [T12.TermIri | T12.TermVariable];\n [g11.var_.name]: [T12.TermVariable];\n [g11.graphTerm.name]: [T12.GraphTerm];\n /// Literals\n [g11.rdfLiteral.name]: [T12.TermLiteral];\n [g11.numericLiteral.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralUnsigned.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralPositive.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralNegative.name]: [T12.TermLiteralTyped];\n [g11.booleanLiteral.name]: [T12.TermLiteralTyped];\n [g11.string.name]: [T12.TermLiteralStr];\n [g11.iri.name]: [T12.TermIri];\n [g11.iriFull.name]: [T12.TermIriFull];\n [g11.prefixedName.name]: [T12.TermIriPrefixed];\n [g11.blankNode.name]: [T12.TermBlank];\n [g11.verbA.name]: [T12.TermIriFull];\n /// / Paths: unchanged\n /// / SolutionModifiers\n [g11.solutionModifier.name]: [T12.SolutionModifiers];\n [g11.groupClause.name]: [T12.SolutionModifierGroup];\n [g11.groupCondition.name]: [T12.Expression | T12.SolutionModifierGroupBind];\n [g11.havingClause.name]: [T12.SolutionModifierHaving];\n [g11.havingCondition.name]: [T12.Expression];\n [g11.orderClause.name]: [T12.SolutionModifierOrder];\n [g11.orderCondition.name]: [T12.Ordering];\n [g11.limitOffsetClauses.name]: [T12.SolutionModifierLimitOffset];\n [g11.limitClause.name]: [Wrap<number>];\n [g11.offsetClause.name]: [ Wrap<number>];\n /// tripleBlock\n [g11.triplesBlock.name]: [T12.PatternBgp];\n [g11.triplesSameSubject.name]: [T12.BasicGraphPattern];\n [g11.triplesSameSubjectPath.name]: [T12.BasicGraphPattern];\n [g11.triplesTemplate.name]: [T12.PatternBgp];\n [g11.propertyList.name]: [T12.TripleNesting[]];\n [g11.propertyListPath.name]: [T12.TripleNesting[]];\n [g11.propertyListNotEmpty.name]: [T12.TripleNesting[]];\n [g11.propertyListPathNotEmpty.name]: [T12.TripleNesting[]];\n [g11.verbPath.name]: [T12.Path];\n [g11.verbSimple.name]: [T12.TermVariable];\n [g11.objectList.name]: [T12.TripleNesting[], [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectListPath.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.object.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectPath.name]: [T12.TripleNesting[], [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.collection.name]: [T12.TripleCollectionList];\n [g11.collectionPath.name]: [T12.TripleCollectionList];\n [g11.triplesNode.name]: [T12.TripleCollection];\n [g11.triplesNodePath.name]: [T12.TripleCollection];\n [g11.blankNodePropertyList.name]: [T12.TripleCollectionBlankNodeProperties];\n [g11.blankNodePropertyListPath.name]: [T12.TripleCollectionBlankNodeProperties];\n [g11.graphNode.name]: [T12.Term | T12.TripleCollection];\n [g11.graphNodePath.name]: [T12.Term | T12.TripleCollection];\n /// WhereClause\n [g11.whereClause.name]: [Wrap<T12.PatternGroup>];\n [g11.groupGraphPattern.name]: [T12.PatternGroup];\n [g11.groupGraphPatternSub.name]: [T12.Pattern[]];\n [g11.graphPatternNotTriples.name]: [Exclude<T12.Pattern, T12.SubSelect | T12.PatternBgp>];\n [g11.optionalGraphPattern.name]: [T12.PatternOptional];\n [g11.graphGraphPattern.name]: [T12.PatternGraph];\n [g11.serviceGraphPattern.name]: [T12.PatternService];\n [g11.bind.name]: [T12.PatternBind];\n [g11.inlineData.name]: [T12.PatternValues];\n [g11.dataBlock.name]: [Wrap<T12.ValuePatternRow[]>];\n [g11.inlineDataOneVar.name]: [Wrap<T12.ValuePatternRow[]>];\n [g11.inlineDataFull.name]: [Wrap<T12.ValuePatternRow[]>];\n [g11.dataBlockValue.name]: [T12.TermIri | T12.TermLiteral | undefined];\n [g11.minusGraphPattern.name]: [T12.PatternMinus];\n [g11.groupOrUnionGraphPattern.name]: [T12.PatternGroup | T12.PatternUnion];\n [g11.filter.name]: [T12.PatternFilter];\n [g11.constraint.name]: [T12.Expression];\n [g11.functionCall.name]: [T12.ExpressionFunctionCall];\n }>()\n .addMany(\n S12.reifiedTripleBlock,\n S12.reifiedTripleBlockPath,\n S12.reifier,\n S12.varOrReifierId,\n S12.annotation,\n S12.annotationPath,\n S12.annotationBlockPath,\n S12.annotationBlock,\n S12.reifiedTriple,\n S12.reifiedTripleSubject,\n S12.reifiedTripleObject,\n S12.tripleTerm,\n S12.tripleTermSubject,\n S12.tripleTermObject,\n S12.tripleTermData,\n S12.tripleTermDataSubject,\n S12.tripleTermDataObject,\n S12.exprTripleTerm,\n S12.exprTripleTermSubject,\n S12.exprTripleTermObject,\n )\n .addMany(\n S12.versionDecl,\n S12.versionSpecifier,\n )\n .addMany(\n S12.buildInLangDir,\n S12.buildInLangStrDir,\n S12.buildInHasLang,\n S12.buildInHasLangDir,\n S12.buildInIsTriple,\n S12.buildInTriple,\n S12.buildInSubject,\n S12.buildInPredicate,\n S12.buildInObject,\n )\n .patchRule(S12.dataBlockValue)\n .patchRule(S12.triplesSameSubject)\n .patchRule(S12.triplesSameSubjectPath)\n .patchRule(S12.object)\n .patchRule(S12.objectPath)\n .patchRule(S12.graphNode)\n .patchRule(S12.graphNodePath)\n .patchRule(S12.varOrTerm)\n .deleteRule(g11.graphTerm.name)\n .patchRule(S12.primaryExpression)\n .patchRule(S12.builtInCall)\n .patchRule(S12.rdfLiteral)\n .patchRule(S12.prologue);\n\nexport type SparqlParser = ReturnType<typeof sparql12ParserBuilder.build>;\n\nexport class Parser {\n private readonly parser: SparqlParser;\n\n private readonly F = new Factory();\n\n public constructor() {\n this.parser = sparql12ParserBuilder.build({\n queryPreProcessor: sparqlCodepointEscape,\n tokenVocabulary: l12.sparql12LexerBuilder.tokenVocabulary,\n });\n }\n\n public parse(query: string, context: Partial<T12.SparqlContext> = {}): T12.SparqlQuery {\n return this.parser.queryOrUpdate(query, completeParseContext(context));\n }\n\n public parsePath(\n query: string,\ncontext: Partial<T12.SparqlContext> = {},\n ): (T12.Path & { prefixes: object }) | TermIri {\n const res = this.parser.path(query, completeParseContext(context));\n if (this.F.isPathPure(res)) {\n return {\n ...res,\n prefixes: {},\n };\n }\n return res;\n }\n}\n"]}
1
+ {"version":3,"file":"Parser.js","sourceRoot":"","sources":["Parser.ts"],"names":[],"mappings":"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","sourcesContent":["import { ParserBuilder } from '@traqula/core';\nimport type { Patch, Wrap } from '@traqula/core';\nimport { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1';\nimport {\n gram as g11,\n type TermIri,\n sparqlCodepointEscape,\n} from '@traqula/rules-sparql-1-1';\nimport { completeParseContext, Factory, gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2';\nimport type * as T12 from '@traqula/rules-sparql-1-2';\n\nexport const sparql12ParserBuilder = ParserBuilder.create(sparql11ParserBuilder)\n .widenContext<T12.SparqlContext>()\n .typePatch<{\n /// GeneralFile\n queryOrUpdate: [ T12.SparqlQuery];\n /// Query Unit file\n [g11.selectQuery.name]: [Omit<T12.QuerySelect, g11.HandledByBase>];\n [g11.subSelect.name]: [ Omit<T12.SubSelect, 'prefixes'>];\n [g11.selectClause.name]: [Wrap<Pick<T12.QuerySelect, 'variables' | 'distinct' | 'reduced'>>];\n [g11.constructQuery.name]: [Omit<T12.QueryConstruct, g11.HandledByBase>];\n [g11.describeQuery.name]: [Omit<T12.QueryDescribe, g11.HandledByBase>];\n [g11.askQuery.name]: [Omit<T12.QueryAsk, g11.HandledByBase>];\n [g11.valuesClause.name]: [T12.PatternValues[] | undefined];\n [g11.constructTemplate.name]: [Wrap<T12.PatternBgp>];\n [g11.constructTriples.name]: [T12.PatternBgp];\n /// Update Unit file\n [g11.update1.name]: [T12.UpdateOperation];\n [g11.load.name]: [T12.UpdateOperationLoad];\n [g11.clear.name]: [T12.UpdateOperationClear];\n [g11.drop.name]: [T12.UpdateOperationDrop];\n [g11.create.name]: [T12.UpdateOperationCreate];\n [g11.add.name]: [T12.UpdateOperationAdd];\n [g11.move.name]: [T12.UpdateOperationMove];\n [g11.copy.name]: [T12.UpdateOperationCopy];\n [g11.quadPattern.name]: [Wrap<T12.Quads[]>];\n [g11.quadData.name]: [Wrap<T12.Quads[]>];\n [g11.insertData.name]: [T12.UpdateOperationInsertData];\n [g11.deleteData.name]: [T12.UpdateOperationDeleteData];\n [g11.deleteWhere.name]: [T12.UpdateOperationDeleteWhere];\n [g11.modify.name]: [T12.UpdateOperationModify];\n [g11.deleteClause.name]: [Wrap<T12.Quads[]>];\n [g11.insertClause.name]: [Wrap<T12.Quads[]>];\n [g11.graphOrDefault.name]: [T12.GraphRefDefault | T12.GraphRefSpecific];\n [g11.graphRef.name]: [T12.GraphRefSpecific];\n [g11.graphRefAll.name]: [T12.GraphRef];\n [g11.quads.name]: [Wrap<T12.Quads[]>];\n [g11.quadsNotTriples.name]: [T12.GraphQuads];\n /// Built-in functions\n [g11.builtInStr.name]: [T12.ExpressionOperation];\n [g11.builtInLang.name]: [T12.ExpressionOperation];\n [g11.builtInLangmatches.name]: [T12.ExpressionOperation];\n [g11.builtInDatatype.name]: [T12.ExpressionOperation];\n [g11.builtInBound.name]: [T12.ExpressionOperation];\n [g11.builtInIri.name]: [T12.ExpressionOperation];\n [g11.builtInUri.name]: [T12.ExpressionOperation];\n [g11.builtInBnodeSparqlJs.name]: [T12.ExpressionOperation];\n [g11.builtInRand.name]: [T12.ExpressionOperation];\n [g11.builtInAbs.name]: [T12.ExpressionOperation];\n [g11.builtInCeil.name]: [T12.ExpressionOperation];\n [g11.builtInFloor.name]: [T12.ExpressionOperation];\n [g11.builtInRound.name]: [T12.ExpressionOperation];\n [g11.builtInConcat.name]: [T12.ExpressionOperation];\n [g11.substringExpression.name]: [T12.ExpressionOperation];\n [g11.builtInStrlen.name]: [T12.ExpressionOperation];\n [g11.strReplaceExpression.name]: [T12.ExpressionOperation];\n [g11.builtInUcase.name]: [T12.ExpressionOperation];\n [g11.builtInLcase.name]: [T12.ExpressionOperation];\n [g11.builtInEncode_for_uri.name]: [T12.ExpressionOperation];\n [g11.builtInContains.name]: [T12.ExpressionOperation];\n [g11.builtInStrstarts.name]: [T12.ExpressionOperation];\n [g11.builtInStrends.name]: [T12.ExpressionOperation];\n [g11.builtInStrbefore.name]: [T12.ExpressionOperation];\n [g11.builtInStrafter.name]: [T12.ExpressionOperation];\n [g11.builtInYear.name]: [T12.ExpressionOperation];\n [g11.builtInMonth.name]: [T12.ExpressionOperation];\n [g11.builtInDay.name]: [T12.ExpressionOperation];\n [g11.builtInHours.name]: [T12.ExpressionOperation];\n [g11.builtInMinutes.name]: [T12.ExpressionOperation];\n [g11.builtInSeconds.name]: [T12.ExpressionOperation];\n [g11.builtInTimezone.name]: [T12.ExpressionOperation];\n [g11.builtInTz.name]: [T12.ExpressionOperation];\n [g11.builtInNow.name]: [T12.ExpressionOperation];\n [g11.builtInUuid.name]: [T12.ExpressionOperation];\n [g11.builtInStruuid.name]: [T12.ExpressionOperation];\n [g11.builtInMd5.name]: [T12.ExpressionOperation];\n [g11.builtInSha1.name]: [T12.ExpressionOperation];\n [g11.builtInSha256.name]: [T12.ExpressionOperation];\n [g11.builtInSha384.name]: [T12.ExpressionOperation];\n [g11.builtInSha512.name]: [T12.ExpressionOperation];\n [g11.builtInCoalesce.name]: [T12.ExpressionOperation];\n [g11.builtInIf.name]: [T12.ExpressionOperation];\n [g11.builtInStrlang.name]: [T12.ExpressionOperation];\n [g11.builtInStrdt.name]: [T12.ExpressionOperation];\n [g11.builtInSameterm.name]: [T12.ExpressionOperation];\n [g11.builtInIsiri.name]: [T12.ExpressionOperation];\n [g11.builtInIsuri.name]: [T12.ExpressionOperation];\n [g11.builtInIsblank.name]: [T12.ExpressionOperation];\n [g11.builtInIsliteral.name]: [T12.ExpressionOperation];\n [g11.builtInIsnumeric.name]: [T12.ExpressionOperation];\n [g11.existsFunc.name]: [T12.ExpressionPatternOperation];\n [g11.notExistsFunc.name]: [T12.ExpressionPatternOperation];\n [g11.aggregateCount.name]: [T12.ExpressionAggregateOnWildcard | T12.ExpressionAggregateDefault];\n [g11.aggregateSum.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateMin.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateMax.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateAvg.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateSample.name]: [T12.ExpressionAggregateDefault];\n [g11.aggregateGroup_concat.name]: [T12.ExpressionAggregateDefault | T12.ExpressionAggregateSeparator];\n [g11.aggregate.name]: [T12.ExpressionAggregate];\n [g11.builtInCall.name]: [T12.Expression];\n /// DatasetClause\n [g11.datasetClause.name]: [Wrap<T12.DatasetClauses['clauses'][0]>];\n [g11.defaultGraphClause.name]: [T12.TermIri];\n [g11.usingClause.name]: [Wrap<T12.DatasetClauses['clauses'][0]>];\n [g11.datasetClauseStar.name]: [T12.DatasetClauses];\n [g11.usingClauseStar.name]: [T12.DatasetClauses];\n [g11.namedGraphClause.name]: [Wrap<T12.TermIri>];\n [g11.sourceSelector.name]: [T12.TermIri];\n // Expression file\n [g11.argList.name]: [Wrap<Patch<g11.IArgList, { args: T12.Expression[] }>>];\n [g11.expressionList.name]: [Wrap<T12.Expression[]>];\n [g11.expression.name]: [T12.Expression];\n [g11.conditionalOrExpression.name]: [T12.ExpressionOperation | T12.Expression];\n [g11.conditionalAndExpression.name]: [T12.Expression];\n [g11.valueLogical.name]: [T12.Expression];\n [g11.relationalExpression.name]: [T12.ExpressionOperation | T12.Expression];\n [g11.numericExpression.name]: [T12.Expression];\n [g11.additiveExpression.name]: [T12.Expression];\n [g11.multiplicativeExpression.name]: [T12.Expression];\n [g11.unaryExpression.name]: [T12.Expression];\n [g11.primaryExpression.name]: [T12.Expression];\n [g11.brackettedExpression.name]: [T12.Expression];\n [g11.iriOrFunction.name]: [T12.TermIri | T12.ExpressionFunctionCall];\n /// General\n [g11.prologue.name]: [T12.ContextDefinition[]];\n [g11.baseDecl.name]: [T12.ContextDefinition];\n [g11.prefixDecl.name]: [T12.ContextDefinition];\n [g11.verb.name]: [T12.TermVariable | T12.TermIri];\n [g11.varOrTerm.name]: [T12.Term];\n [g11.varOrIri.name]: [T12.TermIri | T12.TermVariable];\n [g11.var_.name]: [T12.TermVariable];\n [g11.graphTerm.name]: [T12.GraphTerm];\n /// Literals\n [g11.rdfLiteral.name]: [T12.TermLiteral];\n [g11.numericLiteral.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralUnsigned.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralPositive.name]: [T12.TermLiteralTyped];\n [g11.numericLiteralNegative.name]: [T12.TermLiteralTyped];\n [g11.booleanLiteral.name]: [T12.TermLiteralTyped];\n [g11.string.name]: [T12.TermLiteralStr];\n [g11.iri.name]: [T12.TermIri];\n [g11.iriFull.name]: [T12.TermIriFull];\n [g11.prefixedName.name]: [T12.TermIriPrefixed];\n [g11.blankNode.name]: [T12.TermBlank];\n [g11.verbA.name]: [T12.TermIriFull];\n /// / Paths: unchanged\n /// / SolutionModifiers\n [g11.solutionModifier.name]: [T12.SolutionModifiers];\n [g11.groupClause.name]: [T12.SolutionModifierGroup];\n [g11.groupCondition.name]: [T12.Expression | T12.SolutionModifierGroupBind];\n [g11.havingClause.name]: [T12.SolutionModifierHaving];\n [g11.havingCondition.name]: [T12.Expression];\n [g11.orderClause.name]: [T12.SolutionModifierOrder];\n [g11.orderCondition.name]: [T12.Ordering];\n [g11.limitOffsetClauses.name]: [T12.SolutionModifierLimitOffset];\n [g11.limitClause.name]: [Wrap<number>];\n [g11.offsetClause.name]: [ Wrap<number>];\n /// tripleBlock\n [g11.triplesBlock.name]: [T12.PatternBgp];\n [g11.triplesSameSubject.name]: [T12.BasicGraphPattern];\n [g11.triplesSameSubjectPath.name]: [T12.BasicGraphPattern];\n [g11.triplesTemplate.name]: [T12.PatternBgp];\n [g11.propertyList.name]: [T12.TripleNesting[]];\n [g11.propertyListPath.name]: [T12.TripleNesting[]];\n [g11.propertyListNotEmpty.name]: [T12.TripleNesting[]];\n [g11.propertyListPathNotEmpty.name]: [T12.TripleNesting[]];\n [g11.verbPath.name]: [T12.Path];\n [g11.verbSimple.name]: [T12.TermVariable];\n [g11.objectList.name]: [T12.TripleNesting[], [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectListPath.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.object.name]: [T12.TripleNesting, [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.objectPath.name]: [T12.TripleNesting[], [ T12.TripleNesting['subject'], T12.TripleNesting['predicate'] ]];\n [g11.collection.name]: [T12.TripleCollectionList];\n [g11.collectionPath.name]: [T12.TripleCollectionList];\n [g11.triplesNode.name]: [T12.TripleCollection];\n [g11.triplesNodePath.name]: [T12.TripleCollection];\n [g11.blankNodePropertyList.name]: [T12.TripleCollectionBlankNodeProperties];\n [g11.blankNodePropertyListPath.name]: [T12.TripleCollectionBlankNodeProperties];\n [g11.graphNode.name]: [T12.Term | T12.TripleCollection];\n [g11.graphNodePath.name]: [T12.Term | T12.TripleCollection];\n /// WhereClause\n [g11.whereClause.name]: [Wrap<T12.PatternGroup>];\n [g11.groupGraphPattern.name]: [T12.PatternGroup];\n [g11.groupGraphPatternSub.name]: [T12.Pattern[]];\n [g11.graphPatternNotTriples.name]: [Exclude<T12.Pattern, T12.SubSelect | T12.PatternBgp>];\n [g11.optionalGraphPattern.name]: [T12.PatternOptional];\n [g11.graphGraphPattern.name]: [T12.PatternGraph];\n [g11.serviceGraphPattern.name]: [T12.PatternService];\n [g11.bind.name]: [T12.PatternBind];\n [g11.inlineData.name]: [T12.PatternValues];\n [g11.dataBlock.name]: [Wrap<T12.ValuePatternRow[]>];\n [g11.inlineDataOneVar.name]: [Wrap<T12.ValuePatternRow[]>];\n [g11.inlineDataFull.name]: [Wrap<T12.ValuePatternRow[]>];\n [g11.dataBlockValue.name]: [T12.TermIri | T12.TermLiteral | undefined];\n [g11.minusGraphPattern.name]: [T12.PatternMinus];\n [g11.groupOrUnionGraphPattern.name]: [T12.PatternGroup | T12.PatternUnion];\n [g11.filter.name]: [T12.PatternFilter];\n [g11.constraint.name]: [T12.Expression];\n [g11.functionCall.name]: [T12.ExpressionFunctionCall];\n }>()\n .addMany(\n S12.reifiedTripleBlock,\n S12.reifiedTripleBlockPath,\n S12.reifier,\n S12.varOrReifierId,\n S12.annotation,\n S12.annotationPath,\n S12.annotationBlockPath,\n S12.annotationBlock,\n S12.reifiedTriple,\n S12.reifiedTripleSubject,\n S12.reifiedTripleObject,\n S12.tripleTerm,\n S12.tripleTermSubject,\n S12.tripleTermObject,\n S12.tripleTermData,\n S12.tripleTermDataSubject,\n S12.tripleTermDataObject,\n S12.exprTripleTerm,\n S12.exprTripleTermSubject,\n S12.exprTripleTermObject,\n )\n .addMany(\n S12.versionDecl,\n S12.versionSpecifier,\n )\n .addMany(\n S12.buildInLangDir,\n S12.buildInLangStrDir,\n S12.buildInHasLang,\n S12.buildInHasLangDir,\n S12.buildInIsTriple,\n S12.buildInTriple,\n S12.buildInSubject,\n S12.buildInPredicate,\n S12.buildInObject,\n )\n .patchRule(S12.dataBlockValue)\n .patchRule(S12.triplesSameSubject)\n .patchRule(S12.triplesSameSubjectPath)\n .patchRule(S12.object)\n .patchRule(S12.objectPath)\n .patchRule(S12.graphNode)\n .patchRule(S12.graphNodePath)\n .patchRule(S12.varOrTerm)\n .deleteRule(g11.graphTerm.name)\n .patchRule(S12.primaryExpression)\n .patchRule(S12.builtInCall)\n .patchRule(S12.rdfLiteral)\n .patchRule(S12.unaryExpression)\n .patchRule(S12.prologue);\n\nexport type SparqlParser = ReturnType<typeof sparql12ParserBuilder.build>;\n\nexport class Parser {\n private readonly parser: SparqlParser;\n\n private readonly F = new Factory();\n\n public constructor() {\n this.parser = sparql12ParserBuilder.build({\n queryPreProcessor: sparqlCodepointEscape,\n tokenVocabulary: l12.sparql12LexerBuilder.tokenVocabulary,\n });\n }\n\n public parse(query: string, context: Partial<T12.SparqlContext> = {}): T12.SparqlQuery {\n return this.parser.queryOrUpdate(query, completeParseContext(context));\n }\n\n public parsePath(\n query: string,\ncontext: Partial<T12.SparqlContext> = {},\n ): (T12.Path & { prefixes: object }) | TermIri {\n const res = this.parser.path(query, completeParseContext(context));\n if (this.F.isPathPure(res)) {\n return {\n ...res,\n prefixes: {},\n };\n }\n return res;\n }\n}\n"]}
package/lib/index.cjs CHANGED
@@ -9746,58 +9746,115 @@ function createToken2(config) {
9746
9746
  return createToken(config);
9747
9747
  }
9748
9748
 
9749
- // ../../packages/core/lib/Transformer.ts
9750
- var Transformer = class {
9751
- transformNode(curObject, searchType, patch) {
9752
- const copy3 = { ...curObject };
9753
- for (const [key, value] of Object.entries(copy3)) {
9754
- copy3[key] = this.safeObjectVisit(value, (obj) => this.transformNode(obj, searchType, patch));
9755
- }
9756
- if (copy3.type === searchType) {
9757
- return patch(copy3);
9749
+ // ../../packages/core/lib/Transformers.ts
9750
+ var TransformerType = class {
9751
+ safeObjectVisit(value, mapper) {
9752
+ if (value && typeof value === "object") {
9753
+ if (Array.isArray(value)) {
9754
+ return value.map((x) => this.safeObjectVisit(x, mapper));
9755
+ }
9756
+ return mapper(value);
9758
9757
  }
9759
- return copy3;
9758
+ return value;
9760
9759
  }
9761
- transformNodeSpecific(curObject, searchType, searchSubType, patch) {
9760
+ transformNode(curObject, nodeCallBacks) {
9761
+ let continueCheck;
9762
+ let transformation;
9763
+ const casted = curObject;
9764
+ if (casted.type) {
9765
+ continueCheck = nodeCallBacks[casted.type]?.continue;
9766
+ transformation = nodeCallBacks[casted.type]?.transform;
9767
+ }
9768
+ let shouldContinue = true;
9769
+ if (continueCheck) {
9770
+ shouldContinue = continueCheck(curObject);
9771
+ }
9772
+ if (!shouldContinue) {
9773
+ return curObject;
9774
+ }
9762
9775
  const copy3 = { ...curObject };
9763
9776
  for (const [key, value] of Object.entries(copy3)) {
9764
- copy3[key] = this.safeObjectVisit(value, (obj) => this.transformNodeSpecific(obj, searchType, searchSubType, patch));
9777
+ copy3[key] = this.safeObjectVisit(value, (obj) => this.transformNode(obj, nodeCallBacks));
9765
9778
  }
9766
- if (copy3.type === searchType && copy3.subType === searchSubType) {
9767
- return patch(copy3);
9779
+ if (transformation) {
9780
+ return transformation(copy3);
9768
9781
  }
9769
9782
  return copy3;
9770
9783
  }
9771
- visitObjects(curObject, visitor) {
9772
- for (const value of Object.values(curObject)) {
9773
- this.safeObjectVisit(value, (obj) => this.visitObjects(obj, visitor));
9784
+ visitNode(curObject, nodeCallBacks) {
9785
+ let callback;
9786
+ const casted = curObject;
9787
+ if (casted.type) {
9788
+ callback = nodeCallBacks[casted.type];
9774
9789
  }
9775
- }
9776
- visitNode(curObject, searchType, visitor) {
9777
- for (const value of Object.values(curObject)) {
9778
- this.safeObjectVisit(value, (obj) => this.visitNode(obj, searchType, visitor));
9790
+ let shouldIterate = true;
9791
+ if (callback) {
9792
+ shouldIterate = callback(curObject);
9779
9793
  }
9780
- if (curObject.type === searchType) {
9781
- visitor(curObject);
9794
+ if (shouldIterate) {
9795
+ for (const value of Object.values(curObject)) {
9796
+ this.safeObjectVisit(value, (obj) => this.visitNode(obj, nodeCallBacks));
9797
+ }
9782
9798
  }
9783
9799
  }
9784
- visitNodeSpecific(curObject, searchType, searchSubType, visitor) {
9785
- for (const value of Object.values(curObject)) {
9786
- this.safeObjectVisit(value, (obj) => this.visitNodeSpecific(obj, searchType, searchSubType, visitor));
9800
+ };
9801
+ var TransformerSubType = class extends TransformerType {
9802
+ // Public visitObjects(curObject: object, visitor: (current: object) => void): void {
9803
+ // for (const value of Object.values(curObject)) {
9804
+ // this.safeObjectVisit(value, obj => this.visitObjects(obj, visitor));
9805
+ // }
9806
+ // }
9807
+ transformNodeSpecific(curObject, nodeCallBacks, nodeSpecificCallBacks = {}) {
9808
+ let continueCheck;
9809
+ let transformation;
9810
+ const casted = curObject;
9811
+ if (casted.type && casted.subType) {
9812
+ const specific = nodeSpecificCallBacks[casted.type];
9813
+ if (specific) {
9814
+ continueCheck = specific[casted.subType]?.continue;
9815
+ transformation = specific[casted.subType]?.transform;
9816
+ }
9817
+ }
9818
+ let shouldContinue = true;
9819
+ if (continueCheck) {
9820
+ shouldContinue = continueCheck(curObject);
9787
9821
  }
9788
- const cast = curObject;
9789
- if (cast.type === searchType && cast.subType === searchSubType) {
9790
- visitor(curObject);
9822
+ if (!shouldContinue) {
9823
+ return curObject;
9791
9824
  }
9825
+ const copy3 = { ...curObject };
9826
+ for (const [key, value] of Object.entries(copy3)) {
9827
+ copy3[key] = this.safeObjectVisit(value, (obj) => this.transformNodeSpecific(obj, nodeCallBacks, nodeSpecificCallBacks));
9828
+ }
9829
+ if (transformation) {
9830
+ return transformation(copy3);
9831
+ }
9832
+ return copy3;
9792
9833
  }
9793
- safeObjectVisit(value, mapper) {
9794
- if (value && typeof value === "object") {
9795
- if (Array.isArray(value)) {
9796
- return value.map((x) => this.safeObjectVisit(x, mapper));
9834
+ /**
9835
+ * When both nodeCallBack and NodeSpecific callBack are matched, will only look at nodeSpecifCallback
9836
+ */
9837
+ visitNodeSpecific(curObject, nodeCallBacks, nodeSpecificCallBacks = {}) {
9838
+ let callback;
9839
+ const casted = curObject;
9840
+ if (casted.type && casted.subType) {
9841
+ const specific = nodeSpecificCallBacks[casted.type];
9842
+ if (specific) {
9843
+ callback = specific[casted.subType];
9844
+ }
9845
+ }
9846
+ if (!callback && casted.type) {
9847
+ callback = nodeCallBacks[curObject.type];
9848
+ }
9849
+ let shouldIterate = true;
9850
+ if (callback) {
9851
+ shouldIterate = callback(curObject) ?? true;
9852
+ }
9853
+ if (shouldIterate) {
9854
+ for (const value of Object.values(curObject)) {
9855
+ this.safeObjectVisit(value, (obj) => this.visitNodeSpecific(obj, nodeCallBacks, nodeSpecificCallBacks));
9797
9856
  }
9798
- return mapper(value);
9799
9857
  }
9800
- return value;
9801
9858
  }
9802
9859
  };
9803
9860
 
@@ -11447,9 +11504,34 @@ var Factory = class extends asArg(CoreFactory).call(ContextFactoryMixin).call(Ex
11447
11504
  }
11448
11505
  };
11449
11506
 
11507
+ // ../../packages/rules-sparql-1-1/lib/utils.ts
11508
+ function sparqlCodepointEscape(input) {
11509
+ const sanitizedInput = input.replaceAll(
11510
+ /\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{8})/gu,
11511
+ (_, unicode4, unicode8) => {
11512
+ if (unicode4) {
11513
+ const charCode2 = Number.parseInt(unicode4, 16);
11514
+ return String.fromCodePoint(charCode2);
11515
+ }
11516
+ const charCode = Number.parseInt(unicode8, 16);
11517
+ if (charCode < 65535) {
11518
+ return String.fromCodePoint(charCode);
11519
+ }
11520
+ const substractedCharCode = charCode - 65536;
11521
+ return String.fromCodePoint(55296 + (substractedCharCode >> 10), 56320 + (substractedCharCode & 1023));
11522
+ }
11523
+ );
11524
+ if (/[\uD800-\uDBFF](?:[^\uDC00-\uDFFF]|$)/u.test(sanitizedInput)) {
11525
+ throw new Error(`Invalid unicode codepoint of surrogate pair without corresponding codepoint`);
11526
+ }
11527
+ return sanitizedInput;
11528
+ }
11529
+ var TransformerSparql11 = class extends TransformerSubType {
11530
+ };
11531
+
11450
11532
  // ../../packages/rules-sparql-1-1/lib/validation/validators.ts
11451
11533
  var F = new Factory();
11452
- var transformer = new Transformer();
11534
+ var transformer = new TransformerSparql11();
11453
11535
  function getAggregatesOfExpression(expression2) {
11454
11536
  if (F.isExpressionAggregate(expression2)) {
11455
11537
  return [expression2];
@@ -11598,7 +11680,9 @@ function checkNote13(patterns) {
11598
11680
  if (F.isPatternBind(pattern) && index > 0 && F.isPatternBgp(patterns[index - 1])) {
11599
11681
  const bgp = patterns[index - 1];
11600
11682
  const variables = [];
11601
- transformer.visitNodeSpecific(bgp, "term", "variable", (var_2) => variables.push(var_2));
11683
+ transformer.visitNodeSpecific(bgp, {}, { term: { variable: (var_2) => {
11684
+ variables.push(var_2);
11685
+ } } });
11602
11686
  if (variables.some((var_2) => var_2.value === pattern.variable.value)) {
11603
11687
  throw new Error(`Variable used to bind is already bound (?${pattern.variable.value})`);
11604
11688
  }
@@ -11624,12 +11708,12 @@ function updateNoReuseBlankNodeLabels(updateQuery) {
11624
11708
  const operation = update2.operation;
11625
11709
  if (operation.subType === "insertdata") {
11626
11710
  const blankNodesHere = /* @__PURE__ */ new Set();
11627
- transformer.visitNodeSpecific(operation, "term", "blankNode", (blankNode2) => {
11711
+ transformer.visitNodeSpecific(operation, {}, { term: { blankNode: (blankNode2) => {
11628
11712
  blankNodesHere.add(blankNode2.label);
11629
11713
  if (blankLabelsUsedInInsertData.has(blankNode2.label)) {
11630
11714
  throw new Error("Detected reuse blank node across different INSERT DATA clauses");
11631
11715
  }
11632
- });
11716
+ } } });
11633
11717
  for (const blankNode2 of blankNodesHere) {
11634
11718
  blankLabelsUsedInInsertData.add(blankNode2);
11635
11719
  }
@@ -11637,29 +11721,6 @@ function updateNoReuseBlankNodeLabels(updateQuery) {
11637
11721
  }
11638
11722
  }
11639
11723
 
11640
- // ../../packages/rules-sparql-1-1/lib/utils.ts
11641
- function sparqlCodepointEscape(input) {
11642
- const sanitizedInput = input.replaceAll(
11643
- /\\u([0-9a-fA-F]{4})|\\U([0-9a-fA-F]{8})/gu,
11644
- (_, unicode4, unicode8) => {
11645
- if (unicode4) {
11646
- const charCode2 = Number.parseInt(unicode4, 16);
11647
- return String.fromCodePoint(charCode2);
11648
- }
11649
- const charCode = Number.parseInt(unicode8, 16);
11650
- if (charCode < 65535) {
11651
- return String.fromCodePoint(charCode);
11652
- }
11653
- const substractedCharCode = charCode - 65536;
11654
- return String.fromCodePoint(55296 + (substractedCharCode >> 10), 56320 + (substractedCharCode & 1023));
11655
- }
11656
- );
11657
- if (/[\uD800-\uDBFF](?:[^\uDC00-\uDFFF]|$)/u.test(sanitizedInput)) {
11658
- throw new Error(`Invalid unicode codepoint of surrogate pair without corresponding codepoint`);
11659
- }
11660
- return sanitizedInput;
11661
- }
11662
-
11663
11724
  // ../../packages/rules-sparql-1-1/lib/grammar/literals.ts
11664
11725
  function stringEscapedLexical(str2) {
11665
11726
  const lexical = str2.replaceAll(/["\\\t\n\r\b\f]/gu, (char) => {
@@ -13642,13 +13703,11 @@ var unaryExpression = {
13642
13703
  { ALT: () => CONSUME(symbols_exports.opMinus) }
13643
13704
  ]);
13644
13705
  const expr = SUBRULE2(primaryExpression);
13645
- return ACTION(() => ({
13646
- type: "expression",
13647
- subType: "operation",
13648
- operator: operator.image === "!" ? "!" : operator.image === "+" ? "UPLUS" : "UMINUS",
13649
- args: [expr],
13650
- loc: C.factory.sourceLocation(operator, expr)
13651
- }));
13706
+ return ACTION(() => C.factory.expressionOperation(
13707
+ operator.image === "!" ? "!" : operator.image === "+" ? "UPLUS" : "UMINUS",
13708
+ [expr],
13709
+ C.factory.sourceLocation(operator, expr)
13710
+ ));
13652
13711
  } }
13653
13712
  ])
13654
13713
  };
@@ -15182,6 +15241,7 @@ __export(grammar_exports2, {
15182
15241
  tripleTermSubject: () => tripleTermSubject,
15183
15242
  triplesSameSubject: () => triplesSameSubject2,
15184
15243
  triplesSameSubjectPath: () => triplesSameSubjectPath2,
15244
+ unaryExpression: () => unaryExpression2,
15185
15245
  varOrReifierId: () => varOrReifierId,
15186
15246
  varOrTerm: () => varOrTerm2,
15187
15247
  versionDecl: () => versionDecl,
@@ -15264,7 +15324,7 @@ var sparql12LexerBuilder = LexerBuilder.create(lexer_exports.sparql11LexerBuilde
15264
15324
  buildInOBJECT
15265
15325
  ).addBefore(lexer_exports.terminals.langTag, LANG_DIR).delete(lexer_exports.terminals.langTag);
15266
15326
 
15267
- // ../../packages/rules-sparql-1-2/lib/validator.ts
15327
+ // ../../packages/rules-sparql-1-2/lib/validators.ts
15268
15328
  var F2 = new Factory();
15269
15329
  function isLangDir(dir) {
15270
15330
  return dir === "ltr" || dir === "rtl";
@@ -15739,6 +15799,33 @@ var rdfLiteral2 = {
15739
15799
  ])) ?? value;
15740
15800
  }
15741
15801
  };
15802
+ var unaryExpression2 = {
15803
+ name: "unaryExpression",
15804
+ impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => (C) => OR1([
15805
+ { ALT: () => SUBRULE1(primaryExpression2) },
15806
+ { ALT: () => {
15807
+ const operator = CONSUME(lexer_exports.symbols.exclamation);
15808
+ const expr = SUBRULE1(unaryExpression2);
15809
+ return ACTION(() => C.factory.expressionOperation(
15810
+ "!",
15811
+ [expr],
15812
+ C.factory.sourceLocation(operator, expr)
15813
+ ));
15814
+ } },
15815
+ { ALT: () => {
15816
+ const operator = OR2([
15817
+ { ALT: () => CONSUME(lexer_exports.symbols.opPlus) },
15818
+ { ALT: () => CONSUME(lexer_exports.symbols.opMinus) }
15819
+ ]);
15820
+ const expr = SUBRULE2(primaryExpression2);
15821
+ return ACTION(() => C.factory.expressionOperation(
15822
+ operator.image === "!" ? "!" : operator.image === "+" ? "UPLUS" : "UMINUS",
15823
+ [expr],
15824
+ C.factory.sourceLocation(operator, expr)
15825
+ ));
15826
+ } }
15827
+ ])
15828
+ };
15742
15829
  var generateTriplesBlock = {
15743
15830
  name: "triplesBlock",
15744
15831
  gImpl: ({ SUBRULE, PRINT_WORD, HANDLE_LOC }) => (ast, { factory: F3 }) => {
@@ -15898,7 +15985,7 @@ var sparql12ParserBuilder = ParserBuilder.create(sparql11ParserBuilder).widenCon
15898
15985
  grammar_exports2.buildInSubject,
15899
15986
  grammar_exports2.buildInPredicate,
15900
15987
  grammar_exports2.buildInObject
15901
- ).patchRule(grammar_exports2.dataBlockValue).patchRule(grammar_exports2.triplesSameSubject).patchRule(grammar_exports2.triplesSameSubjectPath).patchRule(grammar_exports2.object).patchRule(grammar_exports2.objectPath).patchRule(grammar_exports2.graphNode).patchRule(grammar_exports2.graphNodePath).patchRule(grammar_exports2.varOrTerm).deleteRule(grammar_exports.graphTerm.name).patchRule(grammar_exports2.primaryExpression).patchRule(grammar_exports2.builtInCall).patchRule(grammar_exports2.rdfLiteral).patchRule(grammar_exports2.prologue);
15988
+ ).patchRule(grammar_exports2.dataBlockValue).patchRule(grammar_exports2.triplesSameSubject).patchRule(grammar_exports2.triplesSameSubjectPath).patchRule(grammar_exports2.object).patchRule(grammar_exports2.objectPath).patchRule(grammar_exports2.graphNode).patchRule(grammar_exports2.graphNodePath).patchRule(grammar_exports2.varOrTerm).deleteRule(grammar_exports.graphTerm.name).patchRule(grammar_exports2.primaryExpression).patchRule(grammar_exports2.builtInCall).patchRule(grammar_exports2.rdfLiteral).patchRule(grammar_exports2.unaryExpression).patchRule(grammar_exports2.prologue);
15902
15989
  var Parser2 = class {
15903
15990
  parser;
15904
15991
  F = new Factory2();
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.10",
4
+ "version": "0.0.13",
5
5
  "description": "SPARQL 1.2 parser",
6
6
  "lsd:module": true,
7
7
  "license": "MIT",
@@ -52,17 +52,17 @@
52
52
  "spec:earl": "yarn spec:earl:query-1-1 && yarn spec:earl:update-1-1"
53
53
  },
54
54
  "dependencies": {
55
- "@traqula/core": "^0.0.10",
56
- "@traqula/parser-sparql-1-1": "^0.0.10",
57
- "@traqula/rules-sparql-1-1": "^0.0.10",
58
- "@traqula/rules-sparql-1-2": "^0.0.10",
55
+ "@traqula/core": "^0.0.13",
56
+ "@traqula/parser-sparql-1-1": "^0.0.13",
57
+ "@traqula/rules-sparql-1-1": "^0.0.13",
58
+ "@traqula/rules-sparql-1-2": "^0.0.13",
59
59
  "rdf-data-factory": "^2.0.1"
60
60
  },
61
61
  "devDependencies": {
62
62
  "@rdfjs/types": "^2.0.0",
63
- "@traqula/test-utils": "^0.0.10",
63
+ "@traqula/test-utils": "^0.0.13",
64
64
  "rdf-data-factory": "^2.0.1",
65
65
  "rdf-test-suite": "^2.0.0"
66
66
  },
67
- "gitHead": "94b444f4b1a6904fa4e8979f023a119a48ee4a1d"
67
+ "gitHead": "324ed65dcfacb6cfa31007e0d5ee43f2599b7284"
68
68
  }