Skip to main content

Write your SPARQL query directly in the JSON-LD you would like to have in output

Project description

Py SPARQL Transformer

Write your SPARQL query directly in the JSON-LD you would like to have in output.

Looking for the JavaScript Version?

News

  • It is now possible to set a different merging anchor instead of id/@id using the $anchor modifier.

Table of Contents

Query in JSON

The core idea of this module is writing in a single file the query and the expected output in JSON.

Two syntaxes are supported: plain JSON and JSON-LD. Here the examples in the 2 formats for the query of cities.

  • plain JSON
{
  "proto": [{
    "id" : "?id",
    "name": "$rdfs:label$required",
    "image": "$foaf:depiction$required"
  }],
  "$where": [
    "?id a dbo:City",
    "?id dbo:country dbr:Italy"
  ],
  "$limit": 100
}
  • JSON-LD
{
  "@context": "http://schema.org/",
  "@graph": [{
    "@type": "City",
    "@id" : "?id",
    "name": "$rdfs:label$required",
    "image": "$foaf:depiction$required"
  }],
  "$where": [
    "?id a dbo:City",
    "?id dbo:country dbr:Italy"
  ],
  "$limit": 100
}

For the list of all properties and modifiers, read the full documentation.

How to use

Install by pip.

pip install SPARQLTransformer

Use in your JS application (node or browser).

from SPARQLTransformer import sparqlTransformer

out = sparqlTransformer(query, options)

The first parameter (query) is the query in the JSON format. The JSON can be:

  • an already parsed (or defined real time) dict,
  • the local path of a JSON file (that will then be read and parsed).

The options parameter is optional, and can define the following:

OPTION DEFAULT NOTE
context http://schema.org/ The value in @context. It overwrites the one in the query.
sparqlFunction None A function receiving in input the transformed query in SPARQL, returning a Promise. If not specified, the module performs the query on its own1 against the specified endpoint.
endpoint http://dbpedia.org/sparql Used only if sparqlFunction is not specified.
debug False Enter in debug mode. This allow to print in console the generated SPARQL query.

See tests.py for further examples.

Credits

If you use this module for your research work, please cite:

Pasquale Lisena, Albert Meroño-Peñuela, Tobias Kuhn and Raphaël Troncy. Easy Web API Development with SPARQL Transformer. In 18th International Semantic Web Conference (ISWC), Auckland, New Zealand, October 26-30, 2019.

BIB file

Pasquale Lisena and Raphaël Troncy. Transforming the JSON Output of SPARQL Queries for Linked Data Clients. In WWW'18 Companion: The 2018 Web Conference Companion, April 23–27, 2018, Lyon, France. https://doi.org/10.1145/3184558.3188739

BIB file

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

SPARQLTransformer-2.4.0.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

SPARQLTransformer-2.4.0-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

Details for the file SPARQLTransformer-2.4.0.tar.gz.

File metadata

  • Download URL: SPARQLTransformer-2.4.0.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for SPARQLTransformer-2.4.0.tar.gz
Algorithm Hash digest
SHA256 a5796d76e7e56f47ea6880055a00032adc9b7729f2b03c6d50b1813b5d2a4967
MD5 9626790c1e060d75a0422585a8df7840
BLAKE2b-256 b6af0ef7933efc5d8b83e613234f6c5315195a72b7e72d3cc63b283cc4574178

See more details on using hashes here.

File details

Details for the file SPARQLTransformer-2.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for SPARQLTransformer-2.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5263718c2b51a9a2d4c85ddbbcde3cff089faa4dc6455dde4dca2999ab35e68e
MD5 67a56c8f0f73c9c30d1a5b80d81b7a92
BLAKE2b-256 c42945a85be012ffa16d03769aa6cf10a837ffb33968b1d500460698f6cf9d32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page