JSPM

  • Created
  • Published
  • Downloads 122
  • Score
    100M100P100Q72401F
  • License MIT

SPARQL 1.1 formatter

Package Exports

  • sparql-formatter
  • sparql-formatter/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (sparql-formatter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

SPARQL 1.1 formatter

Website: https://sparqling.github.io/sparql-formatter/

npm: https://www.npmjs.com/package/sparql-formatter

Docker: https://hub.docker.com/r/sparqling/sparql-formatter

Usage in web pages

<script src='https://cdn.jsdelivr.net/gh/sparqling/sparql-formatter@v0.7.4/dist/main.js'></script>

Use the function:

spfmt(query, indentDepth = 2)
  • query: string
  • indentDepth: integer (>= 0)
  • return value: string

Usage in Node.js

Example:

const spfmt = require('sparql-formatter');

console.log(spfmt('select * where {?s ?p ?o}'));

Output:

SELECT *
WHERE {
  ?s ?p ?o .
}

Command line interface

$ npm install -g sparql-formatter

A symbolic link to ./bin/sparql-formatter.js will be created as sparql-formatter in your path.

Examples:

$ sparql-formatter sparql11-query/02.2.rq

or $ cat sparql11-query/02.2.rq | sparql-formatter

or use Docker $ cat sparql11-query/02.2.rq | docker run -i --rm sparqling/sparql-formatter

or $ docker run --rm -v $(pwd):/work sparqling/sparql-formatter sparql11-query/02.2.rq

Input:

PREFIX foaf:   <http://xmlns.com/foaf/0.1/>
PREFIX foaf:   <http://xmlns.com/foaf/0.1/>
SELECT ?name ?mbox
WHERE
  { ?x foaf:name ?name .
    ?x foaf:mbox ?mbox }

Output:

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>

SELECT ?name ?mbox
WHERE {
  ?x foaf:name ?name .
  ?x foaf:mbox ?mbox .
}

Install from GitHub

$ git clone https://github.com/sparqling/sparql-formatter
$ cd sparql-formatter
$ npm ci
  • Commands are in sparql-formatter/bin/*.

Optional: $ npm link

  • Symbolic links to sparql-formatter/bin/* are created (as sparql-formatter and sparql-formatter-test in your path).

SPARQL 1.1 query examples

Test:

$ sparql-formatter-test sparql11-query/*.rq
true    sparql11-query/02.1.rq
true    sparql11-query/02.2.rq
...
true    sparql11-query/17.rq
  • The sparql-formatter output for *.rq is compared with *.txt.