Creator: Priyanka Ojha
Introduction
I had the task to try out the reference implementation of FDP and also try to
import data into it. This involved working on 2 projects namely FDP and SeMPyRO. I initially started with reproducing FDP on my Local Laptop. My environment consisted of myDRE which is a managed service with Azure under the hood. I used a ubuntu22 machine as a base and installed docker on it
followed steps mentioned below in that order :
To install docker on https://mydre.org/ , I followed these instructions :
The Ubuntu release was Jammy in my case.
Then I installed Docker compose via this command :
sudo apt-get install docker-compose-plugin
Check the version to ensure Docker compose in installed successfully
docker-compose version
Create a folder fdp in root directory
sudo mkdir fdp
Give the read write and execute rights to it
sudo chmod a+rwx fdp
There I copied 2 files (docker-compose.yml and application.yml) I had created
with the help of Local Deployment — FAIR Data Point 1.16 documentation in the fdp
folder.
Go to the FDP folder via this command
cd fdp
Give this command to start the docker container
docker-compose up -d
To check if the containers are started correctly : you can use the following
commands to check it :
docker ps.
It lists all the containers that are started. There should be 4 services running like below:
If any of the services is not started, there might be an issue. Most probably, its
related to port 80 being occupied. So You can also check for it before starting
the docker container and kill the process and then can resume again from step
8 above.Command to check if port 80 is occupied is:
sudo lsof -i:80
Command to kill process occumpying prot 80 is:
sudo kill 648
You can also check for similar issue here
11Dww
If all the services are running correctly, you should be able to access the FDP
via this command.
curl http://localhost
And see the following output below:
If a different message is shown, you might have to wait a bit as some services
take a bit of time and try again . If that doesn’t help, then something is wrong
and you need to check the logs via this command.docker-compose logs -f >> fdplogs.txt
You can now via a browser from a windows machine in the same workspace
access the URL via the IP address of the Host PC.Make sure to white list the IP address of the Linux machine.
On the Windows machine in Azure workspace, disable the Proxy by
following these steps:
Select the Start button, then select Settings > Network & Internet > Proxy . Turn all off. Once that is done, you should be able to access the FDP via the browser.
Open the Edge or Chrome based browser, It doesn’t work on Internet Explorer. Type the IP address of Linux PC and the FDP website should be accessible.
Now, you can also import the Shacl File by following steps mentioned here.
Make sure you are logged in as an admin user.
Click on your user icon in the top right of the UI, and select the "Metadata schemas" option.
Here you see a list of schemas. Click on the schema you want to update (for example
Catalog
).The last field on this page shows the
Form definition.
Here you can paste the shape definitions as found in this folder.Click
Save and release
on the bottom of the page.Select a version number
Click
Release.
Now you can go to this project and try to run the notebook mentioned here
and try importing the data to your FDP.
List of all sources cited, including original project documentation
FAIR Data Point | FAIR Data Points can be used to describe your data sets in a FAIR way, using
standard metadata and make them available through simple WWW protocols.FAIRDataTeam/FAIRDataPoint (http://github.com )
FAIR Data Point Reference Implementation Documentation — FAIR Data Point 1.16
documentationHealth-RI/SeMPyRO: pydantic data models for DCAT-AP v3 (http://github.com )
AmsterdamUMC/FDP_AMS at myDRE (http://github.com