Write your SPARQL query directly in the JSON-LD you would like to have in output.
Looking for the JavaScript Version?
id
/@id
using the $anchor
modifier.Table of Contents
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.
{
"proto": [{
"id" : "?id",
"name": "$rdfs:label$required",
"image": "$foaf:depiction$required"
}],
"$where": [
"?id a dbo:City",
"?id dbo:country dbr:Italy"
],
"$limit": 100
}
{
"@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.
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:
dict
,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.
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.
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