This project is for development FAIRification process (i.e. make CS initiatives more FAIR compliant) which maps metadata of CS platforms' catalogues to DCAT and generates Web Application Programming Interfaces (APIs) for improving CS data discoverability and reusability in an integrated approach.
- Clone the code
- Install requirements usin pip (python version > 3.8)
- Set up the catalogue metadata input in the config.properties file. The properties file contains a description, catalogue URL, and the source of projects metadata.
- Run sampleExecution file in a terminal. Then, the projects are retrieved from the source specified in the file, could be a local file or a remote endpoint. By default the it select a random topic to gather a set of projects from the remote API specified. Once metadata is retrieved, the class \textit{MapScistarterCatalogue} (implementation of the \textit{MapCatalogue} interface) maps the metadata fields from Scistarter to DCAT.
- If you need to redefine the mapper, you must extend the class MapCatalogue.
- During the mapper execution if data raw is available by metadata reference, the APIfication (which is a Java suproccess) is launched, generating Web API packages for the corresponding data. The Web APIs packages are called following the pattern AG_projectID
- Then, once Web APIs are generated and published, the specification of data services is thus added to the DCAT metadata Catalogue.
- Finally, this Catalogue is serialized in Turtle and could be shared as RDF linked data.
The folder tests contains a basic configuration to execute an example. The file sampleExecution.py generates a ramdon number of projects querying the SciStarter API by a random topic from the file topics.txt. The time of execution is printed in the terminal. Also a file with the catalogue is generated in the same folder. If some project fails during the mapping due to the completeness of required metadata, the identifier is also printed. The sampleExecution.py contains the logic to redefine inputs an for using the tool features.
A short demo video is available at Youtube