<img src="sparql-logo.png" align="right" />

# SPARQL.Client

[![Hex Docs](](
[![Total Download](](

A [SPARQL protocol]( client for Elixir.

The API documentation can be found [here]( For a guide and more information about SPARQL.Client and it's related projects, go to <>.

## Features

- Executes all forms of SPARQL queries and updates against any SPARQL 1.0/1.1-compatible endpoint over HTTP
- Validates SPARQL queries before sending them to a SPARQL service endpoint (can be disabled via raw-mode)
- Supports result sets in both XML, JSON, CSV and TSV formats, with JSON being the preferred default for content-negotiation purposes
- Supports graph results in any RDF serialization format understood by [RDF.ex]
- Supports generation of updates (except for `INSERT` and `DELETE` updates), incl. `INSERT/DELETE DATA` updates from all [RDF.ex] data structures
- Works with multiple HTTP client libraries
- Supports interpretation of SPARQL-star results

## Contributing

See [CONTRIBUTING]( for details.

## Consulting

If you need help with your Elixir and Linked Data projects, just contact [NinjaConcept]( via <>.

## License and Copyright

(C) 2018-present Marcel Otto. MIT Licensed, see [LICENSE]( for details.