Please click start to get a first introduction per video:

Broadcasters-training-video.mp4

Welcome to the comprehensive setup and usage guide for ENAPSO together Free, specifically tailored for broadcasters. This document provides step-by-step instructions to get started with the Docker platform, from installation to managing your data with ENAPSO together free services.

Architecture Introduction

Here please introduce a diagram that shows the data flow of what we are doing below.

Model/Data => Knowledge Graph (SPARQL) => CRUD Templates (REST) => Feel Happy!

Prerequisites

Before you begin, ensure the following requirements are met:

Dear Support Team,

I am interested in accessing the ENAPSO together free platform powered by Innotrade and would like to request a username and access token. Please let me know if additional information is required.

Thank you!

Best regards,
[Your Name]

Docker Setup

Docker Login

Open your command prompt or terminal. Log in to the Docker registry to access the ENAPSO together image using the following command:

docker login registry.innotrade.com -u [username] -p [Personal Access Token]

Replace [username] and [Personal Access Token] with your credentials.

Pull Docker Image

Still, in your command prompt or terminal, pull the latest version of ENAPSO together free:

When running the pull command, please note that if an image is already running and you pull the latest one, it will overwrite existing data in the knowledge graph repository, resetting it to the default state. To avoid losing your data, follow the guidelines on the provided /wiki/spaces/ENAPSODOCS/pages/2239528974 to create a backup before pulling the latest image, and then restore your data afterward.

docker pull registry.innotrade.com/innotrade/enapso-together-free

Run Docker Container

Now, run the Docker container to deploy the platform locally using this command:

docker run -p 80:80 registry.innotrade.com/innotrade/enapso-together-free

This maps the container's port 80 to your local machine's port 80.

Resolving Port Conflicts

If you encounter a port conflict when attempting to run the Docker container for the ENAPSO together Free platform, you have the following option to resolve it and access the service.

Change the Host Port

If port 80 is already in use on your machine, you can map the container's internal port (80) to a different port on your host. For example, if you choose to use port 8080 on your host, you can modify your Docker run command like this:

docker run -p 8080:80 registry.innotrade.com/innotrade/enapso-together-free

After running the Docker command with the new port setting, you'll need to modify how you access the service through your web browser. Simply add :8080 (or whatever port number you chose) right after localhost in the URL. For example, to access the service, you would use:

http://localhost:8080/enapso-dev/view-management-service/api-docs/

This tells your browser to connect to the service at the new port you've set up.

Run Docker Container with Triplestore UI Access

To run the ENAPSO together free platform and enable access to the triplestore UI for enhanced monitoring and management, use the following Docker command:

docker run -p 80:80 -p 3030:3030 registry.innotrade.com/innotrade/enapso-together-free

This command maps the container's port 80 to your local machine's port 80 for the main service, and port 3030 to your local machine's port 3030 for accessing the Triplestore UI. After executing this command, open your web browser and navigate to http://localhost:3030. This URL will lead you directly to the Triplestore UI, where you can monitor the repositories or perform various administrative operations. This setup ensures comprehensive access to both the platform's services and its user interface.

Verify Docker Image

To confirm that the Docker image is running correctly on your machine, use the following command in your command prompt or terminal:

docker ps

This command will list all running containers. Please verify that the ENAPSO together free container appears in the list, indicating it is active and running.

docker ps.PNG

Swagger Documentation Access

Access the Swagger documentation for ENAPSO together free services through your web browser:

Service Name

Description

Access Link

View Management Service

API documentation for View Management

View Management Docs

GraphDB Management Service

API documentation for GraphDB Management

GraphDB Management Docs

Uploading Your Ontology

This guide outlines the steps to prepare and upload the EBUCorePlus ontology to your graph database. Follow these instructions to ensure your graph database is properly set up to manage and utilize ontology data, from downloading the necessary files to configuring the upload through the GraphDB Management Service's endpoint.

  1. Access Swagger Documentation: Navigate to the GraphDB Management Service documentation in your web browser.

    1. Prepare Your Ontology File: Ensure the ebucoreplus ontology file is saved on your local machine. You can obtain the EBUCorePlus ontology from the EBU GitHub repository. Once you open the link, you will see the content of the ontology file displayed. To download it, locate the Download icon on the upper right side of the page and click on it. This will automatically save the file to the default download folder on your local machine.

    2. Clone EBUCorePlus Repository: If you want to clone the entire repository, ensure that Git is installed on your computer. You can check this by running git --version in your terminal. If Git is not installed, you will need to download and install it from the official Git website. Open your command prompt (CMD), and move to the directory where you want the repository to be cloned. You can do this by running the command cd path/to/your/directory, replacing path/to/your/directory with the path to the desired directory on your local machine. Once you're in the desired directory, run the following command to clone the repository:

      git clone https://github.com/ebu/ebucoreplus.git

      This will clone the entire ebucoreplus repository to your local machine.

  2. Upload the Ontology: Utilize the upload-ontology-from-file endpoint to upload the ontology to the graph database repository.

Upload Demo Data

Here we need to add the upload of an ontology via the enapso-cli tool!

This guide outlines the steps to upload the demo data for the EditorialObject to your graph database. Follow these instructions to effectively populate your graph databases with instances of the EditorialObject within the EBUCorePlus ontology, using either the GraphDB Management Service's provided API endpoints or the enapso-graphdb-cli tool, which are explained below. Additionally, you can find the necessary TTL demo data here. editorialObject_demoData.ttl

