Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

Introduction

To set up the ENAPSO together free platform on your end and learn how to manage SPARQL templates effectively, please follow the instructions on this Confluence page. Once you have completed the setup, you can proceed with the steps below to create REST APIs for managing CRUD operations for each class.

This documentation provides a step-by-step guide to creating REST APIs for managing CRUD operations for each class using SPARQL templates on the ENAPSO together free platform. By following these instructions, you will be able to automate and enhance the interactivity of your Knowledge Graph through RESTful services.

Access the Swagger Documentation

Navigate to the View Management Service documentation in your web browser. This interface provides access to all the necessary endpoints for managing and executing SPARQL templates.

Managing REST API Endpoints via OpenAPI/Swagger

Create Endpoints for CRUD Operations

  1. Find the create-endpoint-4-template endpoint, which is used for setting up new REST APIs for each SPARQL template.

  2. Click on the "Try it out" button to enable interactive usage of this endpoint.

  3. Configure the Endpoint Details

    • In the records array, you will configure each CRUD operation as a separate object. Hereโ€™s how you can set up each endpoint for the EditorialObject class:

      {
          "records": [
              {
                  "endpoint": "editorialObject",
                  "baseURL": "/v1",
                  "endpointConfig": [
                      {
                          "method": "get",
                          "template": "readEditorialObject"
                      },
                      {
                          "method": "post",
                          "template": "createEditorialObject"
                      },
                      {
                          "method": "put",
                          "template": "updateEditorialObject"
                      },
                      {
                          "method": "delete",
                          "template": "deleteEditorialObject"
                      }
                  ]
              }
          ]
      }
    • Variable Descriptions

      • records: This array holds one or more configuration objects. Each object defines a set of CRUD operations associated with a specific endpoint.

        • endpoint: This string specifies the name of the endpoint. It acts as a part of the URL path where the API will be accessible. For example, "editorialObject" results in a REST endpoint that could be accessed via ${baseURL}/editorialObject.

        • baseURL: This is the base path under which the endpoint will be grouped. For instance, "/v1" indicates that the endpoint will be accessed under the version 1 group, forming part of the complete URL path.

        • endpointConfig: An array of objects where each object specifies a CRUD operation and the associated settings:

          • method: The HTTP method (e.g., "get", "post", "put", "delete") that determines what kind of operation this endpoint will perform. This corresponds to the CRUD operation:

            • "get" for reading or retrieving data,

            • "post" for creating new data,

            • "put" for updating existing data,

            • "delete" for removing data.

          • template: The name of the SPARQL template that will be executed when this endpoint is called. It ties the REST API directly to a predefined SPARQL operation within the database management system.

  4. After entering all the necessary details, click on the "Execute" button. A successful request will create REST endpoints for each configured operation.

    route request res.png

  5. The response will indicate success, confirming that the endpoints are now set up and ready for use.

    route request.png

Removing REST API endpoints via OpenAPI

How do I remove REST API endpoints via the OpenAPI?

Managing REST API Endpoints via Command Line (curl)

Executing HTTP Requests via the Command Line

Opens your command line interface. This process varies depending on your operating system:

  • Windows: Open Command Prompt.

  • macOS or Linux: Open Terminal.

Once your command line interface is open, you can execute the curl commands to interact with the REST API. Here are detailed instructions on how to execute these commands for creating, reading, updating, and deleting Editorial Objects:

1. Create (POST)

To create a new EditorialObject, use the following curl command to send a POST request:

curl -X POST "http://localhost/enapso-dev/view-management/v1/editorialObject" -H "Content-Type: application/json" -d "{\"variables\": {\"iri\": \"http://ont.enapso.com/sparql-template#EditorialObject_2f9b1462-e937-4416-8c23-ce96fc42dc55\", \"title\": \"Never Look Away\", \"shotLog\": \"Visual storytelling that captures the protagonist artistic journey and the tumultuous history of Germany.\"}}"
create-request.png

This command sends the data to create a new instance of an EditorialObject.

2. Read (GET)

To retrieve information of EditorialObject instances, use the following curl command to send a GETrequest

curl -X GET http://localhost/enapso-dev/view-management/v1/editorialObject
read-request.png

3. Update (PUT)

To update an existing EditorialObject, use the following curl command to send a PUT request with the IRI and new values:

curl -X PUT "http://localhost/enapso-dev/view-management/v1/editorialObject" -H "Content-Type: application/json" -d "{\"variables\": {\"iri\": \"http://ont.enapso.com/sparql-template#EditorialObject_2f9b1462-e937-4416-8c23-ce96fc42dc55\", \"productionSynopsis\": \"Directed by Florian Henckel von Donnersmarck, this sweeping historical drama delves into themes of art, love, tragedy, and the inescapable impact of politics on personal lives.\"}}"
update-request.png

This command updates the specified EditorialObject's productionSynopsisbased on its IRI.

4. Delete (DELETE)

To delete an EditorialObject instance, use the following curl command to send a DELETE request:

curl -X DELETE "http://localhost/enapso-dev/view-management/v1/editorialObject" -H "Content-Type: application/json" -d "{\"variables\": {\"iri\": \"http://ont.enapso.com/sparql-template#EditorialObject_2f9b1462-e937-4416-8c23-ce96fc42dc55\"}}"
delete-request.png

This command deletes the EditorialObject identified by the given IRI.

These curl commands provide a direct way to interact with your RESTful API, enabling you to perform create, read, update, and delete operations on EditorialObject

Summary

This setup enables you to fully utilize the RESTful interface of the ENAPSO together Free platform, integrating seamlessly with your existing workflows and enhancing data manipulation capabilities through programmatically accessible endpoints. By following these steps, users can effectively create and manage REST APIs for CRUD operations, empowering them to perform sophisticated data interactions directly through HTTP requests.

  • No labels