This repository is created in the context EOSC-MLDCAT-AP Pilot to support EOSC to reach semantic interoperability by adoping MLDCAT-AP.
While technical interoperability is reached via EOSC REST API semantic interoperabiltiy could be reached by:
- enriching the JSON output via a json-ld context to generate an RDF output in the form of JSON structure (JSON-LD);
- generating an RDF in Turtle syntax.
The EOSC REST API has been modified to:
- specify the accept header, allowing to request "application/ld+json" and "text/turtle" formats
- specify the type of profile such as "mldcatap"
The EOSC REST API is tested first with an API portal online to generate the output depending on the parameters (accept header and query parameter) like https://reqbin.com/
For JSON-LD, the output is first tested in JSON-LD Playground, if it is able to parse it.
For Turtle, the output is tested in Turle validator.
There are 4 types of clients:
- Python client, via the rdflib library, stored in the python folder ;
- Java client, via the RDF4J library, stored in the java folder ;
- Java client, via Titanium-JSONLD to parse JSON-LD and Jena library, stored in the java folder ;
- Javascript (node) client, via jsonld.js library to parse the JSON-LD and N3 to convert to Turtle, stored in the node folder.
For instructions see the README.me in the respective folders.
The code_list folder contains the work done for to generate code lists