When running the pull command, please note that if an image is already running and you pull the latest one, it will overwrite existing data in the knowledge graph repository, resetting it to the default state. To avoid losing your data, follow the guidelines on the provided /wiki/spaces/ENAPSODOCS/pages/2239528974 to create a backup before pulling the latest image, and then restore your data afterward.

Upload Demo Data via enapso-graphdb-cli tool

Prerequisites

Ensure Node.js is installed on your machine. If not, install it from the Node.js official website. This installation includes npm (Node Package Manager), which manages Node packages.

After installation, verify that Node.js and npm are successfully installed by doing the following:

For using the ENAPSO tools, it's important to have at least Node.js version 10 or higher, as earlier versions might not support some functionalities of the tools.

If you need to update Node.js to the latest version, you can download it from the official Node.js website and install it on your system. It will automatically replace the older version with the new one.

Installation

Install the enapso-graphdb-cli tool globally using npm:

npm install -g @innotrade/enapso-graphdb-cli

Uploading Demo Data

Open the terminal, and navigate to the directory where the editorialObject_demoData.ttl file is located, or set the file path in the --sourcefile variable, and execute the following command to successfully upload the ontology

enapsogdb import --dburl "http://localhost/fuseki" --repository "Test" --sourcefile "editorialObject_demoData.ttl" --format "text/turtle" --baseiri "http://www.ebu.ch/metadata/ontologies/ebucoreplus#" --context "http://www.ebu.ch/metadata/ontologies/ebucoreplus/demodata" --triplestore "fuseki"

enapso-graphdb-cli.png

Upload Demo Data via GraphDB Management Service's provided API

  1. Access Swagger Documentation: Navigate to the GraphDB Management Service documentation in your web browser.

  2. Editorial Object Demo Data: The above attached file, named editorialObject_demoData.ttl, contains the demo data for the Editorial Object.

  1. Upload the Ontology File: Utilize the upload-ontology-from-fileendpoint to upload the demo data to the graph database repository.

CRUD Template Management

This section provides detailed instructions on how to generate CRUD (create, read, update, delete) templates for specific classes within your ontology using the View Management API. By following these steps, you can automate the creation of SPARQL templates that facilitate the management of instances of any specified class, such as the EditorialObject from the EBUCorePlus ontology. This process simplifies the implementation of CRUD operations in your graph database.

  1. Access View Management API Docs: Use the link provided in the Swagger Documentation Access section.

  2. Generate CRUD Templates: Find the create-crud-sparql-template-4-class endpoint in the documentation. This endpoint is used to automatically generate CRUD (create, read, update, delete) templates for a specific class you specify in the POST body. For instance, if you pass the class http://www.ebu.ch/metadata/ontologies/ebucoreplus#EditorialObject, the endpoint will create four SPARQL templates: readEditorialObject, createEditorialObject, updateEditorialObject, and deleteEditorialObject. These templates enable you to manage instances of the class easily, providing a streamlined approach to handle CRUD operations in your graph database.

Executing CRUD Operations

After generating your CRUD templates, you'll need to use them to manage data. This section explains how to execute the read, create, update, and delete templates for the EditorialObject class.

Executing the Read Template

To view existing instances of the EditorialObject class, follow these steps:

  1. Access Template Execution API: Navigate to the API documentation where you can execute templates by name.

  2. Prepare to Execute the Read Template:

Creating a New Instance

To create a new instance of the EditorialObject class, you'll need to understand the IRI (Internationalized Resource Identifier), a unique identifier that ensures each instance is distinct and aligns with global web standards. If an IRI is not provided, it automatically generates one to guarantee each instance's uniqueness. Alternatively, you can specify your own IRI to maintain control over the identifier of your instance, adhering to standard HTTP practices.

  1. Set Up Creation Request:

Verifying the Creation of a New Instance

After creating a new instance of the EditorialObject class, to confirm if the record has been successfully created, you can follow these steps to verify the addition to the graph database:

  1. Re-execute the Read Template:

You can verify the changes made to the graph database re-executing the read template after performing CRUD operations provides an option to transparently.

Updating an Instance

To update an existing instance within your graph database, you first need to know which instance you're targeting. This is where the IRI (Internationalized Resource Identifier) comes in - it acts as a unique identifier, much like an id for each instance. You can find the IRI by reading the instances of the class you're interested in. Once you have the IRI, it serves as an identifier to specify which instance to update. Along with the IRI, you need to pass the properties and their new values that you want to update.

  1. Access Update Template Execution:

Deleting an Instance

To delete an instance from your ontology, you need to specify which instance to remove by using its IRI (Internationalized Resource Identifier). The IRI serves as a unique identifier for each instance and can be obtained by reading the instance data beforehand. Once you have the IRI, use it to indicate which instance you wish to delete.:

  1. Access Delete Template Execution:

Conclusion

Congratulations on successfully setting up and starting to use the ENAPSO together Free platform for broadcasters. You've learned how to upload an ontology and manage data through CRUD operations, which are crucial for effective data handling within the platform.

As you continue to work with ENAPSO, explore further features and functionalities to enhance your data management capabilities. Remember, the documentation and support are there to help you maximize the platform's potential.

Thank you for following this guide, and happy data managing!