SLIPO API for third-party applications and services

We are glad to announce the availability of SLIPO API for exposing the functionality of the SLIPO system to third-party applications and services. The SLIPO API enables developers to invoke the functionality of SLIPO Toolkit into third-party systems. A developer can invoke simple atomic functions (e.g., transformation, fusion) for POI data integration, or compose complex and arbitrary POI integration workflows.

The specification of the API is fully documented and the source code is available in our GitHub repository under the SLIPO Workbench application. Among others, the SLIPO API can be used to:

  • Access the remote user file system to browse, upload and download files;
  • Query the resource catalog and download RDF datasets. All data are encoded in N-Triples format;
  • Manage (start, check status, terminate) existing POI data integration processes; and
  • Execute SLIPO Toolkit component operations (i.e., transform, interlink, fuse, enrichment), and export operations.

To invoke the API, a client must have a valid application key which is linked to an existing SLIPO user account. Application keys are used to apply quota constraints to the respective clients, so are only available to registered users of the SLIPO Workbench.

An external third-party client can access the SLIPO functionality by directly invoking the SLIPO API. We exemplify the usage of the API with two libraries that provide programming bindings for the RESTful API to Python and Jupyter notebooks:

  • The Python module slipo that provides bindings for the SLIPO API to Python code. The library source code is publicly available, it can be easily installed from the Python Package Index, and it is provided with detailed documentation.
  • Based on the slipo module, we have also developed a second Python module slipoframes that specifically targets Jupyter notebooks. In addition to exposing the SLIPO API to Jupyter notebooks, slipoframes converts API responses to DataFrames for better integration with data analysis tools and thus offers workflow execution visualization features. The library source code, the distribution package and its documentation are all publicly available. We also demonstrate the usage of this library with indicative Jupyter notebooks that handle several POI data integration tasks and analytics.