# rdf-sparql-builder

> SPARQL query builder

Latest version **0.2.5** (published 2024-09-29) · MIT license · 0 weekly downloads

## Install

```sh
npm install rdf-sparql-builder
pnpm add rdf-sparql-builder
yarn add rdf-sparql-builder
bun add rdf-sparql-builder
```

## Health

**Score 35/100 (D)** — status: abandoned.

Positive: esm support; no vulnerabilities; high maintenance score.

Warnings: low downloads; no types; pre 1.0.

Negative: abandoned.

## Facts

| | |
|---|---|
| Version | 0.2.5 |
| Published | 2024-09-29 |
| First published | 2020-06-20 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 3 |
| Unpacked size | 93.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 9 |
| Author | Thomas Bergwinkl |
| Maintainers | bergos |

## Links

- npm: https://www.npmjs.com/package/rdf-sparql-builder
- Repository: https://github.com/rdf-ext/rdf-sparql-builder
- Issues: https://github.com/rdf-ext/rdf-sparql-builder/issues
- npm.io page: https://npm.io/package/rdf-sparql-builder

## Dependencies (3)

- [lodash](https://npm.io/package/lodash.md) ^4.17.21
- [@rdfjs/data-model](https://npm.io/package/@rdfjs/data-model.md) ^2.0.1
- [@rdfjs/to-ntriples](https://npm.io/package/@rdfjs/to-ntriples.md) ^3.0.1

## Recent versions

- 0.2.5 (latest) — 2024-09-29
- 0.2.4 — 2024-08-09
- 0.2.3 — 2024-06-22
- 0.2.2 — 2023-09-14
- 0.2.1 — 2022-10-04
- 0.1.10 — 2022-10-04
- 0.2.0 — 2022-05-26
- 0.1.9 — 2021-03-14
- 0.1.8 — 2021-02-18
- 0.1.7 — 2021-01-13
- 0.1.6 — 2020-09-21
- 0.1.5 — 2020-09-04
- 0.1.4 — 2020-08-27
- 0.1.3 — 2020-06-28
- 0.1.2 — 2020-06-24
- … 2 more at https://npm.io/package/rdf-sparql-builder/versions

## README

# rdf-sparql-builder

[![build status](https://img.shields.io/github/actions/workflow/status/rdf-ext/rdf-sparql-builder/test.yaml?branch=master)](https://github.com/rdf-ext/rdf-sparql-builder/actions/workflows/test.yaml)
[![npm version](https://img.shields.io/npm/v/rdf-sparql-builder.svg)](https://www.npmjs.com/package/rdf-sparql-builder)

`rdf-sparql-builder` helps building [SPARQL](https://www.w3.org/TR/sparql11-query/) queries in JavaScript code.
Instead of error-prone string concatenations, method chaining allows writing queries without switching the programming language.
The [RDF/JS data model](http://rdf.js.org/data-model-spec/) is used for terms like named nodes and variables.

## Usage

The package exports an object with all the required functions. 
It can be imported in your code like this:

```javascript
import * as sparql from 'rdf-sparql-builder'
```

## Example

The following example shows how to build a simple query.
The `examples` folder contains more examples showing all kinds of features supported by the package. 

```javascript
import rdf from '@rdfjs/data-model'
import namespace from '@rdfjs/namespace'
import * as sparql from 'rdf-sparql-builder'

const ns = {
  ex: namespace('http://example.org/'),
  rdf: namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#type')
}

const observation = rdf.variable('observation')
const date = rdf.variable('date')
const temperature = rdf.variable('temperature')

const query = sparql.select([date, temperature])
  .where([
    [observation, ns.rdf.type, ns.ex.Observation],
    [observation, ns.ex.date, date],
    [observation, ns.ex.temperature, temperature]
  ])

console.log(query.toString())
```

---
_Source: https://npm.io/package/rdf-sparql-builder · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
