module: versionDecl libraryModule mainModule module ::= versionDecl? ( libraryModule | mainModule ) no referencesversionDecl: XQUERY VERSION stringliteral ENCODING stringliteral separator versionDecl ::= XQUERY VERSION stringliteral ( ENCODING stringliteral )? separator referenced by: module mainModule: prolog queryBody mainModule ::= prolog queryBody referenced by: module libraryModule: moduleDecl prolog libraryModule ::= moduleDecl prolog referenced by: module moduleDecl: MODULE NAMESPACE NCNAME EQUALS uriliteral separator moduleDecl ::= MODULE NAMESPACE NCNAME EQUALS uriliteral separator referenced by: libraryModule prolog: baseDecl defaultNamespaceDecl namespaceDecl setter importa separator prefixDecl varDecl functionDecl optionDecl separator prolog ::= baseDecl? ( ( defaultNamespaceDecl | namespaceDecl | setter | importa ) separator | prefixDecl )* ( ( varDecl | functionDecl | optionDecl ) separator )* referenced by: libraryModule mainModule setter: boundarySpaceDecl defaultCollationDecl baseURIDecl constructionDecl orderingModeDecl emptyOrderDecl copyNamespacesDecl setter ::= boundarySpaceDecl | defaultCollationDecl | baseURIDecl | constructionDecl | orderingModeDecl | emptyOrderDecl | copyNamespacesDecl referenced by: prolog importa: schemaImport moduleImport importa ::= schemaImport | moduleImport referenced by: prolog separator: SEMICOLON separator ::= SEMICOLON referenced by: moduleDecl prolog versionDecl namespaceDecl: DECLARE NAMESPACE NCNAME EQUALS QSTRING namespaceDecl ::= DECLARE NAMESPACE NCNAME EQUALS QSTRING referenced by: prolog boundarySpaceDecl: DECLARE BOUNDARYSPACE PRESERVE STRIP boundarySpaceDecl ::= DECLARE BOUNDARYSPACE ( PRESERVE | STRIP ) referenced by: setter defaultNamespaceDecl: DECLARE DEFAULT ELEMENT FUNCTION NAMESPACE QSTRING defaultNamespaceDecl ::= DECLARE DEFAULT ( ELEMENT | FUNCTION ) NAMESPACE QSTRING referenced by: prolog optionDecl: DECLARE OPTION qname stringliteral optionDecl ::= DECLARE OPTION qname stringliteral referenced by: prolog orderingModeDecl: DECLARE ORDERING ORDERED UNORDERED orderingModeDecl ::= DECLARE ORDERING ( ORDERED | UNORDERED ) referenced by: setter emptyOrderDecl: DECLARE DEFAULT ORDER EMPTY GREATEST LEAST emptyOrderDecl ::= DECLARE DEFAULT ORDER EMPTY ( GREATEST | LEAST ) referenced by: setter copyNamespacesDecl: DECLARE COPYNAMESPACES preserveMode COMMA inheritMode copyNamespacesDecl ::= DECLARE COPYNAMESPACES^ preserveMode COMMA inheritMode referenced by: setter preserveMode: PRESERVE NOPRESERVE preserveMode ::= PRESERVE | NOPRESERVE referenced by: copyNamespacesDecl inheritMode: INHERIT NOINHERIT inheritMode ::= INHERIT | NOINHERIT referenced by: copyNamespacesDecl defaultCollationDecl: DECLARE DEFAULT COLLATION uriliteral defaultCollationDecl ::= DECLARE DEFAULT COLLATION uriliteral referenced by: setter baseURIDecl: DECLARE BASEURI QSTRING baseURIDecl ::= DECLARE BASEURI QSTRING referenced by: setter schemaImport: IMPORT SCHEMA schemaPrefix uriliteral AT uriliteral COMMA schemaImport ::= IMPORT SCHEMA schemaPrefix? uriliteral ( AT uriliteral ( COMMA uriliteral )* )? referenced by: importa schemaPrefix: NAMESPACE NCNAME EQUALS DEFAULT ELEMENT NAMESPACE schemaPrefix ::= NAMESPACE NCNAME EQUALS | DEFAULT ELEMENT NAMESPACE referenced by: schemaImport moduleImport: IMPORT MODULE NAMESPACE NCNAME EQUALS uriliteral AT uriliteral COMMA moduleImport ::= IMPORT MODULE ( NAMESPACE NCNAME EQUALS )? uriliteral ( AT uriliteral ( COMMA uriliteral )* )? referenced by: importa varDecl: DECLARE VARIABLE VAR typeDeclaration ASSIGN exprSingle EXTERNAL varDecl ::= DECLARE VARIABLE VAR typeDeclaration? ( ASSIGN exprSingle | EXTERNAL ) referenced by: prolog constructionDecl: DECLARE CONSTRUCTION STRIP PRESERVE constructionDecl ::= DECLARE CONSTRUCTION ( STRIP | PRESERVE ) referenced by: setter functionDecl: DECLARE FUNCTION qname LPAR paramList RPAR AS sequenceType enclosedExpr EXTERNAL functionDecl ::= DECLARE FUNCTION qname LPAR paramList? RPAR ( AS sequenceType )? ( enclosedExpr | EXTERNAL ) referenced by: prolog paramList: param COMMA paramList ::= param ( COMMA param )* referenced by: functionDecl param: VAR typeDeclaration param ::= VAR typeDeclaration? referenced by: paramList enclosedExpr: LCURLY expr RCURLY enclosedExpr ::= LCURLY expr RCURLY referenced by: blankConstruct compAttrConstructor compCommentConstructor compDocConstructor compPIConstructor constructTemplate dirAttributeValue functionDecl iriConstruct literalConstruct sqlAttrSpec subject_ queryBody: exprSingle COMMA queryBody ::= exprSingle ( COMMA exprSingle )* referenced by: mainModule expr: exprSingle COMMA expr ::= exprSingle ( COMMA exprSingle )* referenced by: compAttrConstructor compPIConstructor contentExpr enclosedExpr extensionExpr ifExpr iriConstruct orderedExpr parenthesizedExpr predicate typeSwitchExpr unorderedExpr validateExpr exprSingle: flworExpr quantifiedExpr typeSwitchExpr constructQuery orExpr ifExpr exprSingle ::= flworExpr | quantifiedExpr | typeSwitchExpr | constructQuery | orExpr | ifExpr referenced by: caseClause expr flworExpr functionCall ifExpr orderSpec quantifiedExpr queryBody singleForClause singleLetClause typeSwitchExpr varDecl whereClause flworExpr: CONSTRUCT constructTemplate RETURN exprSingle forletClause flworExpr ::= CONSTRUCT constructTemplate | RETURN exprSingle | forletClause referenced by: exprSingle forletClause: FOR sparqlForClause sqlForClause xqueryForClause whereClause orderByClause letClause whereClause orderByClause forletClause ::= FOR ( sparqlForClause | sqlForClause | xqueryForClause whereClause? orderByClause? ) | letClause whereClause? orderByClause? referenced by: flworExpr sparqlForClause: DISTINCT sparqlVarOrFunction STAR datasetClause endpointClause sWhereClause solutionmodifier valuesClause sparqlForClause ::= DISTINCT? ( sparqlVarOrFunction+ | STAR ) datasetClause* endpointClause? sWhereClause solutionmodifier valuesClause referenced by: forletClause distinctOrReduced: DISTINCT REDUCED distinctOrReduced ::= DISTINCT | REDUCED no referencesendpointClause: ENDPOINT sourceSelector endpointClause ::= ENDPOINT sourceSelector referenced by: sparqlForClause sparqlVarOrFunction: VAR LPAR expression AS VAR RPAR sparqlVarOrFunction ::= VAR | LPAR expression AS VAR RPAR referenced by: selectClause sparqlForClause xqueryForClause: singleForClause COMMA xqueryForClause ::= singleForClause ( COMMA singleForClause )* referenced by: forletClause singleForClause: VAR typeDeclaration positionalVar IN exprSingle singleForClause ::= VAR typeDeclaration? positionalVar? IN exprSingle referenced by: xqueryForClause positionalVar: AT VAR positionalVar ::= AT VAR referenced by: singleForClause letClause: LET singleLetClause COMMA letClause ::= LET singleLetClause ( COMMA singleLetClause )* referenced by: forletClause singleLetClause: VAR typeDeclaration ASSIGN exprSingle singleLetClause ::= VAR typeDeclaration? ASSIGN exprSingle referenced by: letClause whereClause: WHERE exprSingle whereClause ::= WHERE exprSingle referenced by: forletClause orderByClause: STABLE ORDER BY orderSpecList orderByClause ::= STABLE? ORDER BY orderSpecList referenced by: forletClause orderSpecList: orderSpec COMMA orderSpecList ::= orderSpec ( COMMA orderSpec )* referenced by: orderByClause orderSpec: exprSingle orderModifier orderSpec ::= exprSingle orderModifier referenced by: orderSpecList orderModifier: ASCENDING DESCENDING EMPTY GREATEST LEAST COLLATION uriliteral orderModifier ::= ( ASCENDING | DESCENDING )? ( EMPTY ( GREATEST | LEAST ) )? ( COLLATION uriliteral )? referenced by: orderSpec quantifiedExpr: SOME EVERY VAR typeDeclaration IN exprSingle COMMA SATISFIES exprSingle quantifiedExpr ::= ( SOME | EVERY ) VAR typeDeclaration? IN exprSingle ( COMMA VAR typeDeclaration? IN exprSingle )* SATISFIES exprSingle referenced by: exprSingle typeSwitchExpr: TYPESWITCH LPAR expr RPAR caseClause DEFAULT VAR RETURN exprSingle typeSwitchExpr ::= TYPESWITCH^ LPAR expr RPAR caseClause+ DEFAULT VAR? RETURN exprSingle referenced by: exprSingle caseClause: CASE VAR AS sequenceType RETURN exprSingle caseClause ::= CASE ( VAR AS )? sequenceType RETURN exprSingle referenced by: typeSwitchExpr ifExpr: IF LPAR expr RPAR THEN exprSingle ELSE exprSingle ifExpr ::= IF^ LPAR expr RPAR THEN exprSingle ELSE exprSingle referenced by: exprSingle orExpr: andExpr OR orExpr ::= andExpr ( OR^ andExpr )* referenced by: exprSingle andExpr: comparisonExpr AND andExpr ::= comparisonExpr ( AND comparisonExpr )* referenced by: orExpr comparisonExpr: valueComp generalComp nodeComp rangeExpr comparisonExpr ::= ( ( valueComp^ | generalComp^ | nodeComp^ ) rangeExpr )? referenced by: andExpr rangeExpr: additiveExpr TO additiveExpr rangeExpr ::= additiveExpr ( TO additiveExpr )? referenced by: comparisonExpr additiveExpr: multiplicativeExpr PLUS MINUS additiveExpr ::= multiplicativeExpr ( ( PLUS | MINUS ) multiplicativeExpr )* referenced by: rangeExpr multiplicativeExpr: unionExpr STAR DIV IDIV MOD multiplicativeExpr ::= unionExpr ( ( STAR | DIV | IDIV | MOD ) unionExpr )* referenced by: additiveExpr unionExpr: intersectExceptExpr UNION UNIONSYMBOL unionExpr ::= intersectExceptExpr ( ( UNION | UNIONSYMBOL ) intersectExceptExpr )* referenced by: multiplicativeExpr intersectExceptExpr: instanceOfExpr INTERSECT EXCEPT intersectExceptExpr ::= instanceOfExpr ( ( INTERSECT | EXCEPT ) instanceOfExpr )* referenced by: unionExpr instanceOfExpr: treatExpr INSTANCE OF sequenceType instanceOfExpr ::= treatExpr ( INSTANCE OF sequenceType )? referenced by: intersectExceptExpr treatExpr: castableExpr TREAT AS sequenceType treatExpr ::= castableExpr ( TREAT AS sequenceType )? referenced by: instanceOfExpr castableExpr: castExpr CASTABLE AS singleType castableExpr ::= castExpr ( CASTABLE AS singleType )? referenced by: treatExpr castExpr: unaryExpr CAST AS singleType castExpr ::= unaryExpr ( CAST AS singleType )? referenced by: castableExpr unaryExpr: MINUS PLUS valueExpr unaryExpr ::= ( MINUS | PLUS )* valueExpr referenced by: castExpr valueExpr: pathExpr validateExpr extensionExpr valueExpr ::= pathExpr | validateExpr | extensionExpr referenced by: unaryExpr generalComp: EQUALS LESSTHAN GREATERTHAN LESSTHANEQUALS GREATERTHANEQUALS HAFENEQUALS generalComp ::= EQUALS | LESSTHAN | GREATERTHAN | LESSTHANEQUALS | GREATERTHANEQUALS | HAFENEQUALS referenced by: comparisonExpr sqlAttrSpecList valueComp: EQ NE LT LE GT GE valueComp ::= EQ | NE | LT | LE | GT | GE referenced by: comparisonExpr nodeComp: LESSTHANLESSTHAN GREATERTHANGREATERTHAN IS nodeComp ::= LESSTHANLESSTHAN | GREATERTHANGREATERTHAN | IS referenced by: comparisonExpr validateExpr: VALIDATE validationMode LCURLY expr RCURLY validateExpr ::= VALIDATE validationMode? LCURLY expr RCURLY referenced by: valueExpr validationMode: LAX STRICT validationMode ::= LAX | STRICT referenced by: validateExpr extensionExpr: LCURLY expr RCURLY extensionExpr ::= LCURLY expr? RCURLY referenced by: valueExpr pathExpr: SLASH SLASH relativePathExpr relativePathExpr pathExpr ::= SLASH ( SLASH | relativePathExpr )? | relativePathExpr referenced by: valueExpr relativePathExpr: stepExpr SLASH SLASH relativePathExpr ::= stepExpr ( SLASH SLASH? stepExpr )* referenced by: pathExpr stepExpr: filterExpr axisStep stepExpr ::= filterExpr | axisStep referenced by: relativePathExpr axisStep: reverseStep forwardStep predicateList axisStep ::= ( reverseStep | forwardStep ) predicateList referenced by: stepExpr forwardStep: forwardAxis nodeTest abbrevForwardStep forwardStep ::= forwardAxis nodeTest | abbrevForwardStep referenced by: axisStep forwardAxis: CHILD DESCENDANT ATTRIBUTE SELF DESCENDANTORSELF FOLLOWINGSIBLING FOLLOWING COLONCOLON forwardAxis ::= ( CHILD | DESCENDANT | ATTRIBUTE | SELF | DESCENDANTORSELF | FOLLOWINGSIBLING | FOLLOWING ) COLONCOLON referenced by: forwardStep abbrevForwardStep: AT nodeTest abbrevForwardStep ::= AT? nodeTest referenced by: forwardStep reverseStep: reverseAxis nodeTest abbrevReverseStep reverseStep ::= reverseAxis nodeTest | abbrevReverseStep referenced by: axisStep reverseAxis: PARENT ANCESTOR PRECEDINGSIBLING PRECEDING ANCESTORORSELF COLONCOLON reverseAxis ::= ( PARENT | ANCESTOR | PRECEDINGSIBLING | PRECEDING | ANCESTORORSELF ) COLONCOLON referenced by: reverseStep abbrevReverseStep: DOTDOT abbrevReverseStep ::= DOTDOT referenced by: reverseStep nodeTest: kindTest nameTest nodeTest ::= kindTest | nameTest referenced by: abbrevForwardStep forwardStep reverseStep nameTest: qname wildCard nameTest ::= qname | wildCard referenced by: nodeTest wildCard: STAR COLON NCNAME NCNAME COLON STAR wildCard ::= STAR ( COLON NCNAME )? | NCNAME COLON STAR referenced by: nameTest filterExpr: primaryExpr predicateList filterExpr ::= primaryExpr predicateList referenced by: stepExpr predicateList: predicate predicateList ::= predicate* referenced by: axisStep filterExpr predicate: LBRACKET expr RBRACKET predicate ::= LBRACKET expr RBRACKET referenced by: predicateList primaryExpr: varRef literal parenthesizedExpr contextItemExpr functionCall orderedExpr unorderedExpr constructor primaryExpr ::= varRef | literal | parenthesizedExpr | contextItemExpr | functionCall | orderedExpr | unorderedExpr | constructor referenced by: filterExpr literal: numericliteral stringliteral literal ::= numericliteral | stringliteral referenced by: primaryExpr sqlAttrSpec numericliteral: integerLiteral decimalLiteral numericliteral ::= integerLiteral | decimalLiteral referenced by: dataBlockValue literal varRef: VAR varRef ::= VAR referenced by: primaryExpr varName: qname varName ::= qname no referencesparenthesizedExpr: LPAR expr RPAR parenthesizedExpr ::= LPAR expr? RPAR referenced by: primaryExpr contextItemExpr: DOT contextItemExpr ::= DOT referenced by: primaryExpr orderedExpr: ORDERED LCURLY expr RCURLY orderedExpr ::= ORDERED LCURLY expr RCURLY referenced by: primaryExpr unorderedExpr: UNORDERED LCURLY expr RCURLY unorderedExpr ::= UNORDERED LCURLY expr RCURLY referenced by: primaryExpr functionCall: qname LPAR exprSingle COMMA RPAR functionCall ::= qname LPAR ( exprSingle ( COMMA exprSingle )* )? RPAR referenced by: primaryExpr sqlVarOrFunction constructor: directConstructor computedConstructor constructor ::= directConstructor | computedConstructor referenced by: primaryExpr directConstructor: dirElemConstructor directConstructor ::= dirElemConstructor referenced by: constructor dirElemContent dirElemConstructor: LESSTHAN qname dirAttributeList GREATERTHAN dirElemContent ENDELM qname WHITESPACE GREATERTHAN ENDTAG dirElemConstructor ::= LESSTHAN qname dirAttributeList ( ENDTAG | GREATERTHAN dirElemContent* ENDELM qname WHITESPACE? GREATERTHAN ) referenced by: directConstructor dirAttributeList: WHITESPACE dirAttribute dirAttributeList ::= ( WHITESPACE dirAttribute? )* referenced by: dirElemConstructor dirAttribute: qname WHITESPACE EQUALS WHITESPACE dirAttributeValue dirAttribute ::= qname WHITESPACE? EQUALS WHITESPACE? dirAttributeValue referenced by: dirAttributeList dirAttributeValue: enclosedExpr QSTRING dirAttributeValue ::= enclosedExpr | QSTRING referenced by: dirAttribute dirElemContent: directConstructor commonContent WHITESPACE NCNAMEELM cDataSection dirElemContent ::= directConstructor | commonContent | WHITESPACE | NCNAMEELM | cDataSection referenced by: dirElemConstructor commonContent: enclosedExpr_ LCURLY LCURLY RCURLY RCURLY commonContent ::= ( enclosedExpr_ | LCURLY LCURLY | RCURLY RCURLY )? referenced by: dirElemContent cDataSection: CDATASTART CDATAELMEND cDataSection ::= CDATASTART CDATAELMEND referenced by: dirElemContent computedConstructor: compDocConstructor compElemConstructor compAttrConstructor compTextConstructor compCommentConstructor compPIConstructor computedConstructor ::= compDocConstructor | compElemConstructor | compAttrConstructor | compTextConstructor | compCommentConstructor | compPIConstructor referenced by: constructor compDocConstructor: DOCUMENT enclosedExpr compDocConstructor ::= DOCUMENT enclosedExpr referenced by: computedConstructor compElemConstructor: ELEMENT qname enclosedExpr_ LCURLY contentExpr RCURLY compElemConstructor ::= ELEMENT ( qname | enclosedExpr_ ) LCURLY contentExpr? RCURLY referenced by: computedConstructor contentExpr: expr contentExpr ::= expr referenced by: compElemConstructor compAttrConstructor: ATTRIBUTE qname enclosedExpr LCURLY expr RCURLY compAttrConstructor ::= ATTRIBUTE ( qname | enclosedExpr ) LCURLY expr? RCURLY referenced by: computedConstructor compTextConstructor: TEXT enclosedExpr_ compTextConstructor ::= TEXT enclosedExpr_ referenced by: computedConstructor compCommentConstructor: COMMENT enclosedExpr compCommentConstructor ::= COMMENT enclosedExpr referenced by: computedConstructor compPIConstructor: PROCESSINGINSTRUCTION NCNAME enclosedExpr LCURLY expr RCURLY compPIConstructor ::= PROCESSINGINSTRUCTION ( NCNAME | enclosedExpr ) LCURLY expr? RCURLY referenced by: computedConstructor singleType: atomicType QUESTIONMARK singleType ::= atomicType QUESTIONMARK? referenced by: castExpr castableExpr typeDeclaration: AS sequenceType typeDeclaration ::= AS sequenceType referenced by: param quantifiedExpr singleForClause singleLetClause varDecl sequenceType: EMPTYSEQUENCE LPAR RPAR itemType occurrenceIndicator sequenceType ::= EMPTYSEQUENCE LPAR RPAR | itemType occurrenceIndicator? referenced by: caseClause functionDecl instanceOfExpr treatExpr typeDeclaration occurrenceIndicator: QUESTIONMARK occurrenceIndicator ::= QUESTIONMARK referenced by: sequenceType itemType: ITEM LPAR RPAR atomicType kindTest itemType ::= ITEM LPAR RPAR | atomicType | kindTest referenced by: sequenceType atomicType: qname atomicType ::= qname referenced by: itemType singleType kindTest: documentTest elementTest attributeTest schemaElementTest schemaAttributeTest piTest commentTest textTest anyKindTest kindTest ::= documentTest | elementTest | attributeTest | schemaElementTest | schemaAttributeTest | piTest | commentTest | textTest | anyKindTest referenced by: itemType nodeTest anyKindTest: NODE LPAR RPAR anyKindTest ::= NODE LPAR RPAR referenced by: kindTest documentTest: DOCUMENTNODE LPAR elementTest schemaElementTest RPAR documentTest ::= DOCUMENTNODE LPAR ( elementTest | schemaElementTest )? RPAR referenced by: kindTest textTest: TEXT LPAR RPAR textTest ::= TEXT LPAR RPAR referenced by: kindTest commentTest: COMMENT LPAR RPAR commentTest ::= COMMENT LPAR RPAR referenced by: kindTest piTest: PROCESSINGINSTRUCTION LPAR NCNAME stringliteral RPAR piTest ::= PROCESSINGINSTRUCTION LPAR ( NCNAME | stringliteral )? RPAR referenced by: kindTest attributeTest: ATTRIBUTE LPAR attributeNameOrWildcard COMMA typeName RPAR attributeTest ::= ATTRIBUTE LPAR ( attributeNameOrWildcard ( COMMA typeName )? )? RPAR referenced by: kindTest attributeNameOrWildcard: attributeName STAR attributeNameOrWildcard ::= attributeName | STAR referenced by: attributeTest schemaAttributeTest: SCHEMAATTRIBUTE LPAR attributeDeclaration RPAR schemaAttributeTest ::= SCHEMAATTRIBUTE LPAR attributeDeclaration RPAR referenced by: kindTest attributeDeclaration: attributeName attributeDeclaration ::= attributeName referenced by: schemaAttributeTest elementTest: ELEMENT LPAR elementNameOrWildcard COMMA typeName QUESTIONMARK RPAR elementTest ::= ELEMENT LPAR ( elementNameOrWildcard ( COMMA typeName QUESTIONMARK? )? )? RPAR referenced by: documentTest kindTest elementNameOrWildcard: elementName STAR elementNameOrWildcard ::= elementName | STAR referenced by: elementTest schemaElementTest: SCHEMAELEMENT LPAR elementDeclaration RPAR schemaElementTest ::= SCHEMAELEMENT LPAR elementDeclaration RPAR referenced by: documentTest kindTest elementDeclaration: elementName elementDeclaration ::= elementName referenced by: schemaElementTest attributeName: qname attributeName ::= qname referenced by: attributeDeclaration attributeNameOrWildcard elementName: qname elementName ::= qname referenced by: elementDeclaration elementNameOrWildcard typeName: qname typeName ::= qname referenced by: attributeTest elementTest uriliteral: stringliteral uriliteral ::= stringliteral referenced by: defaultCollationDecl moduleDecl moduleImport orderModifier schemaImport integerLiteral: INTEGER integerLiteral ::= INTEGER referenced by: numericliteral decimalLiteral: DECIMAL decimalLiteral ::= DECIMAL referenced by: numericliteral stringliteral: QSTRING stringliteral ::= QSTRING referenced by: literal optionDecl piTest uriliteral versionDecl baseDecl: BASE IRIREF baseDecl ::= BASE IRIREF referenced by: prolog prefixDecl: PREFIX PNAME_NS IRIREF prefixDecl ::= PREFIX PNAME_NS IRIREF referenced by: prolog subSelect: selectClause sWhereClause solutionmodifier valuesClause subSelect ::= selectClause sWhereClause solutionmodifier valuesClause referenced by: groupGraphPattern selectClause: SELECT DISTINCT REDUCED sparqlVarOrFunction STAR selectClause ::= SELECT^ ( DISTINCT | REDUCED )? ( sparqlVarOrFunction+ | STAR ) referenced by: subSelect constructQuery: CONSTRUCT constructTemplate datasetClause sWhereClause WHERE LCURLY triplesSameSubject DOT DOT RCURLY solutionmodifier constructQuery ::= CONSTRUCT ( constructTemplate datasetClause* sWhereClause | WHERE LCURLY triplesSameSubject ( DOT triplesSameSubject )* DOT? RCURLY ) solutionmodifier referenced by: exprSingle datasetClause: FROM defaultGraphClause namedGraphClause datasetClause ::= FROM^ ( defaultGraphClause | namedGraphClause ) referenced by: constructQuery sparqlForClause defaultGraphClause: sourceSelector defaultGraphClause ::= sourceSelector referenced by: datasetClause namedGraphClause: NAMED sourceSelector namedGraphClause ::= NAMED sourceSelector referenced by: datasetClause sourceSelector: IRIREF VAR sourceSelector ::= IRIREF | VAR referenced by: defaultGraphClause endpointClause namedGraphClause sWhereClause: WHERE groupGraphPattern sWhereClause ::= WHERE groupGraphPattern referenced by: constructQuery sparqlForClause subSelect solutionmodifier: groupBy having orderclause limitoffsetclauses solutionmodifier ::= groupBy? having? orderclause? limitoffsetclauses? referenced by: constructQuery sparqlForClause subSelect groupBy: GROUP BY groupByCondition groupBy ::= GROUP BY groupByCondition+ referenced by: solutionmodifier groupByCondition: builtInCall sFunctionCall LPAR expression AS VAR RPAR VAR groupByCondition ::= builtInCall | sFunctionCall | LPAR expression ( AS VAR )? RPAR | VAR referenced by: groupBy having: HAVING havingCondition having ::= HAVING havingCondition+ referenced by: solutionmodifier havingCondition: constraint havingCondition ::= constraint referenced by: having orderclause: ORDER BY orderCondition orderclause ::= ORDER BY orderCondition+ referenced by: solutionmodifier orderCondition: ASC DESC brackettedExpression constraint VAR orderCondition ::= ( ASC | DESC ) brackettedExpression | constraint | VAR referenced by: orderclause limitoffsetclauses: limitclause offsetclause offsetclause limitclause limitoffsetclauses ::= limitclause offsetclause? | offsetclause limitclause? referenced by: solutionmodifier limitclause: LIMIT INTEGER limitclause ::= LIMIT^ INTEGER referenced by: limitoffsetclauses offsetclause: OFFSET INTEGER offsetclause ::= OFFSET^ INTEGER referenced by: limitoffsetclauses valuesClause: VALUES dataBlock valuesClause ::= ( VALUES^ dataBlock )? referenced by: sparqlForClause subSelect groupGraphPattern: LCURLY subSelect groupGraphPatternSub RCURLY groupGraphPattern ::= LCURLY ( subSelect | groupGraphPatternSub ) RCURLY referenced by: existsFunc graphGraphPattern groupOrUnionGraphPattern minusGraphPattern notExistsFunc optionalGraphPattern sWhereClause serviceGraphPattern groupGraphPatternSub: triplesBlock DOT graphPatternNotTriples filter groupGraphPatternSub ::= triplesBlock? ( ( graphPatternNotTriples | filter ) DOT? triplesBlock? )* referenced by: groupGraphPattern triplesBlock: triplesSameSubjectPath DOT DOT triplesBlock ::= triplesSameSubjectPath ( DOT triplesSameSubjectPath )* DOT? referenced by: groupGraphPatternSub graphPatternNotTriples: optionalGraphPattern groupOrUnionGraphPattern graphGraphPattern minusGraphPattern serviceGraphPattern bind inlineData graphPatternNotTriples ::= optionalGraphPattern | groupOrUnionGraphPattern | graphGraphPattern | minusGraphPattern | serviceGraphPattern | bind | inlineData referenced by: groupGraphPatternSub optionalGraphPattern: OPTIONAL groupGraphPattern optionalGraphPattern ::= OPTIONAL^ groupGraphPattern referenced by: graphPatternNotTriples graphGraphPattern: GRAPH varOrIRIref groupGraphPattern graphGraphPattern ::= GRAPH^ varOrIRIref groupGraphPattern referenced by: graphPatternNotTriples serviceGraphPattern: SERVICE SILENT varOrIRIref groupGraphPattern serviceGraphPattern ::= SERVICE^ SILENT? varOrIRIref groupGraphPattern referenced by: graphPatternNotTriples bind: BIND LPAR expression AS VAR RPAR bind ::= BIND^ LPAR expression AS VAR RPAR referenced by: graphPatternNotTriples inlineData: VALUES dataBlock inlineData ::= VALUES^ dataBlock referenced by: graphPatternNotTriples dataBlock: inlineDataOneVar inlineDataFull dataBlock ::= inlineDataOneVar | inlineDataFull referenced by: inlineData valuesClause inlineDataOneVar: VAR LCURLY dataBlockValue RCURLY inlineDataOneVar ::= VAR LCURLY dataBlockValue* RCURLY referenced by: dataBlock inlineDataFull: nil LPAR VAR RPAR LCURLY LPAR dataBlockValue RPAR nil RCURLY inlineDataFull ::= ( nil | LPAR VAR+ RPAR ) LCURLY ( LPAR dataBlockValue+ RPAR | nil )* RCURLY referenced by: dataBlock dataBlockValue: sparqlPrefixedName IRIREF rdfLiteral numericliteral booleanLiteral UNDEF dataBlockValue ::= sparqlPrefixedName | IRIREF | rdfLiteral | numericliteral | booleanLiteral | UNDEF referenced by: inlineDataFull inlineDataOneVar minusGraphPattern: MINUS groupGraphPattern minusGraphPattern ::= MINUS^ groupGraphPattern referenced by: graphPatternNotTriples groupOrUnionGraphPattern: groupGraphPattern UNION groupOrUnionGraphPattern ::= groupGraphPattern ( UNION groupGraphPattern )* referenced by: graphPatternNotTriples filter: FILTER constraint filter ::= FILTER^ constraint referenced by: groupGraphPatternSub constraint: brackettedExpression builtInCall sFunctionCall constraint ::= brackettedExpression | builtInCall | sFunctionCall referenced by: filter havingCondition orderCondition sFunctionCall: iRIref arglist sFunctionCall ::= iRIref arglist referenced by: constraint groupByCondition arglist: LPAR expression COMMA RPAR arglist ::= LPAR ( expression ( COMMA expression )* )? RPAR referenced by: iRIrefOrFunction sFunctionCall expressionList: nil LPAR expression COMMA RPAR expressionList ::= nil | LPAR expression ( COMMA expression )* RPAR referenced by: builtInCall relationalExpression constructTemplate: LCURLY triplesSameSubject_ enclosedExpr DOT triplesSameSubject_ DOT enclosedExpr RCURLY constructTemplate ::= LCURLY ( ( ( triplesSameSubject_ | enclosedExpr ) DOT )* ( triplesSameSubject_ DOT? | enclosedExpr ) )? RCURLY referenced by: constructQuery flworExpr triplesSameSubject: subject propertyListNotEmpty triplesNode propertyListNotEmpty triplesSameSubject ::= subject propertyListNotEmpty | triplesNode propertyListNotEmpty? referenced by: constructQuery triplesSameSubject_: subject_ propertyListNotEmpty_ triplesNode_ propertyListNotEmpty_ triplesSameSubject_ ::= subject_ propertyListNotEmpty_ | triplesNode_ propertyListNotEmpty_? referenced by: constructTemplate propertyListNotEmpty: verb objectList SEMICOLON verb objectList propertyListNotEmpty ::= verb objectList ( SEMICOLON ( verb objectList )? )* referenced by: blankNodePropertyList triplesSameSubject propertyListNotEmpty_: verb_ objectList_ SEMICOLON verb_ objectList_ propertyListNotEmpty_ ::= verb_ objectList_ ( SEMICOLON ( verb_ objectList_ )? )* referenced by: blankNodePropertyList_ triplesSameSubject_ verb: varOrIRIref A verb ::= varOrIRIref | A referenced by: propertyListNotEmpty verb_: varOrIRIref_ A verb_ ::= varOrIRIref_ | A referenced by: propertyListNotEmpty_ objectList: object COMMA objectList ::= object ( COMMA object )* referenced by: propertyListNotEmpty propertyListPathNotEmptySub objectList_: object_ COMMA objectList_ ::= object_ ( COMMA object_ )* referenced by: propertyListNotEmpty_ object: resource blank rdfLiteral sNumericLiteral triplesNode literalConstruct object ::= resource | blank | rdfLiteral | sNumericLiteral | triplesNode | literalConstruct referenced by: objectList object_: graphNode_ quad object_ ::= graphNode_ quad? referenced by: objectList_ quad: iri literal_ quad ::= iri | literal_ referenced by: object_ literal_: literalConstruct rdfLiteral literal_ ::= literalConstruct | rdfLiteral referenced by: quad triplesSameSubjectPath: subject propertyListPathNotEmpty triplesNodePath propertyListPathNotEmpty triplesSameSubjectPath ::= subject propertyListPathNotEmpty | triplesNodePath propertyListPathNotEmpty? referenced by: triplesBlock propertyListPathNotEmpty: vp objectListPath propertyListPathNotEmptySub propertyListPathNotEmpty ::= vp objectListPath propertyListPathNotEmptySub* referenced by: blanckNodePropertyListPath triplesSameSubjectPath propertyListPathNotEmptySub: SEMICOLON vp objectList propertyListPathNotEmptySub ::= SEMICOLON ( vp objectList )? referenced by: propertyListPathNotEmpty vp: verbPath verbSimple vp ::= verbPath | verbSimple referenced by: propertyListPathNotEmpty propertyListPathNotEmptySub verbPath: path verbPath ::= path referenced by: vp verbSimple: VAR verbSimple ::= VAR referenced by: vp objectListPath: objectPath COMMA objectListPath ::= objectPath ( COMMA objectPath )* referenced by: propertyListPathNotEmpty objectPath: graphNodePath objectPath ::= graphNodePath referenced by: objectListPath path: pathAlternative path ::= pathAlternative referenced by: pathPrimary verbPath pathAlternative: pathSequence UNIONSYMBOL pathAlternative ::= pathSequence ( UNIONSYMBOL pathSequence )* referenced by: path pathSequence: pathEltOrInverse SLASH pathSequence ::= pathEltOrInverse ( SLASH pathEltOrInverse )* referenced by: pathAlternative pathElt: pathPrimary pathMod pathElt ::= pathPrimary pathMod? referenced by: pathEltOrInverse pathEltOrInverse: CARET pathElt pathEltOrInverse ::= CARET? pathElt referenced by: pathSequence pathMod: QUESTIONMARK STAR PLUS pathMod ::= QUESTIONMARK | STAR | PLUS referenced by: pathElt pathPrimary: iRIref A NOT pathNegatedPropertySet LPAR path RPAR pathPrimary ::= iRIref | A | NOT pathNegatedPropertySet | LPAR path RPAR referenced by: pathElt pathNegatedPropertySet: pathOneInPropertySet LPAR pathOneInPropertySet UNIONSYMBOL RPAR pathNegatedPropertySet ::= pathOneInPropertySet | LPAR ( pathOneInPropertySet ( UNIONSYMBOL pathOneInPropertySet )* )? RPAR referenced by: pathPrimary pathOneInPropertySet: CARET iRIref A pathOneInPropertySet ::= CARET? ( iRIref | A ) referenced by: pathNegatedPropertySet triplesNode: collection blankNodePropertyList triplesNode ::= collection | blankNodePropertyList referenced by: graphNode object triplesSameSubject triplesNode_: collection_ blankNodePropertyList_ triplesNode_ ::= collection_ | blankNodePropertyList_ referenced by: graphNode_ triplesSameSubject_ blankNodePropertyList: LBRACKET propertyListNotEmpty RBRACKET blankNodePropertyList ::= LBRACKET propertyListNotEmpty RBRACKET referenced by: triplesNode blankNodePropertyList_: LBRACKET propertyListNotEmpty_ RBRACKET blankNodePropertyList_ ::= LBRACKET propertyListNotEmpty_ RBRACKET referenced by: triplesNode_ triplesNodePath: collectionPath blanckNodePropertyListPath triplesNodePath ::= collectionPath | blanckNodePropertyListPath referenced by: graphNodePath triplesSameSubjectPath blanckNodePropertyListPath: LBRACKET propertyListPathNotEmpty RBRACKET blanckNodePropertyListPath ::= LBRACKET propertyListPathNotEmpty RBRACKET referenced by: triplesNodePath collection: LPAR graphNode RPAR collection ::= LPAR graphNode+ RPAR referenced by: triplesNode collection_: LPAR graphNode_ RPAR collection_ ::= LPAR graphNode_+ RPAR referenced by: triplesNode_ collectionPath: LPAR graphNodePath RPAR collectionPath ::= LPAR graphNodePath+ RPAR referenced by: triplesNodePath graphNode: varOrTerm triplesNode graphNode ::= varOrTerm | triplesNode referenced by: collection graphNode_: varOrTerm_ triplesNode_ graphNode_ ::= varOrTerm_ | triplesNode_ referenced by: collection_ object_ graphNodePath: VAR graphTerm triplesNodePath graphNodePath ::= VAR | graphTerm | triplesNodePath referenced by: collectionPath objectPath varOrTerm: VAR graphTerm varOrTerm ::= VAR | graphTerm referenced by: graphNode varOrTerm_: VAR iriConstruct literalConstruct graphTerm_ varOrTerm_ ::= VAR | iriConstruct | literalConstruct | graphTerm_ referenced by: graphNode_ literalConstruct: enclosedExpr AT enclosedExpr CARET CARET iri INTEGER QSTRING AT enclosedExpr CARET CARET iriConstruct literalConstruct ::= enclosedExpr ( AT enclosedExpr | CARET CARET iri )? | ( INTEGER | QSTRING ) ( AT enclosedExpr | CARET CARET iriConstruct ) referenced by: literal_ object varOrTerm_ varOrIRIref: VAR iRIref varOrIRIref ::= VAR | iRIref referenced by: graphGraphPattern serviceGraphPattern verb varOrIRIref_: VAR iRIref iriConstruct varOrIRIref_ ::= VAR | iRIref | iriConstruct referenced by: verb_ iriConstruct: LESSTHANLCURLY expr RCURLYGREATERTHAN enclosedExpr COLON enclosedExpr OLON qname qname COLON enclosedExpr iriConstruct ::= LESSTHANLCURLY expr RCURLYGREATERTHAN | enclosedExpr ( COLON enclosedExpr | OLON? qname ) | qname COLON enclosedExpr referenced by: iri literalConstruct subject_ varOrIRIref_ varOrTerm_ graphTerm: iRIref rdfLiteral sNumericLiteral booleanLiteral blankNode nil graphTerm ::= iRIref | rdfLiteral | sNumericLiteral | booleanLiteral | blankNode | nil referenced by: graphNodePath varOrTerm graphTerm_: rdfLiteral sNumericLiteral booleanLiteral blankNode blankConstruct graphTerm_ ::= rdfLiteral | sNumericLiteral | booleanLiteral | blankNode | blankConstruct referenced by: varOrTerm_ blankConstruct: BNODE_CONSTRUCT enclosedExpr blankConstruct ::= BNODE_CONSTRUCT enclosedExpr referenced by: graphTerm_ subject_ expression: conditionalOrExpression expression ::= conditionalOrExpression referenced by: aggregate arglist bind brackettedExpression builtInCall expressionList groupByCondition regexExpression sparqlVarOrFunction strReplaceExpression substringExpression conditionalOrExpression: conditionalAndExpression ORSYMBOL conditionalOrExpression ::= conditionalAndExpression ( ORSYMBOL^ conditionalAndExpression )* referenced by: expression conditionalAndExpression: valueLogical ANDSYMBOL conditionalAndExpression ::= valueLogical ( ANDSYMBOL^ valueLogical )* referenced by: conditionalOrExpression valueLogical: relationalExpression valueLogical ::= relationalExpression referenced by: conditionalAndExpression relationalExpression: numericExpression EQUALS HAFENEQUALS LESSTHAN GREATERTHAN LESSTHANEQUALS GREATERTHANEQUALS numericExpression NOTKW IN expressionList relationalExpression ::= numericExpression ( ( EQUALS | HAFENEQUALS | LESSTHAN | GREATERTHAN | LESSTHANEQUALS | GREATERTHANEQUALS ) numericExpression | NOTKW? IN expressionList )? referenced by: valueLogical numericExpression: additiveExpression numericExpression ::= additiveExpression referenced by: relationalExpression additiveExpression: multiplicativeExpression PLUS MINUS additiveExpression ::= multiplicativeExpression ( ( PLUS^ | MINUS^ ) multiplicativeExpression )* referenced by: numericExpression multiplicativeExpression: unaryExpression STAR SLASH multiplicativeExpression ::= unaryExpression ( ( STAR^ | SLASH^ ) unaryExpression )* referenced by: additiveExpression unaryExpression: NOT PLUS MINUS primaryExpression unaryExpression ::= ( NOT | PLUS | MINUS )? primaryExpression referenced by: multiplicativeExpression primaryExpression: brackettedExpression builtInCall iRIrefOrFunction rdfLiteral sNumericLiteral booleanLiteral VAR BLANK_NODE_LABEL LBRACKET RBRACKET primaryExpression ::= brackettedExpression | builtInCall | iRIrefOrFunction | rdfLiteral | sNumericLiteral | booleanLiteral | VAR | BLANK_NODE_LABEL | LBRACKET RBRACKET referenced by: unaryExpression brackettedExpression: LPAR expression RPAR brackettedExpression ::= LPAR expression RPAR referenced by: constraint orderCondition primaryExpression builtInCall: STR LANG DATATYPE ISIRI ISURI ISBLANK ISLITERAL IRI URI ABS CEIL FLOOR ROUND STRLEN UCASE LCASE ENCODE_FOR_URI YEAR MONTH DAY HOURS MINUTES SECONDS TIMEZONE TZ MD5 SHA1 SHA256 SHA384 SHA512 ISNUMERIC LPAR LANGMATCHES CONTAINS STRSTARTS STRENDS STRBEFORE STRAFTER STRLANG STRDT SAME_TERM LPAR IF LPAR expression COMMA expression COMMA expression BOUND LPAR VAR RPAR regexExpression BNODE LPAR expression RPAR nil RAND NOW UID STRUUID nil CONCAT COALESCE expressionList substringExpression strReplaceExpression aggregate existsFunc notExistsFunc builtInCall ::= ( ( ( STR | LANG | DATATYPE | ISIRI | ISURI | ISBLANK | ISLITERAL | IRI | URI | ABS | CEIL | FLOOR | ROUND | STRLEN | UCASE | LCASE | ENCODE_FOR_URI | YEAR | MONTH | DAY | HOURS | MINUTES | SECONDS | TIMEZONE | TZ | MD5 | SHA1 | SHA256 | SHA384 | SHA512 | ISNUMERIC ) LPAR | ( ( LANGMATCHES | CONTAINS | STRSTARTS | STRENDS | STRBEFORE | STRAFTER | STRLANG | STRDT | SAME_TERM ) LPAR | IF LPAR expression COMMA ) expression COMMA ) expression | BOUND LPAR VAR ) RPAR | regexExpression | BNODE ( LPAR expression RPAR | nil ) | ( RAND | NOW | UID | STRUUID ) nil | ( CONCAT | COALESCE ) expressionList | substringExpression | strReplaceExpression | aggregate | existsFunc | notExistsFunc referenced by: constraint groupByCondition primaryExpression regexExpression: REGEX LPAR expression COMMA expression COMMA expression RPAR regexExpression ::= REGEX LPAR expression COMMA expression ( COMMA expression )? RPAR referenced by: builtInCall substringExpression: SUBSTR LPAR expression COMMA expression COMMA expression RPAR substringExpression ::= SUBSTR LPAR expression COMMA expression ( COMMA expression )? RPAR referenced by: builtInCall strReplaceExpression: REPLACE LPAR expression COMMA expression COMMA expression COMMA expression RPAR strReplaceExpression ::= REPLACE LPAR expression COMMA expression COMMA expression ( COMMA expression )? RPAR referenced by: builtInCall existsFunc: EXISTS groupGraphPattern existsFunc ::= EXISTS groupGraphPattern referenced by: builtInCall notExistsFunc: NOTKW EXISTS groupGraphPattern notExistsFunc ::= NOTKW^ EXISTS groupGraphPattern referenced by: builtInCall aggregate: COUNT LPAR DISTINCT STAR expression SUM MIN MAX AVG SAMPLE LPAR DISTINCT expression GROUP_CONCAT LPAR DISTINCT expression SEMICOLON SEPARATOR EQUALS string RPAR aggregate ::= ( COUNT LPAR DISTINCT? ( STAR | expression ) | ( SUM | MIN | MAX | AVG | SAMPLE ) LPAR DISTINCT? expression | GROUP_CONCAT LPAR DISTINCT? expression ( SEMICOLON SEPARATOR EQUALS string )? ) RPAR referenced by: builtInCall iRIrefOrFunction: iRIref arglist iRIrefOrFunction ::= iRIref arglist? referenced by: primaryExpression rdfLiteral: QSTRING AT NCNAME CARET CARET IRIREF PNAME_LN rdfLiteral ::= QSTRING ( AT NCNAME | CARET CARET ( IRIREF | PNAME_LN ) )? referenced by: dataBlockValue graphTerm graphTerm_ literal_ object primaryExpression sNumericLiteral: PLUS MINUS INTEGER DECIMAL DOUBLET sNumericLiteral ::= ( PLUS | MINUS )? ( INTEGER | DECIMAL | DOUBLET ) referenced by: graphTerm graphTerm_ object primaryExpression booleanLiteral: TRUE FALSE booleanLiteral ::= TRUE | FALSE referenced by: dataBlockValue graphTerm graphTerm_ primaryExpression string: QSTRING string ::= QSTRING referenced by: aggregate iRIref: IRIREF prefixedName iRIref ::= IRIREF | prefixedName referenced by: graphTerm iRIrefOrFunction pathOneInPropertySet pathPrimary sFunctionCall varOrIRIref varOrIRIref_ prefixedName: PNAME_LN PNAME_NS prefixedName ::= PNAME_LN | PNAME_NS referenced by: iRIref qname blankNode: blank blankNode ::= blank referenced by: graphTerm graphTerm_ blank: bnode LBRACKET RBRACKET blank ::= bnode | LBRACKET RBRACKET referenced by: blankNode object subject subject_ nil: LPAR RPAR nil ::= LPAR RPAR referenced by: builtInCall expressionList graphTerm inlineDataFull subject_: resource iriConstruct blank blankConstruct enclosedExpr subject_ ::= resource | iriConstruct | blank | blankConstruct | enclosedExpr referenced by: triplesSameSubject_ subject: resource blank subject ::= resource | blank referenced by: triplesSameSubject triplesSameSubjectPath iri: PNAME_LN IRIREF iriConstruct iri ::= PNAME_LN | IRIREF | iriConstruct referenced by: literalConstruct quad resource: sparqlPrefixedName VAR IRIREF resource ::= sparqlPrefixedName | VAR | IRIREF referenced by: object rdfPredicate subject subject_ rdfPredicate: resource rdfPredicate ::= resource no referencesbnode: BLANK_NODE_LABEL bnode ::= BLANK_NODE_LABEL referenced by: blank sparqlPrefixedName: PNAME_LN PNAME_NS sparqlPrefixedName ::= PNAME_LN | PNAME_NS referenced by: dataBlockValue resource qname: prefixedName unprefixedName COUNT MAX MIN AVG SUM SAMPLE NOTKW EXISTS qname ::= prefixedName | unprefixedName | COUNT | MAX | MIN | AVG | SUM | SAMPLE | NOTKW | EXISTS referenced by: atomicType attributeName compAttrConstructor compElemConstructor dirAttribute dirElemConstructor elementName functionCall functionDecl iriConstruct nameTest optionDecl relationAlias relationClause sqlAttrSpec sqlVarOrFunction typeName varName keyword: ITEM TO FROM COMMENT ROW NODE A keyword ::= ITEM | TO | FROM | COMMENT | ROW | NODE | A referenced by: localPart unprefixedName: localPart unprefixedName ::= localPart referenced by: qname localPart: NCNAME keyword localPart ::= NCNAME | keyword referenced by: unprefixedName sqlForClause: FOR DISTINCT STAR sqlVarOrFunctionList ROW VAR relationClause sqlWhereClause sqlForClause ::= FOR DISTINCT? ( STAR | sqlVarOrFunctionList | ROW VAR ) relationClause sqlWhereClause? referenced by: forletClause sqlVarOrFunctionList: sqlVarOrFunction f a l s e COMMA sqlVarOrFunction t r u e sqlVarOrFunctionList ::= sqlVarOrFunction [false] ( COMMA sqlVarOrFunction [true] )* referenced by: sqlForClause sqlVarOrFunction: qname LPAR functionCall AS VAR RPAR VAR sqlVarOrFunction ::= qname | LPAR functionCall AS VAR RPAR | VAR referenced by: sqlVarOrFunctionList relationClause: FROM rdbSourceSelector COMMA qname LPAR rdbSourceSelectorFunctionParams RPAR relationClause ::= FROM ( rdbSourceSelector ( COMMA rdbSourceSelector )* | qname LPAR rdbSourceSelectorFunctionParams? RPAR ) referenced by: sqlForClause rdbSourceSelectorFunctionParams: rdbSourceSelector COMMA QSTRING rdbSourceSelectorFunctionParams ::= rdbSourceSelector ( COMMA rdbSourceSelector )* | QSTRING referenced by: relationClause rdbSourceSelector: relationSchemaName relationAlias rdbSourceSelector ::= relationSchemaName relationAlias? referenced by: rdbSourceSelectorFunctionParams relationClause relationSchemaName: relationAlias DOT relationAlias relationSchemaName ::= relationAlias ( DOT relationAlias )? referenced by: rdbSourceSelector relationAlias: qname VAR relationAlias ::= qname | VAR referenced by: rdbSourceSelector relationSchemaName sqlWhereClause: WHERE sqlWhereSpecList sqlWhereClause ::= WHERE^ sqlWhereSpecList referenced by: sqlForClause sqlWhereSpecList: sqlAttrSpecList sqlBooleanOp sqlWhereSpecList ::= sqlAttrSpecList ( sqlBooleanOp sqlAttrSpecList )* referenced by: sqlAttrSpecList sqlWhereClause sqlAttrSpecList: sqlAttrSpec generalComp sqlAttrSpec LPAR sqlWhereSpecList RPAR sqlAttrSpecList ::= sqlAttrSpec generalComp sqlAttrSpec | LPAR sqlWhereSpecList RPAR referenced by: sqlWhereSpecList sqlBooleanOp: AND OR sqlBooleanOp ::= AND | OR referenced by: sqlWhereSpecList sqlAttrSpec: qname VAR literal enclosedExpr sqlAttrSpec ::= qname | VAR | literal | enclosedExpr referenced by: sqlAttrSpecList   ... generated by Railroad Diagram Generator R R