The SPARQL Micro-Service architecture [1, 3] enables querying Web APIs with SPARQL, as well as assigning dereferenceable URIs to Web API resources that do not have a URI in the first place.
Each SPARQL micro-service is a lightweight SPARQL endpoint that typically provides access to a small, resource-centric graph. It takes arguments that depend on the Web API, query the Web API, and build a graph that uses any vocabulary or ontology of your choice.
- Add any HTTP headers to the Web API query;
- Support for APIs with OAuth2 authentication (see example);
- Native support for JSON-based Web APIs. XML-based Web APIs are supported with an additional component (see example);
- Easy Docker-based deployment;
- Simple: a micro-service consists of a configuration file, a JSON-LD profile and a SPARQL query
- Dynamic: simply drop off your files and your service is ready to go.
- Cache database with configurable expiration time, to improve performance;
- Provenance information about the API invokation (time, parameterr etc.);
- Web API invokation with HTTP GET method, POST is not supported.
- Dynamic generation of an HTML documentation and test interface
The most straightforward way to run SPARQL micro-services is using the Docker deployment option.
Then, these slides describe the main concepts behind SPARQL micro-services and provide a guide to quickly write and setup your first SPARQL micro-service.
You can check out some services we published at https://sparql-micro-services.org/. The source of these services is provided in a separate Github repository: sparql-micro-services.org/
The HTML documentation and test interface is generated dynamically from the micro-service descriptions, that embeds Schema.org markup to make the services discoverable using for instance Google Dataset Search.
A demo showcases the use of SPARQL micro-services to integrate, within a single SPARQL query, biodiversity data from a regular Linked Data source with non-RDF data resources: photos, scientific articles, life traits, audio recordings, all obtained through dedicated Web APIs wrapped in SPARQL micro-services.
This project comes with several example SPARQL micro-services, allowing for instance to search photos matching some tags on Flickr, or tunes whose titles match a given name in MusicBrainz.
Also, in the TaxrefWeb repository we provide services to query major biodiversity data sources such as the GBIF, BHL or EoL.
- How to use SPARQL micro-services
- Configuring a SPARQL micro-service
- Docker-based deployment
- Complete non-Docker installation procedure (for more advanced deployments)
- Dynamic HTML documentation
- Adding provenance information
Michel F., Faron C., Gargominy O. & Gandon F. (2018). Integration of Web APIs and Linked Data Using SPARQL Micro-Services—Application to Biodiversity Use Cases. Information 9(12):310. DOI, HAL.
@article{michel_sparqlmicroservices_2018,
title = {Integration of {{Web APIs}} and {{Linked Data Using SPARQL Micro}}-{{Services}}\textemdash{{Application}} to {{Biodiversity Use Cases}}},
volume = {9},
copyright = {Licence Creative Commons Attribution 4.0 International (CC-BY)},
issn = {2078-2489},
language = {en},
number = {12},
journal = {Information},
doi = {10.3390/info9120310},
author = {Michel, Franck and Faron, Catherine and Gargominy, Olivier and Gandon, Fabien},
month = dec,
year = {2018},
pages = {310},
url = {https://hal.archives-ouvertes.fr/hal-01947589}
}
[3] Michel F., Faron C., Gargominy O. & Gandon F. (2018). Integration of Web APIs and Linked Data Using SPARQL Micro-Services—Application to Biodiversity Use Cases. Information 9(12):310. DOI, HAL.
[1] Michel F., Faron-Zucker C. and Gandon F. SPARQL Micro-Services: Lightweight Integration of Web APIs and Linked Data. In Proceedings of the Linked Data on the Web Workshop (LDOW2018). HAL.
[2] Michel F., Gargominy O., Tercerie S. & Faron-Zucker C. (2017). A Model to Represent Nomenclatural and Taxonomic Information as Linked Data. Application to the French Taxonomic Register, TAXREF. In Proceedings of the 2nd International Workshop on Semantics for Biodiversity (S4BioDiv) co-located with ISWC 2017. Vienna, Austria. CEUR vol. 1933. HAL.
[4] Michel F., Faron-Zucker C., Corby O. and Gandon F. Enabling Automatic Discovery and Querying of Web APIs at Web Scale using Linked Data Standards. In LDOW/LDDL'19, companion proceedings of the 2019 World Wide Web Conference (WWW'19 Companion). HAL.
Michel F., Faron-Zucker C. & Gandon F. (2018). Bridging Web APIs and Linked Data with SPARQL Micro-Services. In The Semantic Web: ESWC 2018 Satellite Events, LNCS vol. 11155, pp. 187–191. Heraklion, Greece. Springer, Cham. HAL.
Michel F., Faron-Zucker C. & Gandon F. (2018). Integration of Biodiversity Linked Data and Web APIs using SPARQL Micro-Services. In Biodiversity Information Science and Standards 2: e25481 (TDWG 2018). Dunedin, New Zealand. Pensoft. DOI, HAL. Available online: https://sparql-micro-services.org/demo-sms?param=Delphinapterus%20leucas