Pluggable storage connectors for relational and graph databases.
@metreeca/wire wires concrete database backends behind a common query interface per query-language family, so application code targets a query language rather than a product-specific driver or dialect:
Connectors are self-contained leaf packages:
Install the framework package for your target query language, then add a backend connector for your target engine. The framework provides the query API your code imports, so keep it as a direct dependency; the connector pulls it in transitively. See each Framework Package below for its connectors, peer dependencies, and target engines.
| Query Language | Description | Framework Package |
|---|---|---|
| SQL:2011 | ISO/IEC 9075 Structured Query Language | upcoming |
| GQL:2024 | ISO/IEC 39075 Graph Query Language | upcoming |
| SPARQL 1.1 | SPARQL 1.1 Query Language | @metreeca/wire-sparql |
npm install @metreeca/wire-<language> # a query-language framework from the table above
npm install @metreeca/wire-<language>-<backend> # a backend connector, among those listed by the framework
npm install <peer-dependency> # connector peer dependencies, where required
TypeScript consumers must use "moduleResolution": "nodenext"/"node16"/"bundler" in tsconfig.json.
The legacy "node" resolver is not supported.
Each framework package documents its query API and usage in its own documentation and API reference:
| Query Language | Framework Package |
|---|---|
| SPARQL 1.1 | @metreeca/wire-sparql |
This project is licensed under the Apache 2.0 License – see LICENSE file for details.