diff --git a/engines/engine-sparql-1-1/README.md b/engines/engine-sparql-1-1/README.md deleted file mode 100644 index e22e8a6..0000000 --- a/engines/engine-sparql-1-1/README.md +++ /dev/null @@ -1,77 +0,0 @@ -# TRAQULA parser engine for SPARQL 1.1 - -TRAQULA Sparql 1.1 is a [SPARQL 1.1](https://www.w3.org/TR/sparql11-query/#grammar) query parser for TypeScript. - -## Installation - -```bash -npm install @traqula/engine-sparql-1-1 -``` - -or - -```bash -yarn add @traqula/engine-sparql-1-1 -``` - -## Import - -Either through ESM import: - -```javascript -import { Parser } from '@traqula/engine-sparql-1-1'; -``` - -_or_ CJS require: - -```javascript -const Parser = require('@traqula/engine-sparql-1-1').Parser; -``` - -## Usage - -This package contains a `Parser` that is able to parse SPARQL 1.1 queries: - -```typescript -const parser = new Parser(); -const abstractSyntaxTree = parser.parse('SELECT * { ?s ?p ?o }'); -``` - -The package also contains multiple parserBuilders. -These builders can be used either to consume to a parser, -or to usage as a starting point for your own grammar. - -### Consuming parserBuilder to parser - -At the core of TRAQULA, parser are constructed of multiple parser rules that have been consumed by the builder. -This consumption returns a parser that can parse strings starting from any grammar rule. - -The `sparql11ParserBuilder` for example contains both the rules `queryOrUpdate` and `path` (among many others). -The consumption of `sparql11ParserBuilder` will thus return an object that has function `queryOrUpdate` and `path`. -Calling those function with a string will cause that string to be parsed using the appropriate rule as a starting rule. - -```typescript -const parser: { - queryOrUpdate: (input: string) => SparqlQuery; - path: (input: string) => PropertyPath | IriTerm; -} = sparql11ParserBuilder.consumeToParser({ - tokenVocabulary: l.sparql11Tokens.build(), -}, { - parseMode: new Set([ gram.canParseVars, gram.canCreateBlankNodes ]), - dataFactory: new DataFactory(), -}); -``` - -### Constructing a new grammar from an existing one - -The builders can also be used to construct new parsers. -As an example the `triplesBlockParserBuilder` is created by merging the `objectListBuilder` with some new rules. - -## Configuration - -Optionally, the following parameters can be set in the `Parser` constructor: - -* `dataFactory`: A custom [RDFJS DataFactory](http://rdf.js.org/#datafactory-interface) to construct terms and triples. _(Default: `require('@rdfjs/data-model')`)_ -* `baseIRI`: An initial default base IRI. _(Default: none)_ -* `prefixes`: An initial map of prefixes -* `skipValidation`: Can be used to disable the validation that used variables in a select clause are in scope. diff --git a/engines/generator-sparql-1-1/README.md b/engines/generator-sparql-1-1/README.md new file mode 100644 index 0000000..0d7dd5c --- /dev/null +++ b/engines/generator-sparql-1-1/README.md @@ -0,0 +1,39 @@ +# TRAQULA SPARQL 1.1 generator + +TRAQULA Generator Sparql 1.1 is a [SPARQL 1.1](https://www.w3.org/TR/sparql11-query/#grammar) query generator for TypeScript. +It can generate SPARQL given the AST created by [TRAQULA parser SPARQL 1-1](https://github.com/comunica/traqula/tree/main/engines/parser-sparql-1-1). + +## Installation + +```bash +npm install @traqula/generator-sparql-1-1 +``` + +or + +```bash +yarn add @traqula/generator-sparql-1-1 +``` + +## Import + +Either through ESM import: + +```javascript +import {Parser} from 'engines/generator-sparql-1-1'; +``` + +_or_ CJS require: + +```javascript +const Parser = require('engines/generator-sparql-1-1').Parser; +``` + +## Usage + +This package contains a `Generator` that is able to generate SPARQL 1.1 queries: + +```typescript +const generator = new Generator(); +const abstractSyntaxTree = generator.generate(abstractSyntaxTree); +``` diff --git a/engines/engine-generate-sparql-1-1/lib/index.ts b/engines/generator-sparql-1-1/lib/index.ts similarity index 100% rename from engines/engine-generate-sparql-1-1/lib/index.ts rename to engines/generator-sparql-1-1/lib/index.ts diff --git a/engines/engine-generate-sparql-1-1/package.json b/engines/generator-sparql-1-1/package.json similarity index 88% rename from engines/engine-generate-sparql-1-1/package.json rename to engines/generator-sparql-1-1/package.json index 605a8ab..7ece346 100644 --- a/engines/engine-generate-sparql-1-1/package.json +++ b/engines/generator-sparql-1-1/package.json @@ -1,5 +1,5 @@ { - "name": "@traqula/engine-generate-sparql-1-1", + "name": "@traqula/generator-sparql-1-1", "type": "module", "version": "0.0.0", "description": "SPARQL 1.1 generator", @@ -8,7 +8,7 @@ "repository": { "type": "git", "url": "git+https://github.com/comunica/traqula.git", - "directory": "engines/engine-generate-sparql-1-1" + "directory": "engines/generator-sparql-1-1" }, "bugs": { "url": "https://github.com/comunica/traqula/issues" @@ -42,7 +42,7 @@ "@traqula/rules-sparql-1-1": "^0.0.0" }, "devDependencies": { - "@traqula/engine-sparql-1-1": "^0.0.0", + "@traqula/parser-sparql-1-1": "^0.0.0", "@traqula/rules-sparql-1-1": "^0.0.0" } } diff --git a/engines/engine-generate-sparql-1-1/test/integration.test.ts b/engines/generator-sparql-1-1/test/integration.test.ts similarity index 90% rename from engines/engine-generate-sparql-1-1/test/integration.test.ts rename to engines/generator-sparql-1-1/test/integration.test.ts index 2100e70..627ca35 100644 --- a/engines/engine-generate-sparql-1-1/test/integration.test.ts +++ b/engines/generator-sparql-1-1/test/integration.test.ts @@ -1,4 +1,4 @@ -import { Parser } from '@traqula/engine-sparql-1-1'; +import { Parser } from '@traqula/parser-sparql-1-1'; import type * as T11 from '@traqula/rules-sparql-1-1'; import { describe, it } from 'vitest'; import { Generator } from '../lib'; diff --git a/engines/engine-sparql-1-1-adjust/README.md b/engines/parser-sparql-1-1-adjust/README.md similarity index 80% rename from engines/engine-sparql-1-1-adjust/README.md rename to engines/parser-sparql-1-1-adjust/README.md index 4d22824..2413826 100644 --- a/engines/engine-sparql-1-1-adjust/README.md +++ b/engines/parser-sparql-1-1-adjust/README.md @@ -1,18 +1,18 @@ # TRAQULA parser engine for SPARQL 1.1 + Adjust TRAQULA Sparql 1.1 Adjust is a [SPARQL 1.1](https://www.w3.org/TR/sparql11-query/#grammar) query parser that also parses the [builtin function ADJUST](https://github.com/w3c/sparql-dev/blob/main/SEP/SEP-0002/sep-0002.md) for TypeScript. -Simple grammar extension of [TRAQULA engine-sparql-1-1](https://github.com/comunica/traqula/tree/main/engines/engine-sparql-1-1) +Simple grammar extension of [TRAQULA engine-sparql-1-1](https://github.com/comunica/traqula/tree/main/engines/parser-sparql-1-1) ## Installation ```bash -npm install @traqula/engine-sparql-1-1 +npm install @traqula/parser-sparql-1-1-adjust ``` or ```bash -yarn add @traqula/engine-sparql-1-1 +yarn add @traqula/parser-sparql-1-1-adjust ``` ## Import @@ -20,13 +20,13 @@ yarn add @traqula/engine-sparql-1-1 Either through ESM import: ```typescript -import { Parser } from '@traqula/engine-sparql-1-1-adjust'; +import { Parser } from '@traqula/parser-sparql-1-1-adjust'; ``` _or_ CJS require: ```typescript -const Sparql11AdjustParser = require('@traqula/engine-sparql-1-1-adjust').Parser; +const Sparql11AdjustParser = require('@traqula/parser-sparql-1-1-adjust').Parser; ``` ## Usage diff --git a/engines/engine-sparql-1-1-adjust/lib/Parser.ts b/engines/parser-sparql-1-1-adjust/lib/Parser.ts similarity index 93% rename from engines/engine-sparql-1-1-adjust/lib/Parser.ts rename to engines/parser-sparql-1-1-adjust/lib/Parser.ts index 10e1c9f..e9607fd 100644 --- a/engines/engine-sparql-1-1-adjust/lib/Parser.ts +++ b/engines/parser-sparql-1-1-adjust/lib/Parser.ts @@ -1,5 +1,5 @@ import { Builder, LexerBuilder } from '@traqula/core'; -import { sparql11ParserBuilder } from '@traqula/engine-sparql-1-1'; +import { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1'; import type { Expression, gram as g11, SparqlQuery } from '@traqula/rules-sparql-1-1'; import { lex as l11, SparqlParser } from '@traqula/rules-sparql-1-1'; import { gram, lex } from '@traqula/rules-sparql-1-1-adjust'; diff --git a/engines/engine-sparql-1-1-adjust/lib/index.ts b/engines/parser-sparql-1-1-adjust/lib/index.ts similarity index 100% rename from engines/engine-sparql-1-1-adjust/lib/index.ts rename to engines/parser-sparql-1-1-adjust/lib/index.ts diff --git a/engines/engine-sparql-1-1-adjust/package.json b/engines/parser-sparql-1-1-adjust/package.json similarity index 94% rename from engines/engine-sparql-1-1-adjust/package.json rename to engines/parser-sparql-1-1-adjust/package.json index 2992f5d..99a9fda 100644 --- a/engines/engine-sparql-1-1-adjust/package.json +++ b/engines/parser-sparql-1-1-adjust/package.json @@ -1,5 +1,5 @@ { - "name": "@traqula/engine-sparql-1-1-adjust", + "name": "@traqula/parser-sparql-1-1-adjust", "version": "0.0.0", "description": "SPARQL 1.1 + ADJUST parser", "lsd:module": true, @@ -7,7 +7,7 @@ "repository": { "type": "git", "url": "git+https://github.com/comunica/traqula.git", - "directory": "engines/engine-sparql-1-1-adjust" + "directory": "engines/parser-sparql-1-1-adjust" }, "bugs": { "url": "https://github.com/comunica/traqula/issues" @@ -43,7 +43,7 @@ }, "dependencies": { "@traqula/core": "^0.0.0", - "@traqula/engine-sparql-1-1": "^0.0.0", + "@traqula/parser-sparql-1-1": "^0.0.0", "@traqula/rules-sparql-1-1": "^0.0.0", "@traqula/rules-sparql-1-1-adjust": "^0.0.0" }, diff --git a/engines/engine-sparql-1-1-adjust/spec/earl-meta.json b/engines/parser-sparql-1-1-adjust/spec/earl-meta.json similarity index 100% rename from engines/engine-sparql-1-1-adjust/spec/earl-meta.json rename to engines/parser-sparql-1-1-adjust/spec/earl-meta.json diff --git a/engines/engine-sparql-1-1-adjust/spec/parser.ts b/engines/parser-sparql-1-1-adjust/spec/parser.ts similarity index 100% rename from engines/engine-sparql-1-1-adjust/spec/parser.ts rename to engines/parser-sparql-1-1-adjust/spec/parser.ts diff --git a/engines/engine-sparql-1-1-adjust/test/statics.test.ts b/engines/parser-sparql-1-1-adjust/test/statics.test.ts similarity index 100% rename from engines/engine-sparql-1-1-adjust/test/statics.test.ts rename to engines/parser-sparql-1-1-adjust/test/statics.test.ts diff --git a/engines/engine-generate-sparql-1-1/README.md b/engines/parser-sparql-1-1/README.md similarity index 92% rename from engines/engine-generate-sparql-1-1/README.md rename to engines/parser-sparql-1-1/README.md index e22e8a6..53666b0 100644 --- a/engines/engine-generate-sparql-1-1/README.md +++ b/engines/parser-sparql-1-1/README.md @@ -5,13 +5,13 @@ TRAQULA Sparql 1.1 is a [SPARQL 1.1](https://www.w3.org/TR/sparql11-query/#gramm ## Installation ```bash -npm install @traqula/engine-sparql-1-1 +npm install @traqula/parser-sparql-1-1 ``` or ```bash -yarn add @traqula/engine-sparql-1-1 +yarn add @traqula/parser-sparql-1-1 ``` ## Import @@ -19,13 +19,13 @@ yarn add @traqula/engine-sparql-1-1 Either through ESM import: ```javascript -import { Parser } from '@traqula/engine-sparql-1-1'; +import {Parser} from 'engines/parser-sparql-1-1'; ``` _or_ CJS require: ```javascript -const Parser = require('@traqula/engine-sparql-1-1').Parser; +const Parser = require('engines/parser-sparql-1-1').Parser; ``` ## Usage diff --git a/engines/engine-sparql-1-1/lib/Parser.ts b/engines/parser-sparql-1-1/lib/Parser.ts similarity index 100% rename from engines/engine-sparql-1-1/lib/Parser.ts rename to engines/parser-sparql-1-1/lib/Parser.ts diff --git a/engines/engine-sparql-1-1/lib/expressionParser.ts b/engines/parser-sparql-1-1/lib/expressionParser.ts similarity index 100% rename from engines/engine-sparql-1-1/lib/expressionParser.ts rename to engines/parser-sparql-1-1/lib/expressionParser.ts diff --git a/engines/engine-sparql-1-1/lib/index.ts b/engines/parser-sparql-1-1/lib/index.ts similarity index 100% rename from engines/engine-sparql-1-1/lib/index.ts rename to engines/parser-sparql-1-1/lib/index.ts diff --git a/engines/engine-sparql-1-1/lib/objectListParser.ts b/engines/parser-sparql-1-1/lib/objectListParser.ts similarity index 100% rename from engines/engine-sparql-1-1/lib/objectListParser.ts rename to engines/parser-sparql-1-1/lib/objectListParser.ts diff --git a/engines/engine-sparql-1-1/lib/queryUnitParser.ts b/engines/parser-sparql-1-1/lib/queryUnitParser.ts similarity index 100% rename from engines/engine-sparql-1-1/lib/queryUnitParser.ts rename to engines/parser-sparql-1-1/lib/queryUnitParser.ts diff --git a/engines/engine-sparql-1-1/lib/subSelectParser.ts b/engines/parser-sparql-1-1/lib/subSelectParser.ts similarity index 100% rename from engines/engine-sparql-1-1/lib/subSelectParser.ts rename to engines/parser-sparql-1-1/lib/subSelectParser.ts diff --git a/engines/engine-sparql-1-1/lib/triplesBlockParser.ts b/engines/parser-sparql-1-1/lib/triplesBlockParser.ts similarity index 100% rename from engines/engine-sparql-1-1/lib/triplesBlockParser.ts rename to engines/parser-sparql-1-1/lib/triplesBlockParser.ts diff --git a/engines/engine-sparql-1-1/lib/triplesTemplateParserBuilder.ts b/engines/parser-sparql-1-1/lib/triplesTemplateParserBuilder.ts similarity index 100% rename from engines/engine-sparql-1-1/lib/triplesTemplateParserBuilder.ts rename to engines/parser-sparql-1-1/lib/triplesTemplateParserBuilder.ts diff --git a/engines/engine-sparql-1-1/lib/updateNoModifyParser.ts b/engines/parser-sparql-1-1/lib/updateNoModifyParser.ts similarity index 100% rename from engines/engine-sparql-1-1/lib/updateNoModifyParser.ts rename to engines/parser-sparql-1-1/lib/updateNoModifyParser.ts diff --git a/engines/engine-sparql-1-1/lib/updateUnitParser.ts b/engines/parser-sparql-1-1/lib/updateUnitParser.ts similarity index 100% rename from engines/engine-sparql-1-1/lib/updateUnitParser.ts rename to engines/parser-sparql-1-1/lib/updateUnitParser.ts diff --git a/engines/engine-sparql-1-1/package.json b/engines/parser-sparql-1-1/package.json similarity index 96% rename from engines/engine-sparql-1-1/package.json rename to engines/parser-sparql-1-1/package.json index 3b916bf..c859ae4 100644 --- a/engines/engine-sparql-1-1/package.json +++ b/engines/parser-sparql-1-1/package.json @@ -1,5 +1,5 @@ { - "name": "@traqula/engine-sparql-1-1", + "name": "@traqula/parser-sparql-1-1", "type": "module", "version": "0.0.0", "description": "SPARQL 1.1 parser", @@ -8,7 +8,7 @@ "repository": { "type": "git", "url": "git+https://github.com/comunica/traqula.git", - "directory": "engines/engine-sparql-1-1" + "directory": "engines/parser-sparql-1-1" }, "bugs": { "url": "https://github.com/comunica/traqula/issues" diff --git a/engines/engine-sparql-1-1/spec/earl-meta.json b/engines/parser-sparql-1-1/spec/earl-meta.json similarity index 100% rename from engines/engine-sparql-1-1/spec/earl-meta.json rename to engines/parser-sparql-1-1/spec/earl-meta.json diff --git a/engines/engine-sparql-1-1/spec/parser.ts b/engines/parser-sparql-1-1/spec/parser.ts similarity index 100% rename from engines/engine-sparql-1-1/spec/parser.ts rename to engines/parser-sparql-1-1/spec/parser.ts diff --git a/engines/engine-sparql-1-1/test/query.bench.ts b/engines/parser-sparql-1-1/test/query.bench.ts similarity index 100% rename from engines/engine-sparql-1-1/test/query.bench.ts rename to engines/parser-sparql-1-1/test/query.bench.ts diff --git a/engines/engine-sparql-1-1/test/statics.test.ts b/engines/parser-sparql-1-1/test/statics.test.ts similarity index 100% rename from engines/engine-sparql-1-1/test/statics.test.ts rename to engines/parser-sparql-1-1/test/statics.test.ts diff --git a/engines/engine-sparql-1-2/README.md b/engines/parser-sparql-1-2/README.md similarity index 81% rename from engines/engine-sparql-1-2/README.md rename to engines/parser-sparql-1-2/README.md index 40ae326..33bded7 100644 --- a/engines/engine-sparql-1-2/README.md +++ b/engines/parser-sparql-1-2/README.md @@ -6,13 +6,13 @@ It is a grammar extension of [TRAQULA engine-sparql-1-1](https://github.com/comu ## Installation ```bash -npm install @traqula/engine-sparql-1-1 +npm install @traqula/parser-sparql-1-1 ``` or ```bash -yarn add @traqula/engine-sparql-1-1 +yarn add @traqula/parser-sparql-1-1 ``` ## Import @@ -20,13 +20,13 @@ yarn add @traqula/engine-sparql-1-1 Either through ESM import: ```typescript -import { Parser } from '@traqula/engine-sparql-1-2'; +import {Parser} from ''; ``` _or_ CJS require: ```typescript -const Parser = require('@traqula/engine-sparql-1-2').Parser; +const Parser = require('').Parser; ``` ## Usage diff --git a/engines/engine-sparql-1-2/lib/Parser.ts b/engines/parser-sparql-1-2/lib/Parser.ts similarity index 96% rename from engines/engine-sparql-1-2/lib/Parser.ts rename to engines/parser-sparql-1-2/lib/Parser.ts index 165550c..f3eee94 100644 --- a/engines/engine-sparql-1-2/lib/Parser.ts +++ b/engines/parser-sparql-1-2/lib/Parser.ts @@ -1,5 +1,5 @@ import { Builder } from '@traqula/core'; -import { sparql11ParserBuilder } from '@traqula/engine-sparql-1-1'; +import { sparql11ParserBuilder } from '@traqula/parser-sparql-1-1'; import type { SparqlQuery } from '@traqula/rules-sparql-1-1'; import { gram as g11, SparqlParser } from '@traqula/rules-sparql-1-1'; import { gram as S12, lex as l12 } from '@traqula/rules-sparql-1-2'; diff --git a/engines/engine-sparql-1-2/lib/index.ts b/engines/parser-sparql-1-2/lib/index.ts similarity index 100% rename from engines/engine-sparql-1-2/lib/index.ts rename to engines/parser-sparql-1-2/lib/index.ts diff --git a/engines/engine-sparql-1-2/package.json b/engines/parser-sparql-1-2/package.json similarity index 94% rename from engines/engine-sparql-1-2/package.json rename to engines/parser-sparql-1-2/package.json index 046eaab..12e7c2c 100644 --- a/engines/engine-sparql-1-2/package.json +++ b/engines/parser-sparql-1-2/package.json @@ -1,5 +1,5 @@ { - "name": "@traqula/engine-sparql-1-2", + "name": "@traqula/parser-sparql-1-2", "type": "module", "version": "0.0.0", "description": "SPARQL 1.2 parser", @@ -8,7 +8,7 @@ "repository": { "type": "git", "url": "git+https://github.com/comunica/traqula.git", - "directory": "engines/engine-sparql-1-2" + "directory": "engines/parser-sparql-1-2" }, "bugs": { "url": "https://github.com/comunica/traqula/issues" @@ -49,7 +49,7 @@ }, "dependencies": { "@traqula/core": "^0.0.0", - "@traqula/engine-sparql-1-1": "^0.0.0", + "@traqula/parser-sparql-1-1": "^0.0.0", "@traqula/rules-sparql-1-1": "^0.0.0", "@traqula/rules-sparql-1-2": "^0.0.0", "rdf-data-factory": "^2.0.1" diff --git a/engines/engine-sparql-1-2/spec/earl-meta.json b/engines/parser-sparql-1-2/spec/earl-meta.json similarity index 100% rename from engines/engine-sparql-1-2/spec/earl-meta.json rename to engines/parser-sparql-1-2/spec/earl-meta.json diff --git a/engines/engine-sparql-1-2/spec/parser.ts b/engines/parser-sparql-1-2/spec/parser.ts similarity index 100% rename from engines/engine-sparql-1-2/spec/parser.ts rename to engines/parser-sparql-1-2/spec/parser.ts diff --git a/engines/engine-sparql-1-2/test/statics.test.ts b/engines/parser-sparql-1-2/test/statics.test.ts similarity index 100% rename from engines/engine-sparql-1-2/test/statics.test.ts rename to engines/parser-sparql-1-2/test/statics.test.ts