module:
module ::= versionDecl? ( libraryModule | mainModule )
no referencesversionDecl:
versionDecl
::= 'xquery' 'version' stringliteral ( 'encoding' stringliteral )? '\;'
referenced by:
module
mainModule:
mainModule
::= prolog queryBody
referenced by:
module
libraryModule:
libraryModule
::= moduleDecl prolog
referenced by:
module
moduleDecl:
moduleDecl
::= 'module' 'namespace' NCNAME '\::=' uriliteral '\;'
referenced by:
libraryModule
prolog:
prolog ::= baseDecl? ( ( defaultNamespaceDecl | namespaceDecl | setter | importa ) '\;' | prefixDecl )* ( ( varDecl | functionDecl | optionDecl ) '\;' )*
referenced by:
libraryModule
mainModule
setter:
setter ::= boundarySpaceDecl
| defaultCollationDecl
| baseURIDecl
| constructionDecl
| orderingModeDecl
| emptyOrderDecl
| copyNamespacesDecl
referenced by:
prolog
importa:
importa ::= schemaImport
| moduleImport
referenced by:
prolog
namespaceDecl:
namespaceDecl
::= 'declare' 'namespace' NCNAME '\::=' QSTRING
referenced by:
prolog
boundarySpaceDecl:
boundarySpaceDecl
::= 'declare' 'boundary-space' ( 'preserve' | 'strip' )
referenced by:
setter
defaultNamespaceDecl:
defaultNamespaceDecl
::= 'declare' 'default' ( 'element' | 'function' ) 'namespace' QSTRING
referenced by:
prolog
optionDecl:
optionDecl
::= 'declare' 'option' qname stringliteral
referenced by:
prolog
orderingModeDecl:
orderingModeDecl
::= 'declare' 'ordering' ( 'ordered' | 'unordered' )
referenced by:
setter
emptyOrderDecl:
emptyOrderDecl
::= 'declare' 'default' 'order' 'empty' ( 'greatest' | 'least' )
referenced by:
setter
copyNamespacesDecl:
copyNamespacesDecl
::= 'declare' COPYNAMESPACES^ preserveMode '\,' inheritMode
referenced by:
setter
preserveMode:
preserveMode
::= 'preserve'
| 'no-preserve'
referenced by:
copyNamespacesDecl
inheritMode:
inheritMode
::= 'inherit'
| 'no-inherit'
referenced by:
copyNamespacesDecl
defaultCollationDecl:
defaultCollationDecl
::= 'declare' 'default' 'collation' uriliteral
referenced by:
setter
baseURIDecl:
baseURIDecl
::= 'declare' 'base-uri' QSTRING
referenced by:
setter
schemaImport:
schemaImport
::= IMPORT 'schema' schemaPrefix? uriliteral ( AT uriliteral ( '\,' uriliteral )* )?
referenced by:
importa
schemaPrefix:
schemaPrefix
::= 'namespace' NCNAME '\::='
| 'default' 'element' 'namespace'
referenced by:
schemaImport
moduleImport:
moduleImport
::= IMPORT 'module' ( 'namespace' NCNAME '\::=' )? uriliteral ( AT uriliteral ( '\,' uriliteral )* )?
referenced by:
importa
varDecl:
varDecl ::= 'declare' 'variable' VAR typeDeclaration? ( '\:\::=' exprSingle | EXTERNAL )
referenced by:
prolog
constructionDecl:
constructionDecl
::= 'declare' 'construction' ( 'strip' | 'preserve' )
referenced by:
setter
functionDecl:
functionDecl
::= 'declare' 'function' qname '\(' paramList? '\)' ( 'as' sequenceType )? ( enclosedExpr | EXTERNAL )
referenced by:
prolog
paramList:
paramList
::= param ( '\,' param )*
referenced by:
functionDecl
param:
param ::= VAR typeDeclaration?
referenced by:
paramList
enclosedExpr:
enclosedExpr
::= '\{' expr '\}'
referenced by:
blankConstruct
compAttrConstructor
compCommentConstructor
compDocConstructor
compPIConstructor
constructTemplate
dirAttributeValue
functionDecl
iriConstruct
literalConstruct
sqlAttrSpec
subject_
queryBody:
queryBody
::= exprSingle ( '\,' exprSingle )*
referenced by:
mainModule
expr:
expr ::= exprSingle ( '\,' exprSingle )*
referenced by:
compAttrConstructor
compPIConstructor
contentExpr
enclosedExpr
extensionExpr
ifExpr
iriConstruct
orderedExpr
parenthesizedExpr
predicate
typeSwitchExpr
unorderedExpr
validateExpr
exprSingle:
exprSingle
::= flworExpr
| quantifiedExpr
| typeSwitchExpr
| constructQuery
| orExpr
| ifExpr
referenced by:
caseClause
expr
flworExpr
functionCall
ifExpr
orderSpec
quantifiedExpr
queryBody
singleForClause
singleLetClause
typeSwitchExpr
varDecl
whereClause
flworExpr:
flworExpr
::= 'construct' constructTemplate
| 'return' exprSingle
| forletClause
referenced by:
exprSingle
forletClause:
forletClause
::= 'for' ( sparqlForClause | sqlForClause | xqueryForClause whereClause? orderByClause? )
| letClause whereClause? orderByClause?
referenced by:
flworExpr
sparqlForClause:
sparqlForClause
::= 'distinct'? ( sparqlVarOrFunction+ | '\*' ) datasetClause* endpointClause? sWhereClause solutionmodifier valuesClause
referenced by:
forletClause
distinctOrReduced:
distinctOrReduced
::= 'distinct'
| 'reduced'
no referencesendpointClause:
endpointClause
::= 'endpoint' sourceSelector
referenced by:
sparqlForClause
sparqlVarOrFunction:
sparqlVarOrFunction
::= VAR
| '\(' expression 'as' VAR '\)'
referenced by:
selectClause
sparqlForClause
xqueryForClause:
xqueryForClause
::= singleForClause ( '\,' singleForClause )*
referenced by:
forletClause
singleForClause:
singleForClause
::= VAR typeDeclaration? positionalVar? 'in' exprSingle
referenced by:
xqueryForClause
positionalVar:
positionalVar
::= AT VAR
referenced by:
singleForClause
letClause:
letClause
::= 'let' singleLetClause ( '\,' singleLetClause )*
referenced by:
forletClause
singleLetClause:
singleLetClause
::= VAR typeDeclaration? '\:\::=' exprSingle
referenced by:
letClause
whereClause:
whereClause
::= WHERE exprSingle
referenced by:
forletClause
orderByClause:
orderByClause
::= 'stable'? 'order' 'by' orderSpecList
referenced by:
forletClause
orderSpecList:
orderSpecList
::= orderSpec ( '\,' orderSpec )*
referenced by:
orderByClause
orderSpec:
orderSpec
::= exprSingle orderModifier
referenced by:
orderSpecList
orderModifier:
orderModifier
::= ( 'ascending' | 'descending' )? ( 'empty' ( 'greatest' | 'least' ) )? ( 'collation' uriliteral )?
referenced by:
orderSpec
quantifiedExpr:
quantifiedExpr
::= ( 'some' | 'every' ) VAR typeDeclaration? 'in' exprSingle ( '\,' VAR typeDeclaration? 'in' exprSingle )* 'satisfies' exprSingle
referenced by:
exprSingle
typeSwitchExpr:
typeSwitchExpr
::= TYPESWITCH^ '\(' expr '\)' caseClause+ 'default' VAR? 'return' exprSingle
referenced by:
exprSingle
caseClause:
caseClause
::= 'case' ( VAR 'as' )? sequenceType 'return' exprSingle
referenced by:
typeSwitchExpr
ifExpr:
ifExpr ::= IF^ '\(' expr '\)' 'then' exprSingle 'else' exprSingle
referenced by:
exprSingle
orExpr:
orExpr ::= andExpr ( OR^ andExpr )*
referenced by:
exprSingle
andExpr:
andExpr ::= comparisonExpr ( 'and' comparisonExpr )*
referenced by:
orExpr
comparisonExpr:
comparisonExpr
::= ( ( valueComp^ | generalComp^ | nodeComp^ ) rangeExpr )?
referenced by:
andExpr
rangeExpr:
rangeExpr
::= additiveExpr ( 'to' additiveExpr )?
referenced by:
comparisonExpr
additiveExpr:
additiveExpr
::= multiplicativeExpr ( ( '\+' | MINUS ) multiplicativeExpr )*
referenced by:
rangeExpr
multiplicativeExpr:
multiplicativeExpr
::= unionExpr ( ( '\*' | 'div' | 'idiv' | 'mod' ) unionExpr )*
referenced by:
additiveExpr
unionExpr:
unionExpr
::= intersectExceptExpr ( ( 'union' | '\|' ) intersectExceptExpr )*
referenced by:
multiplicativeExpr
intersectExceptExpr:
intersectExceptExpr
::= instanceOfExpr ( ( 'intersect' | 'except' ) instanceOfExpr )*
referenced by:
unionExpr
instanceOfExpr:
instanceOfExpr
::= treatExpr ( 'instance' 'of' sequenceType )?
referenced by:
intersectExceptExpr
treatExpr:
treatExpr
::= castableExpr ( 'treat' 'as' sequenceType )?
referenced by:
instanceOfExpr
castableExpr:
castableExpr
::= castExpr ( 'castable' 'as' singleType )?
referenced by:
treatExpr
castExpr:
castExpr ::= unaryExpr ( 'cast' 'as' singleType )?
referenced by:
castableExpr
unaryExpr:
unaryExpr
::= ( MINUS | '\+' )* valueExpr
referenced by:
castExpr
valueExpr:
valueExpr
::= pathExpr
| validateExpr
| extensionExpr
referenced by:
unaryExpr
generalComp:
generalComp
::= '\::='
| '\<'
| '\>'
| '\<\::='
| '\>\::='
| '\t\::='
referenced by:
comparisonExpr
sqlAttrSpecList
valueComp:
valueComp
::= 'eq'
| 'ne'
| 'lt'
| 'le'
| 'gt'
| 'ge'
referenced by:
comparisonExpr
nodeComp:
nodeComp ::= '\<\<'
| GREATERTHANGREATERTHAN
| 'is'
referenced by:
comparisonExpr
validateExpr:
validateExpr
::= 'validate' validationMode? '\{' expr '\}'
referenced by:
valueExpr
validationMode:
validationMode
::= 'lax'
| 'strict'
referenced by:
validateExpr
extensionExpr:
extensionExpr
::= '\{' expr? '\}'
referenced by:
valueExpr
pathExpr:
pathExpr ::= '\/' ( '\/' | relativePathExpr )?
| relativePathExpr
referenced by:
valueExpr
relativePathExpr:
relativePathExpr
::= stepExpr ( '\/' '\/'? stepExpr )*
referenced by:
pathExpr
stepExpr:
stepExpr ::= filterExpr
| axisStep
referenced by:
relativePathExpr
axisStep:
axisStep ::= ( reverseStep | forwardStep ) predicateList
referenced by:
stepExpr
forwardStep:
forwardStep
::= forwardAxis nodeTest
| abbrevForwardStep
referenced by:
axisStep
forwardAxis:
forwardAxis
::= ( 'child' | 'descendant' | 'attribute' | 'self' | 'descendant-or-self' | 'following-sibling' | 'following' ) '\:\:'
referenced by:
forwardStep
abbrevForwardStep:
abbrevForwardStep
::= AT? nodeTest
referenced by:
forwardStep
reverseStep:
reverseStep
::= reverseAxis nodeTest
| '\.\.'
referenced by:
axisStep
reverseAxis:
reverseAxis
::= ( 'parent' | 'ancestor' | 'preceding-sibling' | 'preceding' | 'ancestor-or-self' ) '\:\:'
referenced by:
reverseStep
nodeTest:
nodeTest ::= kindTest
| nameTest
referenced by:
abbrevForwardStep
forwardStep
reverseStep
nameTest:
nameTest ::= qname
| wildCard
referenced by:
nodeTest
wildCard:
wildCard ::= '\*' ( '\:' NCNAME )?
| NCNAME '\:' '\*'
referenced by:
nameTest
filterExpr:
filterExpr
::= primaryExpr predicateList
referenced by:
stepExpr
predicateList:
predicateList
::= predicate*
referenced by:
axisStep
filterExpr
predicate:
predicate
::= '\[' expr '\]'
referenced by:
predicateList
primaryExpr:
primaryExpr
::= varRef
| literal
| parenthesizedExpr
| '\.'
| functionCall
| orderedExpr
| unorderedExpr
| constructor
referenced by:
filterExpr
literal:
literal ::= numericliteral
| stringliteral
referenced by:
primaryExpr
sqlAttrSpec
numericliteral:
numericliteral
::= integerLiteral
| decimalLiteral
referenced by:
dataBlockValue
literal
varRef:
varRef ::= VAR
referenced by:
primaryExpr
varName:
varName ::= qname
no referencesparenthesizedExpr:
parenthesizedExpr
::= '\(' expr? '\)'
referenced by:
primaryExpr
orderedExpr:
orderedExpr
::= 'ordered' '\{' expr '\}'
referenced by:
primaryExpr
unorderedExpr:
unorderedExpr
::= 'unordered' '\{' expr '\}'
referenced by:
primaryExpr
functionCall:
functionCall
::= qname '\(' ( exprSingle ( '\,' exprSingle )* )? '\)'
referenced by:
primaryExpr
sqlVarOrFunction
constructor:
constructor
::= directConstructor
| computedConstructor
referenced by:
primaryExpr
directConstructor:
directConstructor
::= dirElemConstructor
referenced by:
constructor
dirElemContent
dirElemConstructor:
dirElemConstructor
::= '\<' qname dirAttributeList ( '\/\>' | '\>' dirElemContent* '<\/' qname WHITESPACE? '\>' )
referenced by:
directConstructor
dirAttributeList:
dirAttributeList
::= ( WHITESPACE dirAttribute? )*
referenced by:
dirElemConstructor
dirAttribute:
dirAttribute
::= qname WHITESPACE? '\::=' WHITESPACE? dirAttributeValue
referenced by:
dirAttributeList
dirAttributeValue:
dirAttributeValue
::= enclosedExpr
| QSTRING
referenced by:
dirAttribute
dirElemContent:
dirElemContent
::= directConstructor
| commonContent
| WHITESPACE
| NCNAMEELM
| cDataSection
referenced by:
dirElemConstructor
commonContent:
commonContent
::= ( enclosedExpr_ | '\{' '\{' | '\}' '\}' )?
referenced by:
dirElemContent
cDataSection:
cDataSection
::= '< [CDATA[' CDATAELMEND
referenced by:
dirElemContent
computedConstructor:
computedConstructor
::= compDocConstructor
| compElemConstructor
| compAttrConstructor
| compTextConstructor
| compCommentConstructor
| compPIConstructor
referenced by:
constructor
compDocConstructor:
compDocConstructor
::= 'document' enclosedExpr
referenced by:
computedConstructor
compElemConstructor:
compElemConstructor
::= 'element' ( qname | enclosedExpr_ ) '\{' contentExpr? '\}'
referenced by:
computedConstructor
contentExpr:
contentExpr
::= expr
referenced by:
compElemConstructor
compAttrConstructor:
compAttrConstructor
::= 'attribute' ( qname | enclosedExpr ) '\{' expr? '\}'
referenced by:
computedConstructor
compTextConstructor:
compTextConstructor
::= TEXT enclosedExpr_
referenced by:
computedConstructor
compCommentConstructor:
compCommentConstructor
::= 'comment' enclosedExpr
referenced by:
computedConstructor
compPIConstructor:
compPIConstructor
::= 'processing-instruction' ( NCNAME | enclosedExpr ) '\{' expr? '\}'
referenced by:
computedConstructor
singleType:
singleType
::= atomicType '\?'?
referenced by:
castExpr
castableExpr
typeDeclaration:
typeDeclaration
::= 'as' sequenceType
referenced by:
param
quantifiedExpr
singleForClause
singleLetClause
varDecl
sequenceType:
sequenceType
::= 'empty-sequence' '\(' '\)'
| itemType '\?'?
referenced by:
caseClause
functionDecl
instanceOfExpr
treatExpr
typeDeclaration
itemType:
itemType ::= 'item' '\(' '\)'
| atomicType
| kindTest
referenced by:
sequenceType
atomicType:
atomicType
::= qname
referenced by:
itemType
singleType
kindTest:
kindTest ::= documentTest
| elementTest
| attributeTest
| schemaElementTest
| schemaAttributeTest
| piTest
| commentTest
| textTest
| anyKindTest
referenced by:
itemType
nodeTest
anyKindTest:
anyKindTest
::= 'node' '\(' '\)'
referenced by:
kindTest
documentTest:
documentTest
::= 'document-node' '\(' ( elementTest | schemaElementTest )? '\)'
referenced by:
kindTest
textTest:
textTest ::= TEXT '\(' '\)'
referenced by:
kindTest
commentTest:
commentTest
::= 'comment' '\(' '\)'
referenced by:
kindTest
piTest:
piTest ::= 'processing-instruction' '\(' ( NCNAME | stringliteral )? '\)'
referenced by:
kindTest
attributeTest:
attributeTest
::= 'attribute' '\(' ( attributeNameOrWildcard ( '\,' typeName )? )? '\)'
referenced by:
kindTest
attributeNameOrWildcard:
attributeNameOrWildcard
::= attributeName
| '\*'
referenced by:
attributeTest
schemaAttributeTest:
schemaAttributeTest
::= 'schema-attribute' '\(' attributeDeclaration '\)'
referenced by:
kindTest
attributeDeclaration:
attributeDeclaration
::= attributeName
referenced by:
schemaAttributeTest
elementTest:
elementTest
::= 'element' '\(' ( elementNameOrWildcard ( '\,' typeName '\?'? )? )? '\)'
referenced by:
documentTest
kindTest
elementNameOrWildcard:
elementNameOrWildcard
::= elementName
| '\*'
referenced by:
elementTest
schemaElementTest:
schemaElementTest
::= 'schema-element' '\(' elementDeclaration '\)'
referenced by:
documentTest
kindTest
elementDeclaration:
elementDeclaration
::= elementName
referenced by:
schemaElementTest
attributeName:
attributeName
::= qname
referenced by:
attributeDeclaration
attributeNameOrWildcard
elementName:
elementName
::= qname
referenced by:
elementDeclaration
elementNameOrWildcard
typeName:
typeName ::= qname
referenced by:
attributeTest
elementTest
uriliteral:
uriliteral
::= stringliteral
referenced by:
defaultCollationDecl
moduleDecl
moduleImport
orderModifier
schemaImport
integerLiteral:
integerLiteral
::= INTEGER
referenced by:
numericliteral
decimalLiteral:
decimalLiteral
::= DECIMAL
referenced by:
numericliteral
stringliteral:
stringliteral
::= QSTRING
referenced by:
literal
optionDecl
piTest
uriliteral
versionDecl
baseDecl:
baseDecl ::= 'base' IRIREF
referenced by:
prolog
prefixDecl:
prefixDecl
::= 'prefix' PNAME_NS IRIREF
referenced by:
prolog
subSelect:
subSelect
::= selectClause sWhereClause solutionmodifier valuesClause
referenced by:
groupGraphPattern
selectClause:
selectClause
::= SELECT^ ( 'distinct' | 'reduced' )? ( sparqlVarOrFunction+ | '\*' )
referenced by:
subSelect
constructQuery:
constructQuery
::= 'construct' ( constructTemplate datasetClause* sWhereClause | WHERE '\{' triplesSameSubject ( '\.' triplesSameSubject )* '\.'? '\}' ) solutionmodifier
referenced by:
exprSingle
datasetClause:
datasetClause
::= FROM^ ( defaultGraphClause | namedGraphClause )
referenced by:
constructQuery
sparqlForClause
defaultGraphClause:
defaultGraphClause
::= sourceSelector
referenced by:
datasetClause
namedGraphClause:
namedGraphClause
::= 'named' sourceSelector
referenced by:
datasetClause
sourceSelector:
sourceSelector
::= IRIREF
| VAR
referenced by:
defaultGraphClause
endpointClause
namedGraphClause
sWhereClause:
sWhereClause
::= WHERE groupGraphPattern
referenced by:
constructQuery
sparqlForClause
subSelect
solutionmodifier:
solutionmodifier
::= groupBy? having? orderclause? limitoffsetclauses?
referenced by:
constructQuery
sparqlForClause
subSelect
groupBy:
groupBy ::= 'group' 'by' groupByCondition+
referenced by:
solutionmodifier
groupByCondition:
groupByCondition
::= builtInCall
| sFunctionCall
| '\(' expression ( 'as' VAR )? '\)'
| VAR
referenced by:
groupBy
having:
having ::= 'having' havingCondition+
referenced by:
solutionmodifier
havingCondition:
havingCondition
::= constraint
referenced by:
having
orderclause:
orderclause
::= 'order' 'by' orderCondition+
referenced by:
solutionmodifier
orderCondition:
orderCondition
::= ( 'asc' | 'desc' ) brackettedExpression
| constraint
| VAR
referenced by:
orderclause
limitoffsetclauses:
limitoffsetclauses
::= limitclause offsetclause?
| offsetclause limitclause?
referenced by:
solutionmodifier
limitclause:
limitclause
::= LIMIT^ INTEGER
referenced by:
limitoffsetclauses
offsetclause:
offsetclause
::= OFFSET^ INTEGER
referenced by:
limitoffsetclauses
valuesClause:
valuesClause
::= ( VALUES^ dataBlock )?
referenced by:
sparqlForClause
subSelect
groupGraphPattern:
groupGraphPattern
::= '\{' ( subSelect | groupGraphPatternSub ) '\}'
referenced by:
existsFunc
graphGraphPattern
groupOrUnionGraphPattern
minusGraphPattern
notExistsFunc
optionalGraphPattern
sWhereClause
serviceGraphPattern
groupGraphPatternSub:
groupGraphPatternSub
::= triplesBlock? ( ( graphPatternNotTriples | filter ) '\.'? triplesBlock? )*
referenced by:
groupGraphPattern
triplesBlock:
triplesBlock
::= triplesSameSubjectPath ( '\.' triplesSameSubjectPath )* '\.'?
referenced by:
groupGraphPatternSub
graphPatternNotTriples:
graphPatternNotTriples
::= optionalGraphPattern
| groupOrUnionGraphPattern
| graphGraphPattern
| minusGraphPattern
| serviceGraphPattern
| bind
| inlineData
referenced by:
groupGraphPatternSub
optionalGraphPattern:
optionalGraphPattern
::= OPTIONAL^ groupGraphPattern
referenced by:
graphPatternNotTriples
graphGraphPattern:
graphGraphPattern
::= GRAPH^ varOrIRIref groupGraphPattern
referenced by:
graphPatternNotTriples
serviceGraphPattern:
serviceGraphPattern
::= SERVICE^ 'silent'? varOrIRIref groupGraphPattern
referenced by:
graphPatternNotTriples
bind:
bind ::= BIND^ '\(' expression 'as' VAR '\)'
referenced by:
graphPatternNotTriples
inlineData:
inlineData
::= VALUES^ dataBlock
referenced by:
graphPatternNotTriples
dataBlock:
dataBlock
::= inlineDataOneVar
| inlineDataFull
referenced by:
inlineData
valuesClause
inlineDataOneVar:
inlineDataOneVar
::= VAR '\{' dataBlockValue* '\}'
referenced by:
dataBlock
inlineDataFull:
inlineDataFull
::= ( nil | '\(' VAR+ '\)' ) '\{' ( '\(' dataBlockValue+ '\)' | nil )* '\}'
referenced by:
dataBlock
dataBlockValue:
dataBlockValue
::= sparqlPrefixedName
| IRIREF
| rdfLiteral
| numericliteral
| booleanLiteral
| 'undef'
referenced by:
inlineDataFull
inlineDataOneVar
minusGraphPattern:
minusGraphPattern
::= MINUS^ groupGraphPattern
referenced by:
graphPatternNotTriples
groupOrUnionGraphPattern:
groupOrUnionGraphPattern
::= groupGraphPattern ( 'union' groupGraphPattern )*
referenced by:
graphPatternNotTriples
filter:
filter ::= FILTER^ constraint
referenced by:
groupGraphPatternSub
constraint:
constraint
::= brackettedExpression
| builtInCall
| sFunctionCall
referenced by:
filter
havingCondition
orderCondition
sFunctionCall:
sFunctionCall
::= iRIref arglist
referenced by:
constraint
groupByCondition
arglist:
arglist ::= '\(' ( expression ( '\,' expression )* )? '\)'
referenced by:
iRIrefOrFunction
sFunctionCall
expressionList:
expressionList
::= nil
| '\(' expression ( '\,' expression )* '\)'
referenced by:
builtInCall
relationalExpression
constructTemplate:
constructTemplate
::= '\{' ( ( ( triplesSameSubject_ | enclosedExpr ) '\.' )* ( triplesSameSubject_ '\.'? | enclosedExpr ) )? '\}'
referenced by:
constructQuery
flworExpr
triplesSameSubject:
triplesSameSubject
::= subject propertyListNotEmpty
| triplesNode propertyListNotEmpty?
referenced by:
constructQuery
triplesSameSubject_:
triplesSameSubject_
::= subject_ propertyListNotEmpty_
| triplesNode_ propertyListNotEmpty_?
referenced by:
constructTemplate
propertyListNotEmpty:
propertyListNotEmpty
::= verb objectList ( '\;' ( verb objectList )? )*
referenced by:
blankNodePropertyList
triplesSameSubject
propertyListNotEmpty_:
propertyListNotEmpty_
::= verb_ objectList_ ( '\;' ( verb_ objectList_ )? )*
referenced by:
blankNodePropertyList_
triplesSameSubject_
verb:
verb ::= varOrIRIref
| 'a'
referenced by:
propertyListNotEmpty
verb_:
verb_ ::= varOrIRIref_
| 'a'
referenced by:
propertyListNotEmpty_
objectList:
objectList
::= object ( '\,' object )*
referenced by:
propertyListNotEmpty
propertyListPathNotEmptySub
objectList_:
objectList_
::= object_ ( '\,' object_ )*
referenced by:
propertyListNotEmpty_
object:
object ::= resource
| blank
| rdfLiteral
| sNumericLiteral
| triplesNode
| literalConstruct
referenced by:
objectList
object_:
object_ ::= graphNode_ quad?
referenced by:
objectList_
quad:
quad ::= iri
| literal_
referenced by:
object_
literal_:
literal_ ::= literalConstruct
| rdfLiteral
referenced by:
quad
triplesSameSubjectPath:
triplesSameSubjectPath
::= subject propertyListPathNotEmpty
| triplesNodePath propertyListPathNotEmpty?
referenced by:
triplesBlock
propertyListPathNotEmpty:
propertyListPathNotEmpty
::= vp objectListPath propertyListPathNotEmptySub*
referenced by:
blanckNodePropertyListPath
triplesSameSubjectPath
propertyListPathNotEmptySub:
propertyListPathNotEmptySub
::= '\;' ( vp objectList )?
referenced by:
propertyListPathNotEmpty
vp:
vp ::= verbPath
| verbSimple
referenced by:
propertyListPathNotEmpty
propertyListPathNotEmptySub
verbPath:
verbPath ::= path
referenced by:
vp
verbSimple:
verbSimple
::= VAR
referenced by:
vp
objectListPath:
objectListPath
::= objectPath ( '\,' objectPath )*
referenced by:
propertyListPathNotEmpty
objectPath:
objectPath
::= graphNodePath
referenced by:
objectListPath
path:
path ::= pathAlternative
referenced by:
pathPrimary
verbPath
pathAlternative:
pathAlternative
::= pathSequence ( '\|' pathSequence )*
referenced by:
path
pathSequence:
pathSequence
::= pathEltOrInverse ( '\/' pathEltOrInverse )*
referenced by:
pathAlternative
pathElt:
pathElt ::= pathPrimary pathMod?
referenced by:
pathEltOrInverse
pathEltOrInverse:
pathEltOrInverse
::= '\^'? pathElt
referenced by:
pathSequence
pathMod:
pathMod ::= '\?'
| '\*'
| '\+'
referenced by:
pathElt
pathPrimary:
pathPrimary
::= iRIref
| 'a'
| '\' pathNegatedPropertySet
| '\(' path '\)'
referenced by:
pathElt
pathNegatedPropertySet:
pathNegatedPropertySet
::= pathOneInPropertySet
| '\(' ( pathOneInPropertySet ( '\|' pathOneInPropertySet )* )? '\)'
referenced by:
pathPrimary
pathOneInPropertySet:
pathOneInPropertySet
::= '\^'? ( iRIref | 'a' )
referenced by:
pathNegatedPropertySet
triplesNode:
triplesNode
::= collection
| blankNodePropertyList
referenced by:
graphNode
object
triplesSameSubject
triplesNode_:
triplesNode_
::= collection_
| blankNodePropertyList_
referenced by:
graphNode_
triplesSameSubject_
blankNodePropertyList:
blankNodePropertyList
::= '\[' propertyListNotEmpty '\]'
referenced by:
triplesNode
blankNodePropertyList_:
blankNodePropertyList_
::= '\[' propertyListNotEmpty_ '\]'
referenced by:
triplesNode_
triplesNodePath:
triplesNodePath
::= collectionPath
| blanckNodePropertyListPath
referenced by:
graphNodePath
triplesSameSubjectPath
blanckNodePropertyListPath:
blanckNodePropertyListPath
::= '\[' propertyListPathNotEmpty '\]'
referenced by:
triplesNodePath
collection:
collection
::= '\(' graphNode+ '\)'
referenced by:
triplesNode
collection_:
collection_
::= '\(' graphNode_+ '\)'
referenced by:
triplesNode_
collectionPath:
collectionPath
::= '\(' graphNodePath+ '\)'
referenced by:
triplesNodePath
graphNode:
graphNode
::= varOrTerm
| triplesNode
referenced by:
collection
graphNode_:
graphNode_
::= varOrTerm_
| triplesNode_
referenced by:
collection_
object_
graphNodePath:
graphNodePath
::= VAR
| graphTerm
| triplesNodePath
referenced by:
collectionPath
objectPath
varOrTerm:
varOrTerm
::= VAR
| graphTerm
referenced by:
graphNode
varOrTerm_:
varOrTerm_
::= VAR
| iriConstruct
| literalConstruct
| graphTerm_
referenced by:
graphNode_
literalConstruct:
literalConstruct
::= enclosedExpr ( AT enclosedExpr | '\^' '\^' iri )?
| ( INTEGER | QSTRING ) ( AT enclosedExpr | '\^' '\^' iriConstruct )
referenced by:
literal_
object
varOrTerm_
varOrIRIref:
varOrIRIref
::= VAR
| iRIref
referenced by:
graphGraphPattern
serviceGraphPattern
verb
varOrIRIref_:
varOrIRIref_
::= VAR
| iRIref
| iriConstruct
referenced by:
verb_
iriConstruct:
iriConstruct
::= '<{' expr '\}>'
| enclosedExpr ( '\:' enclosedExpr | OLON? qname )
| qname '\:' enclosedExpr
referenced by:
iri
literalConstruct
subject_
varOrIRIref_
varOrTerm_
graphTerm:
graphTerm
::= iRIref
| rdfLiteral
| sNumericLiteral
| booleanLiteral
| blankNode
| nil
referenced by:
graphNodePath
varOrTerm
graphTerm_:
graphTerm_
::= rdfLiteral
| sNumericLiteral
| booleanLiteral
| blankNode
| blankConstruct
referenced by:
varOrTerm_
blankConstruct:
blankConstruct
::= BNODE_CONSTRUCT enclosedExpr
referenced by:
graphTerm_
subject_
expression:
expression
::= conditionalOrExpression
referenced by:
aggregate
arglist
bind
brackettedExpression
builtInCall
expressionList
groupByCondition
regexExpression
sparqlVarOrFunction
strReplaceExpression
substringExpression
conditionalOrExpression:
conditionalOrExpression
::= conditionalAndExpression ( ORSYMBOL^ conditionalAndExpression )*
referenced by:
expression
conditionalAndExpression:
conditionalAndExpression
::= valueLogical ( ANDSYMBOL^ valueLogical )*
referenced by:
conditionalOrExpression
valueLogical:
valueLogical
::= relationalExpression
referenced by:
conditionalAndExpression
relationalExpression:
relationalExpression
::= numericExpression ( ( '\::=' | '\t\::=' | '\<' | '\>' | '\<\::=' | '\>\::=' ) numericExpression | 'not'? 'in' expressionList )?
referenced by:
valueLogical
numericExpression:
numericExpression
::= additiveExpression
referenced by:
relationalExpression
additiveExpression:
additiveExpression
::= multiplicativeExpression ( ( PLUS^ | MINUS^ ) multiplicativeExpression )*
referenced by:
numericExpression
multiplicativeExpression:
multiplicativeExpression
::= unaryExpression ( ( STAR^ | SLASH^ ) unaryExpression )*
referenced by:
additiveExpression
unaryExpression:
unaryExpression
::= ( '\' | '\+' | MINUS )? primaryExpression
referenced by:
multiplicativeExpression
primaryExpression:
primaryExpression
::= brackettedExpression
| builtInCall
| iRIrefOrFunction
| rdfLiteral
| sNumericLiteral
| booleanLiteral
| VAR
| BLANK_NODE_LABEL
| '\[' '\]'
referenced by:
unaryExpression
brackettedExpression:
brackettedExpression
::= '\(' expression '\)'
referenced by:
constraint
orderCondition
primaryExpression
builtInCall:
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' ) '\(' | ( ( 'langmatches' | 'contains' | 'strstarts' | 'strends' | 'strbefore' | 'strafter' | 'strlang' | 'strdt' | 'sameterm' ) '\(' | IF '\(' expression '\,' ) expression '\,' ) expression | 'bound' '\(' VAR ) '\)'
| regexExpression
| 'bnode' ( '\(' expression '\)' | nil )
| ( RAND | 'now' | 'uuid' | 'struuid' ) nil
| ( 'concat' | 'coalesce' ) expressionList
| substringExpression
| strReplaceExpression
| aggregate
| existsFunc
| notExistsFunc
referenced by:
constraint
groupByCondition
primaryExpression
regexExpression:
regexExpression
::= 'regex' '\(' expression '\,' expression ( '\,' expression )? '\)'
referenced by:
builtInCall
substringExpression:
substringExpression
::= 'substr' '\(' expression '\,' expression ( '\,' expression )? '\)'
referenced by:
builtInCall
strReplaceExpression:
strReplaceExpression
::= 'replace' '\(' expression '\,' expression '\,' expression ( '\,' expression )? '\)'
referenced by:
builtInCall
existsFunc:
existsFunc
::= 'exists' groupGraphPattern
referenced by:
builtInCall
notExistsFunc:
notExistsFunc
::= NOTKW^ 'exists' groupGraphPattern
referenced by:
builtInCall
aggregate:
aggregate
::= ( 'count' '\(' 'distinct'? ( '\*' | expression ) | ( 'sum' | 'min' | 'max' | 'avg' | 'sample' ) '\(' 'distinct'? expression | 'group_concat' '\(' 'distinct'? expression ( '\;' 'separator' '\::=' string )? ) '\)'
referenced by:
builtInCall
iRIrefOrFunction:
iRIrefOrFunction
::= iRIref arglist?
referenced by:
primaryExpression
rdfLiteral:
rdfLiteral
::= QSTRING ( AT NCNAME | '\^' '\^' ( IRIREF | PNAME_LN ) )?
referenced by:
dataBlockValue
graphTerm
graphTerm_
literal_
object
primaryExpression
sNumericLiteral:
sNumericLiteral
::= ( '\+' | MINUS )? ( INTEGER | DECIMAL | DOUBLET )
referenced by:
graphTerm
graphTerm_
object
primaryExpression
booleanLiteral:
booleanLiteral
::= 'true'
| 'false'
referenced by:
dataBlockValue
graphTerm
graphTerm_
primaryExpression
string:
string ::= QSTRING
referenced by:
aggregate
iRIref:
iRIref ::= IRIREF
| prefixedName
referenced by:
graphTerm
iRIrefOrFunction
pathOneInPropertySet
pathPrimary
sFunctionCall
varOrIRIref
varOrIRIref_
prefixedName:
prefixedName
::= PNAME_LN
| PNAME_NS
referenced by:
iRIref
qname
blankNode:
blankNode
::= blank
referenced by:
graphTerm
graphTerm_
blank:
blank ::= bnode
| '\[' '\]'
referenced by:
blankNode
object
subject
subject_
nil:
nil ::= '\(' '\)'
referenced by:
builtInCall
expressionList
graphTerm
inlineDataFull
subject_:
subject_ ::= resource
| iriConstruct
| blank
| blankConstruct
| enclosedExpr
referenced by:
triplesSameSubject_
subject:
subject ::= resource
| blank
referenced by:
triplesSameSubject
triplesSameSubjectPath
iri:
iri ::= PNAME_LN
| IRIREF
| iriConstruct
| '< ([^<>\"\{\}\|\^`\\])* >'
referenced by:
IRIREF
literalConstruct
quad
resource:
resource ::= sparqlPrefixedName
| VAR
| IRIREF
referenced by:
object
rdfPredicate
subject
subject_
rdfPredicate:
rdfPredicate
::= resource
no referencesbnode:
bnode ::= BLANK_NODE_LABEL
referenced by:
blank
sparqlPrefixedName:
sparqlPrefixedName
::= PNAME_LN
| PNAME_NS
referenced by:
dataBlockValue
resource
qname:
qname ::= prefixedName
| unprefixedName
| 'count'
| 'max'
| 'min'
| 'avg'
| 'sum'
| 'sample'
| 'not'
| 'exists'
referenced by:
atomicType
attributeName
compAttrConstructor
compElemConstructor
dirAttribute
dirElemConstructor
elementName
functionCall
functionDecl
iriConstruct
nameTest
optionDecl
relationAlias
relationClause
sqlAttrSpec
sqlVarOrFunction
typeName
varName
keyword:
keyword ::= 'item'
| 'to'
| 'from'
| 'comment'
| 'row'
| 'node'
| 'a'
referenced by:
localPart
unprefixedName:
unprefixedName
::= localPart
referenced by:
qname
localPart:
localPart
::= NCNAME
| keyword
referenced by:
unprefixedName
sqlForClause:
sqlForClause
::= 'for' 'distinct'? ( '\*' | sqlVarOrFunctionList | 'row' VAR ) relationClause sqlWhereClause?
referenced by:
forletClause
sqlVarOrFunctionList:
sqlVarOrFunctionList
::= sqlVarOrFunction [false] ( '\,' sqlVarOrFunction [true] )*
referenced by:
sqlForClause
sqlVarOrFunction:
sqlVarOrFunction
::= qname
| '\(' functionCall 'as' VAR '\)'
| VAR
referenced by:
sqlVarOrFunctionList
relationClause:
relationClause
::= 'from' ( rdbSourceSelector ( '\,' rdbSourceSelector )* | qname '\(' rdbSourceSelectorFunctionParams? '\)' )
referenced by:
sqlForClause
rdbSourceSelectorFunctionParams:
rdbSourceSelectorFunctionParams
::= rdbSourceSelector ( '\,' rdbSourceSelector )*
| QSTRING
referenced by:
relationClause
rdbSourceSelector:
rdbSourceSelector
::= relationSchemaName relationAlias?
referenced by:
rdbSourceSelectorFunctionParams
relationClause
relationSchemaName:
relationSchemaName
::= relationAlias ( '\.' relationAlias )?
referenced by:
rdbSourceSelector
relationAlias:
relationAlias
::= qname
| VAR
referenced by:
rdbSourceSelector
relationSchemaName
sqlWhereClause:
sqlWhereClause
::= WHERE^ sqlWhereSpecList
referenced by:
sqlForClause
sqlWhereSpecList:
sqlWhereSpecList
::= sqlAttrSpecList ( sqlBooleanOp sqlAttrSpecList )*
referenced by:
sqlAttrSpecList
sqlWhereClause
sqlAttrSpecList:
sqlAttrSpecList
::= sqlAttrSpec generalComp sqlAttrSpec
| '\(' sqlWhereSpecList '\)'
referenced by:
sqlWhereSpecList
sqlBooleanOp:
sqlBooleanOp
::= 'and'
| 'or'
referenced by:
sqlWhereSpecList
sqlAttrSpec:
sqlAttrSpec
::= qname
| VAR
| literal
| enclosedExpr
referenced by:
sqlAttrSpecList
WhiteSpace:
WhiteSpace
::= '\r|\n|\r\n'
| [\tf ]
referenced by:
WHERE
WHITESPACE
PN_CHARS_BASE:
PN_CHARS_BASE
::= [A-Za-z]
referenced by:
PN_CHARS_U
PN_PREFIX
PN_CHARS_U:
PN_CHARS_U
::= PN_CHARS_BASE
| _
referenced by:
PN_CHARS
PN_LOCAL
PN_CHARS:
PN_CHARS ::= PN_CHARS_U
| [-0-9]
referenced by:
PN_LOCAL
PN_PREFIX
PN_PREFIX:
PN_PREFIX
::= PN_CHARS_BASE ( ( PN_CHARS | '\.' )* PN_CHARS )?
referenced by:
BLANK_NODE_LABEL
BNODE_CONSTRUCT
NCNAME
PNAME_LN
PNAME_NS
PN_LOCAL:
PN_LOCAL ::= ( PN_CHARS_U | [0-9] ) ( ( PN_CHARS | '\.' )* PN_CHARS )?
referenced by:
PNAME_LN
var:
var ::= [\$] [a-zA-Z] ( [a-zA-Z0-9\_\-\.]* [a-zA-Z0-9\_#x2D]+ )?
referenced by:
VAR
digit:
digit ::= [0-9]
referenced by:
DECIMAL
INTEGER
QSTRING:
QSTRING ::= '\"(\"\"|[^\"])*\"'
| "\'(\'\'|[^\'])*\'"
referenced by:
baseURIDecl
defaultNamespaceDecl
dirAttributeValue
literalConstruct
namespaceDecl
rdbSourceSelectorFunctionParams
rdfLiteral
string
stringliteral
INTEGER:
INTEGER ::= digit+
referenced by:
integerLiteral
limitclause
literalConstruct
offsetclause
sNumericLiteral
DECIMAL:
DECIMAL ::= ( '/*' '.' digit+ )?
referenced by:
decimalLiteral
sNumericLiteral
EXPONENT:
EXPONENT ::= '/*' ( 'e' | 'E' ) [0-9]+
no referencesDOUBLET:
DOUBLET ::=
referenced by:
sNumericLiteral
AT:
AT ::= '@'
| 'at'
referenced by:
abbrevForwardStep
literalConstruct
moduleImport
positionalVar
rdfLiteral
schemaImport
MINUS:
MINUS ::= '\-'
| 'minus'
referenced by:
additiveExpr
additiveExpression
minusGraphPattern
sNumericLiteral
unaryExpr
unaryExpression
IF:
IF ::= 'if'
referenced by:
builtInCall
ifExpr
WHERE:
WHERE ::= 'where' ( WhiteSpace* '\{' )?
referenced by:
constructQuery
sWhereClause
sqlWhereClause
whereClause
IMPORT:
IMPORT ::= 'import'
referenced by:
moduleImport
schemaImport
EXTERNAL:
EXTERNAL ::= 'external'
referenced by:
functionDecl
varDecl
BLANK_NODE_LABEL:
BLANK_NODE_LABEL
::= '_:' PN_PREFIX
referenced by:
bnode
primaryExpression
BNODE_CONSTRUCT:
BNODE_CONSTRUCT
::= '_:' PN_PREFIX? '/\{'
referenced by:
blankConstruct
PNAME_LN:
PNAME_LN ::= PN_PREFIX? ':' PN_LOCAL
referenced by:
iri
prefixedName
rdfLiteral
sparqlPrefixedName
PNAME_NS:
PNAME_NS ::= PN_PREFIX? ':/' [^\:{]
referenced by:
prefixDecl
prefixedName
sparqlPrefixedName
NCNAME:
NCNAME ::= PN_PREFIX
referenced by:
compPIConstructor
localPart
moduleDecl
moduleImport
namespaceDecl
piTest
rdfLiteral
schemaPrefix
wildCard
VAR:
VAR ::= var
referenced by:
bind
builtInCall
caseClause
graphNodePath
groupByCondition
inlineDataFull
inlineDataOneVar
orderCondition
param
positionalVar
primaryExpression
quantifiedExpr
relationAlias
resource
singleForClause
singleLetClause
sourceSelector
sparqlVarOrFunction
sqlAttrSpec
sqlForClause
sqlVarOrFunction
typeSwitchExpr
varDecl
varOrIRIref
varOrIRIref_
varOrTerm
varOrTerm_
varRef
verbSimple
NCNAMEELM:
NCNAMEELM
::= [^\{}<(:)]+
referenced by:
dirElemContent
CDATAELMEND:
CDATAELMEND
::= ( . | [\^] | '\n' | '\t' | '\r' )* '\]\]>'
referenced by:
cDataSection
WHITESPACE:
WHITESPACE
::= WhiteSpace+
referenced by:
dirAttribute
dirAttributeList
dirElemConstructor
dirElemContent
IRIREF:
IRIREF ::= iri
referenced by:
baseDecl
dataBlockValue
iRIref
iri
prefixDecl
rdfLiteral
resource
sourceSelector
... generated by Railroad Diagram Generator