Traqula
    Preparing search index...

    Module @traqula/generator-sparql-1-1

    Traqula logo

    A query language transpiler framework for JavaScript

    Traqula SPARQL 1.1 generator

    npm version

    Traqula Generator SPARQL 1.1 is a SPARQL 1.1 query generator for TypeScript. It can generate SPARQL given the AST created by Traqula parser SPARQL 1.1.

    npm install @traqula/generator-sparql-1-1
    

    or

    yarn add @traqula/generator-sparql-1-1
    

    Either through ESM import:

    import { Generator } from 'engines/generator-sparql-1-1';
    

    or CJS require:

    const Generator = require('engines/generator-sparql-1-1').Generator;
    

    This package contains a Generator that is able to generate SPARQL 1.1 queries:

    import { Parser } from 'parser/generator-sparql-1-1';
    import { Generator } from 'engines/generator-sparql-1-1';
    const query = `SELECT * WHERE { ?s ?p ?o }`
    const parser = new Parser();
    const ast = parser.parse(query)

    const generator = new Generator();
    const queryString = generator.generate(ast);

    Note that a single generator cannot generate multiple queries in parallel.

    Optionally, the following parameters can be set in to the generator:

    • astFactory: A custom AstFactory that is able to create the various AST nodes. (default: new AstFactory)
    • indentInc: the number of spaces the built-in 'pretty print' mode must print for a single indentation level. (default: 2).
    • origSource: the original query string the ast is constructed from.
    • [traqulaIndentation] from @traqula/core: the current number of spaces to print on a newline. Whenever this number is negative, no newline will be printed. (default: 0)
    • [traqulaNewlineAlternative] from @traqula/core: the character that should be printed instead of a newline in case [traqulaIndentation] is negative. (default: ' ')
    Note

    To create a generator without pretty print:

    import { Generator } from '@traqula/generator-sparql-1-1';
    import { traqulaIndentation } from '@traqula/core';
    const flatGenerator = new Generator({
    indentInc: 0,
    [traqulaIndentation]: -1,
    })

    By default, the generator will emit the round tripped query string where possible. In order to create an AST that supports round-tripping, you should make sure the parser is set up correctly.

    Classes

    Generator

    Type Aliases

    SparqlGenerator

    Variables

    sparql11GeneratorBuilder