Productions [1]–[158] (non-terminal rules) are implemented as Chevrotain
parser rules. Terminal productions [159]–[193] (IRIREF, PNAME_NS, etc.)
are handled as lexer tokens defined in ../tokens.mjs.
The parser also covers SPARQL 1.2 Update (productions [31]–[49]) as the
grammar is shared between query and update via the queryOrUpdate entry
point which factors out the common Prologue.
SPARQL 1.2 Parser
Implements the grammar defined in: W3C Working Draft — SPARQL 1.2 Query Language https://www.w3.org/TR/sparql12-query/#sparqlGrammar
Productions [1]–[158] (non-terminal rules) are implemented as Chevrotain parser rules. Terminal productions [159]–[193] (IRIREF, PNAME_NS, etc.) are handled as lexer tokens defined in ../tokens.mjs.
The parser also covers SPARQL 1.2 Update (productions [31]–[49]) as the grammar is shared between query and update via the
queryOrUpdateentry point which factors out the common Prologue.