@traqula/rules-sparql-1-1 0.0.2 → 0.0.4
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/README.md +0 -2
- package/lib/Sparql11types.d.ts +373 -62
- package/lib/Sparql11types.js.map +1 -1
- package/lib/SparqlParser.d.ts +4 -4
- package/lib/SparqlParser.js +2 -2
- package/lib/SparqlParser.js.map +1 -1
- package/lib/expressionHelpers.d.ts +2 -2
- package/lib/expressionHelpers.js +19 -21
- package/lib/expressionHelpers.js.map +1 -1
- package/lib/factory.d.ts +66 -66
- package/lib/factory.js.map +1 -1
- package/lib/factoryMixins/ContextFactory.d.ts +1 -1
- package/lib/factoryMixins/ContextFactory.js.map +1 -1
- package/lib/factoryMixins/ExpressionFactory.d.ts +1 -1
- package/lib/factoryMixins/ExpressionFactory.js.map +1 -1
- package/lib/factoryMixins/GraphRefFactory.d.ts +1 -1
- package/lib/factoryMixins/GraphRefFactory.js.map +1 -1
- package/lib/factoryMixins/PathFactory.d.ts +1 -1
- package/lib/factoryMixins/PathFactory.js.map +1 -1
- package/lib/factoryMixins/Patternfactory.d.ts +1 -1
- package/lib/factoryMixins/Patternfactory.js.map +1 -1
- package/lib/factoryMixins/QueryFactory.d.ts +1 -1
- package/lib/factoryMixins/QueryFactory.js.map +1 -1
- package/lib/factoryMixins/SolutionModifiersFactory.d.ts +1 -1
- package/lib/factoryMixins/SolutionModifiersFactory.js.map +1 -1
- package/lib/factoryMixins/TermFactory.d.ts +1 -1
- package/lib/factoryMixins/TermFactory.js.map +1 -1
- package/lib/factoryMixins/UpdateOperationFactory.d.ts +1 -1
- package/lib/factoryMixins/UpdateOperationFactory.js.map +1 -1
- package/lib/grammar/builtIn.d.ts +2 -2
- package/lib/grammar/builtIn.js +66 -66
- package/lib/grammar/builtIn.js.map +1 -1
- package/lib/grammar/dataSetClause.d.ts +2 -2
- package/lib/grammar/dataSetClause.js +7 -7
- package/lib/grammar/dataSetClause.js.map +1 -1
- package/lib/grammar/expression.d.ts +2 -2
- package/lib/grammar/expression.js +47 -47
- package/lib/grammar/expression.js.map +1 -1
- package/lib/grammar/general.d.ts +2 -2
- package/lib/grammar/general.js +25 -25
- package/lib/grammar/general.js.map +1 -1
- package/lib/grammar/index.d.ts +2 -2
- package/lib/grammar/index.js +2 -2
- package/lib/grammar/index.js.map +1 -1
- package/lib/grammar/literals.d.ts +2 -2
- package/lib/grammar/literals.js +10 -10
- package/lib/grammar/literals.js.map +1 -1
- package/lib/grammar/propertyPaths.d.ts +3 -3
- package/lib/grammar/propertyPaths.js +19 -19
- package/lib/grammar/propertyPaths.js.map +1 -1
- package/lib/grammar/{queryUnit/queryUnit.d.ts → queryUnit.d.ts} +2 -2
- package/lib/grammar/{queryUnit/queryUnit.js → queryUnit.js} +67 -67
- package/lib/grammar/queryUnit.js.map +1 -0
- package/lib/grammar/solutionModifier.d.ts +2 -2
- package/lib/grammar/solutionModifier.js +29 -29
- package/lib/grammar/solutionModifier.js.map +1 -1
- package/lib/grammar/tripleBlock.d.ts +10 -10
- package/lib/grammar/tripleBlock.js +37 -37
- package/lib/grammar/tripleBlock.js.map +1 -1
- package/lib/grammar/{updateUnit/updateUnit.d.ts → updateUnit.d.ts} +2 -2
- package/lib/grammar/{updateUnit/updateUnit.js → updateUnit.js} +78 -78
- package/lib/grammar/updateUnit.js.map +1 -0
- package/lib/grammar/whereClause.d.ts +2 -2
- package/lib/grammar/whereClause.js +69 -69
- package/lib/grammar/whereClause.js.map +1 -1
- package/lib/index.cjs +1485 -1487
- package/lib/index.d.ts +1 -2
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/lexer/graph.d.ts +1 -1
- package/lib/lexer/lexer.d.ts +1 -1
- package/lib/lexer/terminals.d.ts +69 -0
- package/lib/lexer/terminals.js +69 -0
- package/lib/lexer/terminals.js.map +1 -1
- package/lib/sparql11HelperTypes.d.ts +68 -0
- package/lib/sparql11HelperTypes.js +2 -0
- package/lib/sparql11HelperTypes.js.map +1 -0
- package/lib/utils.d.ts +11 -0
- package/lib/utils.js +14 -0
- package/lib/utils.js.map +1 -1
- package/lib/validation/validators.d.ts +1 -1
- package/lib/validation/validators.js.map +1 -1
- package/package.json +3 -3
- package/lib/RoundTripTypes.d.ts +0 -379
- package/lib/RoundTripTypes.js +0 -2
- package/lib/RoundTripTypes.js.map +0 -1
- package/lib/grammar/queryUnit/queryUnit.js.map +0 -1
- package/lib/grammar/updateUnit/updateUnit.js.map +0 -1
- package/lib/grammar-helpers/utils.d.ts +0 -12
- package/lib/grammar-helpers/utils.js +0 -16
- package/lib/grammar-helpers/utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builtIn.js","sourceRoot":"","sources":["builtIn.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IOrAlt } from '@chevrotain/types';\nimport type { ImplArgs } from '@traqula/core';\nimport {\n unCapitalize,\n} from '@traqula/core';\nimport {\n funcExprOrNil1,\n baseAggregateFunc,\n funcExpr1,\n funcExpr2,\n funcExpr2or3,\n funcExpr3,\n funcExpr3or4,\n funcExprList1,\n funcGroupGraphPattern,\n funcNil1,\n funcVar1,\n} from '../expressionHelpers';\nimport * as l from '../lexer';\nimport type {\n Expression,\n ExpressionAggregate,\n ExpressionAggregateDefault,\n ExpressionAggregateOnWildcard,\n ExpressionAggregateSeparator,\n Wildcard,\n} from '../RoundTripTypes';\nimport type { SparqlGrammarRule, SparqlRule } from '../Sparql11types';\nimport { expression } from './expression';\nimport { string, stringEscapedLexical } from './literals';\n\nexport const builtInStr = funcExpr1(l.builtIn.str);\nexport const builtInLang = funcExpr1(l.builtIn.lang);\nexport const builtInLangmatches = funcExpr2(l.builtIn.langmatches);\nexport const builtInDatatype = funcExpr1(l.builtIn.datatype);\nexport const builtInBound = funcVar1(l.builtIn.bound);\nexport const builtInIri = funcExpr1(l.builtIn.iri);\nexport const builtInUri = funcExpr1(l.builtIn.uri);\nexport const builtInBnodeSparqlJs = funcExprOrNil1(l.builtIn.bnode);\nexport const builtInRand = funcNil1(l.builtIn.rand);\nexport const builtInAbs = funcExpr1(l.builtIn.abs);\nexport const builtInCeil = funcExpr1(l.builtIn.ceil);\nexport const builtInFloor = funcExpr1(l.builtIn.floor);\nexport const builtInRound = funcExpr1(l.builtIn.round);\nexport const builtInConcat = funcExprList1(l.builtIn.concat);\nexport const builtInStrlen = funcExpr1(l.builtIn.strlen);\nexport const builtInUcase = funcExpr1(l.builtIn.ucase);\nexport const builtInLcase = funcExpr1(l.builtIn.lcase);\nexport const builtInEncode_for_uri = funcExpr1(l.builtIn.encode_for_uri);\nexport const builtInContains = funcExpr2(l.builtIn.contains);\nexport const builtInStrstarts = funcExpr2(l.builtIn.strstarts);\nexport const builtInStrends = funcExpr2(l.builtIn.strends);\nexport const builtInStrbefore = funcExpr2(l.builtIn.strbefore);\nexport const builtInStrafter = funcExpr2(l.builtIn.strafter);\nexport const builtInYear = funcExpr1(l.builtIn.year);\nexport const builtInMonth = funcExpr1(l.builtIn.month);\nexport const builtInDay = funcExpr1(l.builtIn.day);\nexport const builtInHours = funcExpr1(l.builtIn.hours);\nexport const builtInMinutes = funcExpr1(l.builtIn.minutes);\nexport const builtInSeconds = funcExpr1(l.builtIn.seconds);\nexport const builtInTimezone = funcExpr1(l.builtIn.timezone);\nexport const builtInTz = funcExpr1(l.builtIn.tz);\nexport const builtInNow = funcNil1(l.builtIn.now);\nexport const builtInUuid = funcNil1(l.builtIn.uuid);\nexport const builtInStruuid = funcNil1(l.builtIn.struuid);\nexport const builtInMd5 = funcExpr1(l.builtIn.md5);\nexport const builtInSha1 = funcExpr1(l.builtIn.sha1);\nexport const builtInSha256 = funcExpr1(l.builtIn.sha256);\nexport const builtInSha384 = funcExpr1(l.builtIn.sha384);\nexport const builtInSha512 = funcExpr1(l.builtIn.sha512);\nexport const builtInCoalesce = funcExprList1(l.builtIn.coalesce);\nexport const builtInIf = funcExpr3(l.builtIn.if_);\nexport const builtInStrlang = funcExpr2(l.builtIn.strlang);\nexport const builtInStrdt = funcExpr2(l.builtIn.strdt);\nexport const builtInSameterm = funcExpr2(l.builtIn.sameterm);\nexport const builtInIsiri = funcExpr1(l.builtIn.isiri);\nexport const builtInIsuri = funcExpr1(l.builtIn.isuri);\nexport const builtInIsblank = funcExpr1(l.builtIn.isblank);\nexport const builtInIsliteral = funcExpr1(l.builtIn.isliteral);\nexport const builtInIsnumeric = funcExpr1(l.builtIn.isnumeric);\n\nexport function builtInCallList(SUBRULE: ImplArgs['SUBRULE']): IOrAlt<Expression>[] {\n return [\n { ALT: () => SUBRULE(aggregate, undefined) },\n { ALT: () => SUBRULE(builtInStr, undefined) },\n { ALT: () => SUBRULE(builtInLang, undefined) },\n { ALT: () => SUBRULE(builtInLangmatches, undefined) },\n { ALT: () => SUBRULE(builtInDatatype, undefined) },\n { ALT: () => SUBRULE(builtInBound, undefined) },\n { ALT: () => SUBRULE(builtInIri, undefined) },\n { ALT: () => SUBRULE(builtInUri, undefined) },\n { ALT: () => SUBRULE(builtInBnodeSparqlJs, undefined) },\n { ALT: () => SUBRULE(builtInRand, undefined) },\n { ALT: () => SUBRULE(builtInAbs, undefined) },\n { ALT: () => SUBRULE(builtInCeil, undefined) },\n { ALT: () => SUBRULE(builtInFloor, undefined) },\n { ALT: () => SUBRULE(builtInRound, undefined) },\n { ALT: () => SUBRULE(builtInConcat, undefined) },\n { ALT: () => SUBRULE(substringExpression, undefined) },\n { ALT: () => SUBRULE(builtInStrlen, undefined) },\n { ALT: () => SUBRULE(strReplaceExpression, undefined) },\n { ALT: () => SUBRULE(builtInUcase, undefined) },\n { ALT: () => SUBRULE(builtInLcase, undefined) },\n { ALT: () => SUBRULE(builtInEncode_for_uri, undefined) },\n { ALT: () => SUBRULE(builtInContains, undefined) },\n { ALT: () => SUBRULE(builtInStrstarts, undefined) },\n { ALT: () => SUBRULE(builtInStrends, undefined) },\n { ALT: () => SUBRULE(builtInStrbefore, undefined) },\n { ALT: () => SUBRULE(builtInStrafter, undefined) },\n { ALT: () => SUBRULE(builtInYear, undefined) },\n { ALT: () => SUBRULE(builtInMonth, undefined) },\n { ALT: () => SUBRULE(builtInDay, undefined) },\n { ALT: () => SUBRULE(builtInHours, undefined) },\n { ALT: () => SUBRULE(builtInMinutes, undefined) },\n { ALT: () => SUBRULE(builtInSeconds, undefined) },\n { ALT: () => SUBRULE(builtInTimezone, undefined) },\n { ALT: () => SUBRULE(builtInTz, undefined) },\n { ALT: () => SUBRULE(builtInNow, undefined) },\n { ALT: () => SUBRULE(builtInUuid, undefined) },\n { ALT: () => SUBRULE(builtInStruuid, undefined) },\n { ALT: () => SUBRULE(builtInMd5, undefined) },\n { ALT: () => SUBRULE(builtInSha1, undefined) },\n { ALT: () => SUBRULE(builtInSha256, undefined) },\n { ALT: () => SUBRULE(builtInSha384, undefined) },\n { ALT: () => SUBRULE(builtInSha512, undefined) },\n { ALT: () => SUBRULE(builtInCoalesce, undefined) },\n { ALT: () => SUBRULE(builtInIf, undefined) },\n { ALT: () => SUBRULE(builtInStrlang, undefined) },\n { ALT: () => SUBRULE(builtInStrdt, undefined) },\n { ALT: () => SUBRULE(builtInSameterm, undefined) },\n { ALT: () => SUBRULE(builtInIsiri, undefined) },\n { ALT: () => SUBRULE(builtInIsuri, undefined) },\n { ALT: () => SUBRULE(builtInIsblank, undefined) },\n { ALT: () => SUBRULE(builtInIsliteral, undefined) },\n { ALT: () => SUBRULE(builtInIsnumeric, undefined) },\n { ALT: () => SUBRULE(regexExpression, undefined) },\n { ALT: () => SUBRULE(existsFunc, undefined) },\n { ALT: () => SUBRULE(notExistsFunc, undefined) },\n ];\n}\n\n/**\n * [[121]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const builtInCall: SparqlGrammarRule<'builtInCall', Expression> = <const>{\n name: 'builtInCall',\n impl: ({ OR, SUBRULE, cache }) => () => {\n const cached = <IOrAlt<Expression>[]>cache.get(builtInCall);\n if (cached) {\n return OR<Expression>(cached);\n }\n const builtIns = builtInCallList(SUBRULE);\n cache.set(builtInCall, builtIns);\n return OR<Expression>(builtIns);\n },\n};\n\n/**\n * [[122]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const regexExpression = funcExpr2or3(l.builtIn.regex);\n\n/**\n * [[123]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const substringExpression = funcExpr2or3(l.builtIn.substr);\n\n/**\n * [[124]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const strReplaceExpression = funcExpr3or4(l.builtIn.replace);\n\n/**\n * [[125]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const existsFunc = funcGroupGraphPattern(l.builtIn.exists);\n\n/**\n * [[126]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const notExistsFunc = funcGroupGraphPattern(l.builtIn.notexists);\n\nexport const aggregateCount:\nSparqlGrammarRule<'builtInCount', ExpressionAggregateOnWildcard | ExpressionAggregateDefault> = {\n name: unCapitalize(l.builtIn.count.name),\n impl: ({ ACTION, CONSUME, SUBRULE, OR, OPTION }) => (C) => {\n const operatorToken = CONSUME(l.builtIn.count);\n CONSUME(l.symbols.LParen);\n const distinctToken = OPTION(() => CONSUME(l.distinct));\n\n const expressionVal = OR<Expression | Wildcard>([\n { ALT: () => {\n const starToken = CONSUME(l.symbols.star);\n return ACTION(() => C.factory.wildcard(C.factory.sourceLocation(starToken)));\n } },\n { ALT: () => SUBRULE(expression, undefined) },\n ]);\n const closeToken = CONSUME(l.symbols.RParen);\n\n return ACTION(() => {\n const F = C.factory;\n if (C.factory.isWildcard(expressionVal)) {\n return F.aggregate(\n operatorToken.image,\n Boolean(distinctToken),\n expressionVal,\n undefined,\n C.factory.sourceLocation(operatorToken, closeToken),\n );\n }\n return F.aggregate(\n operatorToken.image,\n Boolean(distinctToken),\n expressionVal,\n undefined,\n C.factory.sourceLocation(operatorToken, closeToken),\n );\n });\n },\n};\nexport const aggregateSum = baseAggregateFunc(l.builtIn.sum);\nexport const aggregateMin = baseAggregateFunc(l.builtIn.min);\nexport const aggregateMax = baseAggregateFunc(l.builtIn.max);\nexport const aggregateAvg = baseAggregateFunc(l.builtIn.avg);\nexport const aggregateSample = baseAggregateFunc(l.builtIn.sample);\nexport const aggregateGroup_concat:\nSparqlGrammarRule<'builtInGroup_concat', ExpressionAggregateDefault | ExpressionAggregateSeparator> = <const>{\n name: unCapitalize(l.builtIn.groupConcat.name),\n impl: ({ ACTION, CONSUME, OPTION1, SUBRULE, OPTION2 }) =>\n (C) => {\n const operatorToken = CONSUME(l.builtIn.groupConcat);\n CONSUME(l.symbols.LParen);\n const distinctToken = OPTION1(() => CONSUME(l.distinct));\n\n const expr = SUBRULE(expression, undefined);\n const sep = OPTION2(() => {\n CONSUME(l.symbols.semi);\n CONSUME(l.separator);\n CONSUME(l.symbols.equal);\n return SUBRULE(string, undefined);\n });\n const closeToken = CONSUME(l.symbols.RParen);\n\n return ACTION(() => {\n const F = C.factory;\n return F.aggregate(\n operatorToken.image,\n Boolean(distinctToken),\n expr,\n sep?.value ?? ' ',\n F.sourceLocation(operatorToken, closeToken),\n );\n });\n },\n};\n\n/**\n * [[127]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const aggregate: SparqlRule<'aggregate', ExpressionAggregate> = <const>{\n name: 'aggregate',\n impl: ({ ACTION, SUBRULE, OR }) => (C) => {\n // https://www.w3.org/2013/sparql-errata#errata-query-5 - Or note 15 in SPARQL1.2 spec\n // An aggregate function is not allowed within an aggregate function.\n const wasInAggregate = ACTION(() => C.parseMode.has('inAggregate'));\n ACTION(() => C.parseMode.add('inAggregate'));\n const result = OR<ExpressionAggregate>([\n { ALT: () => SUBRULE(aggregateCount, undefined) },\n { ALT: () => SUBRULE(aggregateSum, undefined) },\n { ALT: () => SUBRULE(aggregateMin, undefined) },\n { ALT: () => SUBRULE(aggregateMax, undefined) },\n { ALT: () => SUBRULE(aggregateAvg, undefined) },\n { ALT: () => SUBRULE(aggregateSample, undefined) },\n { ALT: () => SUBRULE(aggregateGroup_concat, undefined) },\n ]);\n ACTION(() => !wasInAggregate && C.parseMode.delete('inAggregate'));\n\n ACTION(() => {\n if (!C.parseMode.has('canParseAggregate')) {\n throw new Error('Aggregates are only allowed in SELECT, HAVING, and ORDER BY clauses.');\n }\n if (C.parseMode.has('inAggregate')) {\n throw new Error('An aggregate function is not allowed within an aggregate function.');\n }\n });\n\n return result;\n },\n gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F }) => {\n F.printFilter(ast, () => {\n PRINT_WORD(ast.aggregation, '(');\n if (ast.distinct) {\n PRINT_WORD('DISTINCT');\n }\n });\n const arg = ast.expression[0];\n if (F.isWildcard(arg)) {\n F.printFilter(ast, () => PRINT_WORD('*'));\n } else {\n SUBRULE(expression, arg, undefined);\n }\n if (F.isExpressionAggregateSeparator(ast)) {\n F.printFilter(ast, () => PRINT_WORD(';', 'SEPARATOR', '=', stringEscapedLexical(ast.separator)));\n }\n F.printFilter(ast, () => PRINT_WORD(')'));\n },\n};\n"]}
|
|
1
|
+
{"version":3,"file":"builtIn.js","sourceRoot":"","sources":["builtIn.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IOrAlt } from '@chevrotain/types';\nimport type { ImplArgs } from '@traqula/core';\nimport {\n unCapitalize,\n} from '@traqula/core';\nimport {\n funcExprOrNil1,\n baseAggregateFunc,\n funcExpr1,\n funcExpr2,\n funcExpr2or3,\n funcExpr3,\n funcExpr3or4,\n funcExprList1,\n funcGroupGraphPattern,\n funcNil1,\n funcVar1,\n} from '../expressionHelpers';\nimport * as l from '../lexer';\nimport type { SparqlGrammarRule, SparqlRule } from '../sparql11HelperTypes';\nimport type {\n Expression,\n ExpressionAggregate,\n ExpressionAggregateDefault,\n ExpressionAggregateOnWildcard,\n ExpressionAggregateSeparator,\n Wildcard,\n} from '../Sparql11types';\nimport { expression } from './expression';\nimport { string, stringEscapedLexical } from './literals';\n\nexport const builtInStr = funcExpr1(l.builtIn.str);\nexport const builtInLang = funcExpr1(l.builtIn.lang);\nexport const builtInLangmatches = funcExpr2(l.builtIn.langmatches);\nexport const builtInDatatype = funcExpr1(l.builtIn.datatype);\nexport const builtInBound = funcVar1(l.builtIn.bound);\nexport const builtInIri = funcExpr1(l.builtIn.iri);\nexport const builtInUri = funcExpr1(l.builtIn.uri);\nexport const builtInBnodeSparqlJs = funcExprOrNil1(l.builtIn.bnode);\nexport const builtInRand = funcNil1(l.builtIn.rand);\nexport const builtInAbs = funcExpr1(l.builtIn.abs);\nexport const builtInCeil = funcExpr1(l.builtIn.ceil);\nexport const builtInFloor = funcExpr1(l.builtIn.floor);\nexport const builtInRound = funcExpr1(l.builtIn.round);\nexport const builtInConcat = funcExprList1(l.builtIn.concat);\nexport const builtInStrlen = funcExpr1(l.builtIn.strlen);\nexport const builtInUcase = funcExpr1(l.builtIn.ucase);\nexport const builtInLcase = funcExpr1(l.builtIn.lcase);\nexport const builtInEncode_for_uri = funcExpr1(l.builtIn.encode_for_uri);\nexport const builtInContains = funcExpr2(l.builtIn.contains);\nexport const builtInStrstarts = funcExpr2(l.builtIn.strstarts);\nexport const builtInStrends = funcExpr2(l.builtIn.strends);\nexport const builtInStrbefore = funcExpr2(l.builtIn.strbefore);\nexport const builtInStrafter = funcExpr2(l.builtIn.strafter);\nexport const builtInYear = funcExpr1(l.builtIn.year);\nexport const builtInMonth = funcExpr1(l.builtIn.month);\nexport const builtInDay = funcExpr1(l.builtIn.day);\nexport const builtInHours = funcExpr1(l.builtIn.hours);\nexport const builtInMinutes = funcExpr1(l.builtIn.minutes);\nexport const builtInSeconds = funcExpr1(l.builtIn.seconds);\nexport const builtInTimezone = funcExpr1(l.builtIn.timezone);\nexport const builtInTz = funcExpr1(l.builtIn.tz);\nexport const builtInNow = funcNil1(l.builtIn.now);\nexport const builtInUuid = funcNil1(l.builtIn.uuid);\nexport const builtInStruuid = funcNil1(l.builtIn.struuid);\nexport const builtInMd5 = funcExpr1(l.builtIn.md5);\nexport const builtInSha1 = funcExpr1(l.builtIn.sha1);\nexport const builtInSha256 = funcExpr1(l.builtIn.sha256);\nexport const builtInSha384 = funcExpr1(l.builtIn.sha384);\nexport const builtInSha512 = funcExpr1(l.builtIn.sha512);\nexport const builtInCoalesce = funcExprList1(l.builtIn.coalesce);\nexport const builtInIf = funcExpr3(l.builtIn.if_);\nexport const builtInStrlang = funcExpr2(l.builtIn.strlang);\nexport const builtInStrdt = funcExpr2(l.builtIn.strdt);\nexport const builtInSameterm = funcExpr2(l.builtIn.sameterm);\nexport const builtInIsiri = funcExpr1(l.builtIn.isiri);\nexport const builtInIsuri = funcExpr1(l.builtIn.isuri);\nexport const builtInIsblank = funcExpr1(l.builtIn.isblank);\nexport const builtInIsliteral = funcExpr1(l.builtIn.isliteral);\nexport const builtInIsnumeric = funcExpr1(l.builtIn.isnumeric);\n\nexport function builtInCallList(SUBRULE: ImplArgs['SUBRULE']): IOrAlt<Expression>[] {\n return [\n { ALT: () => SUBRULE(aggregate) },\n { ALT: () => SUBRULE(builtInStr) },\n { ALT: () => SUBRULE(builtInLang) },\n { ALT: () => SUBRULE(builtInLangmatches) },\n { ALT: () => SUBRULE(builtInDatatype) },\n { ALT: () => SUBRULE(builtInBound) },\n { ALT: () => SUBRULE(builtInIri) },\n { ALT: () => SUBRULE(builtInUri) },\n { ALT: () => SUBRULE(builtInBnodeSparqlJs) },\n { ALT: () => SUBRULE(builtInRand) },\n { ALT: () => SUBRULE(builtInAbs) },\n { ALT: () => SUBRULE(builtInCeil) },\n { ALT: () => SUBRULE(builtInFloor) },\n { ALT: () => SUBRULE(builtInRound) },\n { ALT: () => SUBRULE(builtInConcat) },\n { ALT: () => SUBRULE(substringExpression) },\n { ALT: () => SUBRULE(builtInStrlen) },\n { ALT: () => SUBRULE(strReplaceExpression) },\n { ALT: () => SUBRULE(builtInUcase) },\n { ALT: () => SUBRULE(builtInLcase) },\n { ALT: () => SUBRULE(builtInEncode_for_uri) },\n { ALT: () => SUBRULE(builtInContains) },\n { ALT: () => SUBRULE(builtInStrstarts) },\n { ALT: () => SUBRULE(builtInStrends) },\n { ALT: () => SUBRULE(builtInStrbefore) },\n { ALT: () => SUBRULE(builtInStrafter) },\n { ALT: () => SUBRULE(builtInYear) },\n { ALT: () => SUBRULE(builtInMonth) },\n { ALT: () => SUBRULE(builtInDay) },\n { ALT: () => SUBRULE(builtInHours) },\n { ALT: () => SUBRULE(builtInMinutes) },\n { ALT: () => SUBRULE(builtInSeconds) },\n { ALT: () => SUBRULE(builtInTimezone) },\n { ALT: () => SUBRULE(builtInTz) },\n { ALT: () => SUBRULE(builtInNow) },\n { ALT: () => SUBRULE(builtInUuid) },\n { ALT: () => SUBRULE(builtInStruuid) },\n { ALT: () => SUBRULE(builtInMd5) },\n { ALT: () => SUBRULE(builtInSha1) },\n { ALT: () => SUBRULE(builtInSha256) },\n { ALT: () => SUBRULE(builtInSha384) },\n { ALT: () => SUBRULE(builtInSha512) },\n { ALT: () => SUBRULE(builtInCoalesce) },\n { ALT: () => SUBRULE(builtInIf) },\n { ALT: () => SUBRULE(builtInStrlang) },\n { ALT: () => SUBRULE(builtInStrdt) },\n { ALT: () => SUBRULE(builtInSameterm) },\n { ALT: () => SUBRULE(builtInIsiri) },\n { ALT: () => SUBRULE(builtInIsuri) },\n { ALT: () => SUBRULE(builtInIsblank) },\n { ALT: () => SUBRULE(builtInIsliteral) },\n { ALT: () => SUBRULE(builtInIsnumeric) },\n { ALT: () => SUBRULE(regexExpression) },\n { ALT: () => SUBRULE(existsFunc) },\n { ALT: () => SUBRULE(notExistsFunc) },\n ];\n}\n\n/**\n * [[121]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const builtInCall: SparqlGrammarRule<'builtInCall', Expression> = <const>{\n name: 'builtInCall',\n impl: ({ OR, SUBRULE, cache }) => () => {\n const cached = <IOrAlt<Expression>[]>cache.get(builtInCall);\n if (cached) {\n return OR<Expression>(cached);\n }\n const builtIns = builtInCallList(SUBRULE);\n cache.set(builtInCall, builtIns);\n return OR<Expression>(builtIns);\n },\n};\n\n/**\n * [[122]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const regexExpression = funcExpr2or3(l.builtIn.regex);\n\n/**\n * [[123]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const substringExpression = funcExpr2or3(l.builtIn.substr);\n\n/**\n * [[124]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const strReplaceExpression = funcExpr3or4(l.builtIn.replace);\n\n/**\n * [[125]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const existsFunc = funcGroupGraphPattern(l.builtIn.exists);\n\n/**\n * [[126]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const notExistsFunc = funcGroupGraphPattern(l.builtIn.notexists);\n\nexport const aggregateCount:\nSparqlGrammarRule<'builtInCount', ExpressionAggregateOnWildcard | ExpressionAggregateDefault> = {\n name: unCapitalize(l.builtIn.count.name),\n impl: ({ ACTION, CONSUME, SUBRULE, OR, OPTION }) => (C) => {\n const operatorToken = CONSUME(l.builtIn.count);\n CONSUME(l.symbols.LParen);\n const distinctToken = OPTION(() => CONSUME(l.distinct));\n\n const expressionVal = OR<Expression | Wildcard>([\n { ALT: () => {\n const starToken = CONSUME(l.symbols.star);\n return ACTION(() => C.factory.wildcard(C.factory.sourceLocation(starToken)));\n } },\n { ALT: () => SUBRULE(expression) },\n ]);\n const closeToken = CONSUME(l.symbols.RParen);\n\n return ACTION(() => {\n const F = C.factory;\n if (C.factory.isWildcard(expressionVal)) {\n return F.aggregate(\n operatorToken.image,\n Boolean(distinctToken),\n expressionVal,\n undefined,\n C.factory.sourceLocation(operatorToken, closeToken),\n );\n }\n return F.aggregate(\n operatorToken.image,\n Boolean(distinctToken),\n expressionVal,\n undefined,\n C.factory.sourceLocation(operatorToken, closeToken),\n );\n });\n },\n};\nexport const aggregateSum = baseAggregateFunc(l.builtIn.sum);\nexport const aggregateMin = baseAggregateFunc(l.builtIn.min);\nexport const aggregateMax = baseAggregateFunc(l.builtIn.max);\nexport const aggregateAvg = baseAggregateFunc(l.builtIn.avg);\nexport const aggregateSample = baseAggregateFunc(l.builtIn.sample);\nexport const aggregateGroup_concat:\nSparqlGrammarRule<'builtInGroup_concat', ExpressionAggregateDefault | ExpressionAggregateSeparator> = <const>{\n name: unCapitalize(l.builtIn.groupConcat.name),\n impl: ({ ACTION, CONSUME, OPTION1, SUBRULE, OPTION2 }) =>\n (C) => {\n const operatorToken = CONSUME(l.builtIn.groupConcat);\n CONSUME(l.symbols.LParen);\n const distinctToken = OPTION1(() => CONSUME(l.distinct));\n\n const expr = SUBRULE(expression);\n const sep = OPTION2(() => {\n CONSUME(l.symbols.semi);\n CONSUME(l.separator);\n CONSUME(l.symbols.equal);\n return SUBRULE(string);\n });\n const closeToken = CONSUME(l.symbols.RParen);\n\n return ACTION(() => {\n const F = C.factory;\n return F.aggregate(\n operatorToken.image,\n Boolean(distinctToken),\n expr,\n sep?.value ?? ' ',\n F.sourceLocation(operatorToken, closeToken),\n );\n });\n },\n};\n\n/**\n * [[127]](https://www.w3.org/TR/sparql11-query/#rBuiltInCall)\n */\nexport const aggregate: SparqlRule<'aggregate', ExpressionAggregate> = <const>{\n name: 'aggregate',\n impl: ({ ACTION, SUBRULE, OR }) => (C) => {\n // https://www.w3.org/2013/sparql-errata#errata-query-5 - Or note 15 in SPARQL1.2 spec\n // An aggregate function is not allowed within an aggregate function.\n const wasInAggregate = ACTION(() => C.parseMode.has('inAggregate'));\n ACTION(() => C.parseMode.add('inAggregate'));\n const result = OR<ExpressionAggregate>([\n { ALT: () => SUBRULE(aggregateCount) },\n { ALT: () => SUBRULE(aggregateSum) },\n { ALT: () => SUBRULE(aggregateMin) },\n { ALT: () => SUBRULE(aggregateMax) },\n { ALT: () => SUBRULE(aggregateAvg) },\n { ALT: () => SUBRULE(aggregateSample) },\n { ALT: () => SUBRULE(aggregateGroup_concat) },\n ]);\n ACTION(() => !wasInAggregate && C.parseMode.delete('inAggregate'));\n\n ACTION(() => {\n if (!C.parseMode.has('canParseAggregate')) {\n throw new Error('Aggregates are only allowed in SELECT, HAVING, and ORDER BY clauses.');\n }\n if (C.parseMode.has('inAggregate')) {\n throw new Error('An aggregate function is not allowed within an aggregate function.');\n }\n });\n\n return result;\n },\n gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F }) => {\n F.printFilter(ast, () => {\n PRINT_WORD(ast.aggregation, '(');\n if (ast.distinct) {\n PRINT_WORD('DISTINCT');\n }\n });\n const arg = ast.expression[0];\n if (F.isWildcard(arg)) {\n F.printFilter(ast, () => PRINT_WORD('*'));\n } else {\n SUBRULE(expression, arg);\n }\n if (F.isExpressionAggregateSeparator(ast)) {\n F.printFilter(ast, () => PRINT_WORD(';', 'SEPARATOR', '=', stringEscapedLexical(ast.separator)));\n }\n F.printFilter(ast, () => PRINT_WORD(')'));\n },\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Wrap } from '@traqula/core';
|
|
2
2
|
import type { TokenType } from 'chevrotain';
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
3
|
+
import type { SparqlGrammarRule, SparqlRule } from '../sparql11HelperTypes';
|
|
4
|
+
import type { DatasetClauses, TermIri } from '../Sparql11types';
|
|
5
5
|
export declare function datasetClauseUsing<RuleName extends 'usingClause' | 'datasetClause'>(name: RuleName, token: TokenType): SparqlGrammarRule<RuleName, Wrap<DatasetClauses['clauses'][0]>>;
|
|
6
6
|
/**
|
|
7
7
|
* [[13]](https://www.w3.org/TR/sparql11-query/#rDatasetClause)
|
|
@@ -7,11 +7,11 @@ export function datasetClauseUsing(name, token) {
|
|
|
7
7
|
const start = CONSUME(token);
|
|
8
8
|
return OR([
|
|
9
9
|
{ ALT: () => {
|
|
10
|
-
const iri = SUBRULE(defaultGraphClause
|
|
10
|
+
const iri = SUBRULE(defaultGraphClause);
|
|
11
11
|
return ACTION(() => C.factory.wrap({ clauseType: 'default', value: iri }, C.factory.sourceLocation(start, iri)));
|
|
12
12
|
} },
|
|
13
13
|
{ ALT: () => {
|
|
14
|
-
const namedClause = SUBRULE(namedGraphClause
|
|
14
|
+
const namedClause = SUBRULE(namedGraphClause);
|
|
15
15
|
return ACTION(() => C.factory.wrap({
|
|
16
16
|
clauseType: 'named',
|
|
17
17
|
value: namedClause.val,
|
|
@@ -30,7 +30,7 @@ export const datasetClause = datasetClauseUsing('datasetClause', l.from);
|
|
|
30
30
|
*/
|
|
31
31
|
export const defaultGraphClause = {
|
|
32
32
|
name: 'defaultGraphClause',
|
|
33
|
-
impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector
|
|
33
|
+
impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector),
|
|
34
34
|
};
|
|
35
35
|
/**
|
|
36
36
|
* [[44]](https://www.w3.org/TR/sparql11-query/#rUsingClause)
|
|
@@ -42,7 +42,7 @@ export function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
42
42
|
impl: ({ ACTION, MANY, SUBRULE }) => (C) => {
|
|
43
43
|
const clauses = [];
|
|
44
44
|
MANY(() => {
|
|
45
|
-
const clause = SUBRULE(subRule
|
|
45
|
+
const clause = SUBRULE(subRule);
|
|
46
46
|
clauses.push(clause);
|
|
47
47
|
});
|
|
48
48
|
return ACTION(() => C.factory.datasetClauses(clauses.map(clause => clause.val), C.factory.sourceLocation(...clauses)));
|
|
@@ -53,7 +53,7 @@ export function datasetClauseUsingStar(name, subRule, fromUsing) {
|
|
|
53
53
|
if (clause.clauseType === 'named') {
|
|
54
54
|
F.printFilter(ast, () => PRINT_WORD('NAMED'));
|
|
55
55
|
}
|
|
56
|
-
SUBRULE(iri, clause.value
|
|
56
|
+
SUBRULE(iri, clause.value);
|
|
57
57
|
}
|
|
58
58
|
},
|
|
59
59
|
};
|
|
@@ -67,7 +67,7 @@ export const namedGraphClause = {
|
|
|
67
67
|
name: 'namedGraphClause',
|
|
68
68
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
69
69
|
const named = CONSUME(l.graph.named);
|
|
70
|
-
const iri = SUBRULE(sourceSelector
|
|
70
|
+
const iri = SUBRULE(sourceSelector);
|
|
71
71
|
return ACTION(() => C.factory.wrap(iri, C.factory.sourceLocation(named, iri)));
|
|
72
72
|
},
|
|
73
73
|
};
|
|
@@ -76,6 +76,6 @@ export const namedGraphClause = {
|
|
|
76
76
|
*/
|
|
77
77
|
export const sourceSelector = {
|
|
78
78
|
name: 'sourceSelector',
|
|
79
|
-
impl: ({ SUBRULE }) => () => SUBRULE(iri
|
|
79
|
+
impl: ({ SUBRULE }) => () => SUBRULE(iri),
|
|
80
80
|
};
|
|
81
81
|
//# sourceMappingURL=dataSetClause.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataSetClause.js","sourceRoot":"","sources":["dataSetClause.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAC;AAG9B,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,UAAU,kBAAkB,CAChC,IAAc,EACd,KAAgB;IAEhB,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,OAAO,EAAE,CAAsC;gBAC7C,EAAE,GAAG,EAAE,GAAG,EAAE;wBACV,MAAM,GAAG,GAAG,OAAO,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"dataSetClause.js","sourceRoot":"","sources":["dataSetClause.ts"],"names":[],"mappings":"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","sourcesContent":["import type { RuleDefReturn, Wrap } from '@traqula/core';\nimport type { TokenType } from 'chevrotain';\nimport * as l from '../lexer';\nimport type { SparqlGrammarRule, SparqlRule } from '../sparql11HelperTypes';\nimport type { DatasetClauses, TermIri } from '../Sparql11types';\nimport { iri } from './literals';\n\nexport function datasetClauseUsing<RuleName extends 'usingClause' | 'datasetClause'>(\n name: RuleName,\n token: TokenType,\n): SparqlGrammarRule<RuleName, Wrap<DatasetClauses['clauses'][0]>> {\n return {\n name,\n impl: ({ ACTION, SUBRULE, CONSUME, OR }) => (C) => {\n const start = CONSUME(token);\n return OR<RuleDefReturn<typeof datasetClause>>([\n { ALT: () => {\n const iri = SUBRULE(defaultGraphClause);\n return ACTION(() =>\n C.factory.wrap({ clauseType: 'default', value: iri }, C.factory.sourceLocation(start, iri)));\n } },\n { ALT: () => {\n const namedClause = SUBRULE(namedGraphClause);\n return ACTION(() => C.factory.wrap({\n clauseType: 'named',\n value: namedClause.val,\n }, C.factory.sourceLocation(start, namedClause)));\n } },\n ]);\n },\n };\n}\n\n/**\n * [[13]](https://www.w3.org/TR/sparql11-query/#rDatasetClause)\n */\nexport const datasetClause = datasetClauseUsing('datasetClause', l.from);\n\n/**\n * [[14]](https://www.w3.org/TR/sparql11-query/#rDefaultGraphClause)\n */\nexport const defaultGraphClause: SparqlGrammarRule<'defaultGraphClause', TermIri> = <const> {\n name: 'defaultGraphClause',\n impl: ({ SUBRULE }) => () => SUBRULE(sourceSelector),\n};\n/**\n * [[44]](https://www.w3.org/TR/sparql11-query/#rUsingClause)\n */\nexport const usingClause = datasetClauseUsing('usingClause', l.usingClause);\n\nexport function datasetClauseUsingStar<RuleName extends string>(\n name: RuleName,\n subRule: ReturnType<typeof datasetClauseUsing<any>>,\n fromUsing: 'FROM' | 'USING',\n): SparqlRule<RuleName, DatasetClauses> {\n return {\n name,\n impl: ({ ACTION, MANY, SUBRULE }) => (C) => {\n const clauses: RuleDefReturn<typeof datasetClause>[] = [];\n\n MANY(() => {\n const clause = SUBRULE(subRule);\n clauses.push(clause);\n });\n\n return ACTION(() => C.factory.datasetClauses(\n clauses.map(clause => clause.val),\n C.factory.sourceLocation(...clauses),\n ));\n },\n gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F }) => {\n for (const clause of ast.clauses) {\n F.printFilter(ast, () => PRINT_WORD(fromUsing));\n if (clause.clauseType === 'named') {\n F.printFilter(ast, () => PRINT_WORD('NAMED'));\n }\n SUBRULE(iri, clause.value);\n }\n },\n };\n}\n\nexport const datasetClauseStar = datasetClauseUsingStar(<const> 'datasetClauses', datasetClause, 'FROM');\nexport const usingClauseStar = datasetClauseUsingStar(<const> 'usingClauses', usingClause, 'USING');\n\n/**\n * [[15]](https://www.w3.org/TR/sparql11-query/#rNamedGraphClause)\n */\nexport const namedGraphClause: SparqlGrammarRule<'namedGraphClause', Wrap<TermIri>> = <const> {\n name: 'namedGraphClause',\n impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {\n const named = CONSUME(l.graph.named);\n const iri = SUBRULE(sourceSelector);\n return ACTION(() => C.factory.wrap(iri, C.factory.sourceLocation(named, iri)));\n },\n};\n\n/**\n * [[16]](https://www.w3.org/TR/sparql11-query/#rSourceSelector)\n */\nexport const sourceSelector: SparqlGrammarRule<'sourceSelector', TermIri> = <const> {\n name: 'sourceSelector',\n impl: ({ SUBRULE }) => () => SUBRULE(iri),\n};\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Wrap } from '@traqula/core';
|
|
2
|
-
import type {
|
|
3
|
-
import type {
|
|
2
|
+
import type { SparqlGrammarRule, SparqlRule } from '../sparql11HelperTypes';
|
|
3
|
+
import type { Expression, ExpressionFunctionCall, ExpressionOperation, TermIri } from '../Sparql11types';
|
|
4
4
|
/**
|
|
5
5
|
* [[71]](https://www.w3.org/TR/sparql11-query/#rArgList)
|
|
6
6
|
*/
|
|
@@ -20,7 +20,7 @@ export const argList = {
|
|
|
20
20
|
AT_LEAST_ONE_SEP({
|
|
21
21
|
SEP: l.symbols.comma,
|
|
22
22
|
DEF: () => {
|
|
23
|
-
const arg = SUBRULE1(expression
|
|
23
|
+
const arg = SUBRULE1(expression);
|
|
24
24
|
args.push(arg);
|
|
25
25
|
},
|
|
26
26
|
});
|
|
@@ -37,11 +37,11 @@ export const argList = {
|
|
|
37
37
|
});
|
|
38
38
|
const [head, ...tail] = ast.val.args;
|
|
39
39
|
if (head) {
|
|
40
|
-
SUBRULE(expression, head
|
|
40
|
+
SUBRULE(expression, head);
|
|
41
41
|
}
|
|
42
42
|
for (const expr of tail) {
|
|
43
43
|
F.printFilter(ast, () => PRINT_WORD(','));
|
|
44
|
-
SUBRULE(expression, expr
|
|
44
|
+
SUBRULE(expression, expr);
|
|
45
45
|
}
|
|
46
46
|
F.printFilter(ast, () => PRINT_WORD(')'));
|
|
47
47
|
},
|
|
@@ -58,11 +58,11 @@ export const expressionList = {
|
|
|
58
58
|
} },
|
|
59
59
|
{ ALT: () => {
|
|
60
60
|
const open = CONSUME(l.symbols.LParen);
|
|
61
|
-
const expr1 = SUBRULE1(expression
|
|
61
|
+
const expr1 = SUBRULE1(expression);
|
|
62
62
|
const args = [expr1];
|
|
63
63
|
MANY(() => {
|
|
64
64
|
CONSUME(l.symbols.comma);
|
|
65
|
-
const expr = SUBRULE2(expression
|
|
65
|
+
const expr = SUBRULE2(expression);
|
|
66
66
|
args.push(expr);
|
|
67
67
|
});
|
|
68
68
|
const close = CONSUME(l.symbols.RParen);
|
|
@@ -77,16 +77,16 @@ const prefixOperator = new Set(['!', 'UPLUS', 'UMINUS']);
|
|
|
77
77
|
*/
|
|
78
78
|
export const expression = {
|
|
79
79
|
name: 'expression',
|
|
80
|
-
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression
|
|
80
|
+
impl: ({ SUBRULE }) => () => SUBRULE(conditionalOrExpression),
|
|
81
81
|
gImpl: ({ SUBRULE, PRINT_WORD }) => (ast, { factory: F }) => {
|
|
82
82
|
if (F.isTerm(ast)) {
|
|
83
|
-
SUBRULE(varOrTerm, ast
|
|
83
|
+
SUBRULE(varOrTerm, ast);
|
|
84
84
|
}
|
|
85
85
|
else if (F.isExpressionOperator(ast)) {
|
|
86
86
|
if (infixOperators.has(ast.operator)) {
|
|
87
87
|
const [left, ...right] = ast.args;
|
|
88
88
|
F.printFilter(ast, () => PRINT_WORD('('));
|
|
89
|
-
SUBRULE(expression, left
|
|
89
|
+
SUBRULE(expression, left);
|
|
90
90
|
F.printFilter(ast, () => {
|
|
91
91
|
if (ast.operator === 'notin') {
|
|
92
92
|
PRINT_WORD('NOT IN');
|
|
@@ -99,27 +99,27 @@ export const expression = {
|
|
|
99
99
|
}
|
|
100
100
|
});
|
|
101
101
|
if (right.length === 1) {
|
|
102
|
-
SUBRULE(expression, right[0]
|
|
102
|
+
SUBRULE(expression, right[0]);
|
|
103
103
|
}
|
|
104
104
|
else {
|
|
105
|
-
SUBRULE(argList, F.wrap({ args: right, distinct: false }, ast.loc)
|
|
105
|
+
SUBRULE(argList, F.wrap({ args: right, distinct: false }, ast.loc));
|
|
106
106
|
}
|
|
107
107
|
F.printFilter(ast, () => PRINT_WORD(')'));
|
|
108
108
|
}
|
|
109
109
|
else if (prefixOperator.has(ast.operator)) {
|
|
110
110
|
const [expr] = ast.args;
|
|
111
111
|
F.printFilter(ast, () => PRINT_WORD(ast.operator));
|
|
112
|
-
SUBRULE(expression, expr
|
|
112
|
+
SUBRULE(expression, expr);
|
|
113
113
|
}
|
|
114
114
|
else {
|
|
115
115
|
F.printFilter(ast, () => PRINT_WORD(ast.operator, '('));
|
|
116
116
|
const [head, ...tail] = ast.args;
|
|
117
117
|
if (head) {
|
|
118
|
-
SUBRULE(expression, head
|
|
118
|
+
SUBRULE(expression, head);
|
|
119
119
|
}
|
|
120
120
|
for (const arg of tail) {
|
|
121
121
|
F.printFilter(ast, () => PRINT_WORD(','));
|
|
122
|
-
SUBRULE(expression, arg
|
|
122
|
+
SUBRULE(expression, arg);
|
|
123
123
|
}
|
|
124
124
|
F.printFilter(ast, () => PRINT_WORD(')'));
|
|
125
125
|
}
|
|
@@ -127,13 +127,13 @@ export const expression = {
|
|
|
127
127
|
else if (F.isExpressionPatternOperation(ast)) {
|
|
128
128
|
const patterns = ast.args;
|
|
129
129
|
F.printFilter(ast, () => PRINT_WORD(ast.operator === 'exists' ? 'EXISTS' : 'NOT EXISTS'));
|
|
130
|
-
SUBRULE(groupGraphPattern, patterns
|
|
130
|
+
SUBRULE(groupGraphPattern, patterns);
|
|
131
131
|
}
|
|
132
132
|
else if (F.isExpressionFunctionCall(ast)) {
|
|
133
|
-
SUBRULE(iriOrFunction, ast
|
|
133
|
+
SUBRULE(iriOrFunction, ast);
|
|
134
134
|
}
|
|
135
135
|
else if (F.isExpressionAggregate(ast)) {
|
|
136
|
-
SUBRULE(aggregate, ast
|
|
136
|
+
SUBRULE(aggregate, ast);
|
|
137
137
|
}
|
|
138
138
|
},
|
|
139
139
|
};
|
|
@@ -153,9 +153,9 @@ function constructLeftDeep(startGenerator, restGenerator, ACTION, MANY) {
|
|
|
153
153
|
*/
|
|
154
154
|
export const conditionalOrExpression = {
|
|
155
155
|
name: 'conditionalOrExpression',
|
|
156
|
-
impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => C => constructLeftDeep(() => SUBRULE1(conditionalAndExpression
|
|
156
|
+
impl: ({ ACTION, MANY, CONSUME, SUBRULE1, SUBRULE2 }) => C => constructLeftDeep(() => SUBRULE1(conditionalAndExpression), () => {
|
|
157
157
|
CONSUME(l.symbols.logicOr);
|
|
158
|
-
const args = SUBRULE2(conditionalAndExpression
|
|
158
|
+
const args = SUBRULE2(conditionalAndExpression);
|
|
159
159
|
return left => ACTION(() => C.factory.expressionOperation('||', [left, args], C.factory.sourceLocation(left, args)));
|
|
160
160
|
}, ACTION, MANY),
|
|
161
161
|
};
|
|
@@ -164,9 +164,9 @@ export const conditionalOrExpression = {
|
|
|
164
164
|
*/
|
|
165
165
|
export const conditionalAndExpression = {
|
|
166
166
|
name: 'conditionalAndExpression',
|
|
167
|
-
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => C => constructLeftDeep(() => SUBRULE1(valueLogical
|
|
167
|
+
impl: ({ ACTION, MANY, SUBRULE1, SUBRULE2, CONSUME }) => C => constructLeftDeep(() => SUBRULE1(valueLogical), () => {
|
|
168
168
|
CONSUME(l.symbols.logicAnd);
|
|
169
|
-
const arg = SUBRULE2(valueLogical
|
|
169
|
+
const arg = SUBRULE2(valueLogical);
|
|
170
170
|
return left => ACTION(() => C.factory.expressionOperation('&&', [left, arg], C.factory.sourceLocation(left, arg)));
|
|
171
171
|
}, ACTION, MANY),
|
|
172
172
|
};
|
|
@@ -175,7 +175,7 @@ export const conditionalAndExpression = {
|
|
|
175
175
|
*/
|
|
176
176
|
export const valueLogical = {
|
|
177
177
|
name: 'valueLogical',
|
|
178
|
-
impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression
|
|
178
|
+
impl: ({ SUBRULE }) => () => SUBRULE(relationalExpression),
|
|
179
179
|
};
|
|
180
180
|
/**
|
|
181
181
|
* [[114]](https://www.w3.org/TR/sparql11-query/#rRelationalExpression)
|
|
@@ -183,7 +183,7 @@ export const valueLogical = {
|
|
|
183
183
|
export const relationalExpression = {
|
|
184
184
|
name: 'relationalExpression',
|
|
185
185
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OPTION, OR1, OR2, OR3 }) => (C) => {
|
|
186
|
-
const args1 = SUBRULE1(numericExpression
|
|
186
|
+
const args1 = SUBRULE1(numericExpression);
|
|
187
187
|
const expression = OPTION(() => OR1([
|
|
188
188
|
{ ALT: () => {
|
|
189
189
|
// Stay in numeric;
|
|
@@ -195,7 +195,7 @@ export const relationalExpression = {
|
|
|
195
195
|
{ ALT: () => CONSUME(l.symbols.lessThanEqual) },
|
|
196
196
|
{ ALT: () => CONSUME(l.symbols.greaterThanEqual) },
|
|
197
197
|
]);
|
|
198
|
-
const expr = SUBRULE2(numericExpression
|
|
198
|
+
const expr = SUBRULE2(numericExpression);
|
|
199
199
|
return ACTION(() => C.factory.expressionOperation(operator.image, [args1, expr], C.factory.sourceLocation(args1, expr)));
|
|
200
200
|
} },
|
|
201
201
|
{ ALT: () => {
|
|
@@ -203,7 +203,7 @@ export const relationalExpression = {
|
|
|
203
203
|
{ ALT: () => CONSUME(l.in_) },
|
|
204
204
|
{ ALT: () => CONSUME(l.notIn) },
|
|
205
205
|
]);
|
|
206
|
-
const args = SUBRULE1(expressionList
|
|
206
|
+
const args = SUBRULE1(expressionList);
|
|
207
207
|
return ACTION(() => C.factory.expressionOperation(operator.image, [args1, ...args.val], C.factory.sourceLocation(args1, args)));
|
|
208
208
|
} },
|
|
209
209
|
]));
|
|
@@ -215,21 +215,21 @@ export const relationalExpression = {
|
|
|
215
215
|
*/
|
|
216
216
|
export const numericExpression = {
|
|
217
217
|
name: 'numericExpression',
|
|
218
|
-
impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression
|
|
218
|
+
impl: ({ SUBRULE }) => () => SUBRULE(additiveExpression),
|
|
219
219
|
};
|
|
220
220
|
/**
|
|
221
221
|
* [[116]](https://www.w3.org/TR/sparql11-query/#rAdditiveExpression)
|
|
222
222
|
*/
|
|
223
223
|
export const additiveExpression = {
|
|
224
224
|
name: 'additiveExpression',
|
|
225
|
-
impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, MANY1, MANY2, OR1, OR2, OR3, OR4 }) => C => constructLeftDeep(() => SUBRULE1(multiplicativeExpression
|
|
225
|
+
impl: ({ ACTION, SUBRULE, CONSUME, SUBRULE1, SUBRULE2, MANY1, MANY2, OR1, OR2, OR3, OR4 }) => C => constructLeftDeep(() => SUBRULE1(multiplicativeExpression), () => OR1([
|
|
226
226
|
{ ALT: () => {
|
|
227
227
|
// Multiplicative expression as 2nd argument
|
|
228
228
|
const operator = OR2([
|
|
229
229
|
{ ALT: () => CONSUME(l.symbols.opPlus) },
|
|
230
230
|
{ ALT: () => CONSUME(l.symbols.opMinus) },
|
|
231
231
|
]);
|
|
232
|
-
const arg = SUBRULE2(multiplicativeExpression
|
|
232
|
+
const arg = SUBRULE2(multiplicativeExpression);
|
|
233
233
|
return ACTION(() => left => C.factory.expressionOperation(operator.image, [left, arg], C.factory.sourceLocation(left, arg)));
|
|
234
234
|
} },
|
|
235
235
|
{ ALT: () => {
|
|
@@ -238,7 +238,7 @@ export const additiveExpression = {
|
|
|
238
238
|
{ ALT: () => {
|
|
239
239
|
// Note #6. No spaces are allowed between the sign and a number.
|
|
240
240
|
// In this rule however, we do not want to care about this.
|
|
241
|
-
const integer = SUBRULE(numericLiteralPositive
|
|
241
|
+
const integer = SUBRULE(numericLiteralPositive);
|
|
242
242
|
return ACTION(() => {
|
|
243
243
|
integer.value = integer.value.replace(/^\+/u, '');
|
|
244
244
|
return {
|
|
@@ -248,7 +248,7 @@ export const additiveExpression = {
|
|
|
248
248
|
});
|
|
249
249
|
} },
|
|
250
250
|
{ ALT: () => {
|
|
251
|
-
const integer = SUBRULE(numericLiteralNegative
|
|
251
|
+
const integer = SUBRULE(numericLiteralNegative);
|
|
252
252
|
return ACTION(() => {
|
|
253
253
|
integer.value = integer.value.replace(/^-/u, '');
|
|
254
254
|
return {
|
|
@@ -263,7 +263,7 @@ export const additiveExpression = {
|
|
|
263
263
|
{ ALT: () => CONSUME(l.symbols.star) },
|
|
264
264
|
{ ALT: () => CONSUME(l.symbols.slash) },
|
|
265
265
|
]);
|
|
266
|
-
const innerExpr = SUBRULE1(unaryExpression
|
|
266
|
+
const innerExpr = SUBRULE1(unaryExpression);
|
|
267
267
|
return ACTION(() => leftInner => C.factory.expressionOperation(innerOperator.image, [leftInner, innerExpr], C.factory.sourceLocation(leftInner, innerExpr)));
|
|
268
268
|
}, ACTION, MANY2);
|
|
269
269
|
return left => C.factory.expressionOperation(operator, [left, multiplicativeExpr], C.factory.sourceLocation(left, multiplicativeExpr));
|
|
@@ -275,12 +275,12 @@ export const additiveExpression = {
|
|
|
275
275
|
*/
|
|
276
276
|
export const multiplicativeExpression = {
|
|
277
277
|
name: 'multiplicativeExpression',
|
|
278
|
-
impl: ({ ACTION, CONSUME, MANY, SUBRULE1, SUBRULE2, OR }) => C => constructLeftDeep(() => SUBRULE1(unaryExpression
|
|
278
|
+
impl: ({ ACTION, CONSUME, MANY, SUBRULE1, SUBRULE2, OR }) => C => constructLeftDeep(() => SUBRULE1(unaryExpression), () => {
|
|
279
279
|
const operator = OR([
|
|
280
280
|
{ ALT: () => CONSUME(l.symbols.star) },
|
|
281
281
|
{ ALT: () => CONSUME(l.symbols.slash) },
|
|
282
282
|
]);
|
|
283
|
-
const expr = SUBRULE2(unaryExpression
|
|
283
|
+
const expr = SUBRULE2(unaryExpression);
|
|
284
284
|
return (left) => ({
|
|
285
285
|
type: 'expression',
|
|
286
286
|
subType: 'operation',
|
|
@@ -296,14 +296,14 @@ export const multiplicativeExpression = {
|
|
|
296
296
|
export const unaryExpression = {
|
|
297
297
|
name: 'unaryExpression',
|
|
298
298
|
impl: ({ ACTION, CONSUME, SUBRULE1, SUBRULE2, OR1, OR2 }) => C => OR1([
|
|
299
|
-
{ ALT: () => SUBRULE1(primaryExpression
|
|
299
|
+
{ ALT: () => SUBRULE1(primaryExpression) },
|
|
300
300
|
{ ALT: () => {
|
|
301
301
|
const operator = OR2([
|
|
302
302
|
{ ALT: () => CONSUME(l.symbols.exclamation) },
|
|
303
303
|
{ ALT: () => CONSUME(l.symbols.opPlus) },
|
|
304
304
|
{ ALT: () => CONSUME(l.symbols.opMinus) },
|
|
305
305
|
]);
|
|
306
|
-
const expr = SUBRULE2(primaryExpression
|
|
306
|
+
const expr = SUBRULE2(primaryExpression);
|
|
307
307
|
return ACTION(() => ({
|
|
308
308
|
type: 'expression',
|
|
309
309
|
subType: 'operation',
|
|
@@ -320,13 +320,13 @@ export const unaryExpression = {
|
|
|
320
320
|
export const primaryExpression = {
|
|
321
321
|
name: 'primaryExpression',
|
|
322
322
|
impl: ({ SUBRULE, OR }) => () => OR([
|
|
323
|
-
{ ALT: () => SUBRULE(brackettedExpression
|
|
324
|
-
{ ALT: () => SUBRULE(builtInCall
|
|
325
|
-
{ ALT: () => SUBRULE(iriOrFunction
|
|
326
|
-
{ ALT: () => SUBRULE(rdfLiteral
|
|
327
|
-
{ ALT: () => SUBRULE(numericLiteral
|
|
328
|
-
{ ALT: () => SUBRULE(booleanLiteral
|
|
329
|
-
{ ALT: () => SUBRULE(var_
|
|
323
|
+
{ ALT: () => SUBRULE(brackettedExpression) },
|
|
324
|
+
{ ALT: () => SUBRULE(builtInCall) },
|
|
325
|
+
{ ALT: () => SUBRULE(iriOrFunction) },
|
|
326
|
+
{ ALT: () => SUBRULE(rdfLiteral) },
|
|
327
|
+
{ ALT: () => SUBRULE(numericLiteral) },
|
|
328
|
+
{ ALT: () => SUBRULE(booleanLiteral) },
|
|
329
|
+
{ ALT: () => SUBRULE(var_) },
|
|
330
330
|
]),
|
|
331
331
|
};
|
|
332
332
|
/**
|
|
@@ -336,7 +336,7 @@ export const brackettedExpression = {
|
|
|
336
336
|
name: 'brackettedExpression',
|
|
337
337
|
impl: ({ ACTION, SUBRULE, CONSUME }) => (C) => {
|
|
338
338
|
const open = CONSUME(l.symbols.LParen);
|
|
339
|
-
const expr = SUBRULE(expression
|
|
339
|
+
const expr = SUBRULE(expression);
|
|
340
340
|
const close = CONSUME(l.symbols.RParen);
|
|
341
341
|
return ACTION(() => {
|
|
342
342
|
expr.loc = C.factory.sourceLocation(open, close);
|
|
@@ -350,9 +350,9 @@ export const brackettedExpression = {
|
|
|
350
350
|
export const iriOrFunction = {
|
|
351
351
|
name: 'iriOrFunction',
|
|
352
352
|
impl: ({ ACTION, SUBRULE, OPTION }) => (C) => {
|
|
353
|
-
const iriVal = SUBRULE(iri
|
|
353
|
+
const iriVal = SUBRULE(iri);
|
|
354
354
|
const functionCall = OPTION(() => {
|
|
355
|
-
const args = SUBRULE(argList
|
|
355
|
+
const args = SUBRULE(argList);
|
|
356
356
|
return ACTION(() => {
|
|
357
357
|
const distinct = args.val.distinct;
|
|
358
358
|
if (!C.parseMode.has('canParseAggregate') && distinct) {
|
|
@@ -372,11 +372,11 @@ export const iriOrFunction = {
|
|
|
372
372
|
},
|
|
373
373
|
gImpl: ({ SUBRULE }) => (ast, { factory: F }) => {
|
|
374
374
|
if (F.isTermNamed(ast)) {
|
|
375
|
-
SUBRULE(iri, ast
|
|
375
|
+
SUBRULE(iri, ast);
|
|
376
376
|
}
|
|
377
377
|
else {
|
|
378
|
-
SUBRULE(iri, ast.function
|
|
379
|
-
SUBRULE(argList, F.wrap({ args: ast.args, distinct: ast.distinct }, ast.loc)
|
|
378
|
+
SUBRULE(iri, ast.function);
|
|
379
|
+
SUBRULE(argList, F.wrap({ args: ast.args, distinct: ast.distinct }, ast.loc));
|
|
380
380
|
}
|
|
381
381
|
},
|
|
382
382
|
};
|