Mapping EOSC EU Node Service Catalogue to DCAT
Based on work done in EOSC United, I have drafted how one might map the required fields from the EOSC EU Node service catalogue schema to DCAT.
The EOSC EU Node service catalogue format is something that has been developed over a number of EOSC projects (namely EOSC Future), and serves as a great starting point for federation. The Practical Semantic Interoperability task force has already recommended DCAT as the direction of travel for interoperable catalogue metadata, and this recommendation has been circulated for review without clear objection, so, as a starting point of discussion, I’ve extended our EOSC node micro service to show a worked example of how this might be achieved.
Effectively, what we do is map the required fields from the EOSC EU Node Service Catalogue into a JSON-LD schema. This provides a mechanism for exposing (in this instance) an ARIA service discovery feed into both an EEN compatible feed and an EEN/DCAT feed. The DCAT crosswalk treats the node’s service catalogue as a dcat:Catalog and each service bundle as a dcat:Resource. EEN controlled vocabulary values such as scientific domains, service categories, target users, technology readiness levels, and so on, are mapped to SKOS concept references anchored to EOSC namespace URIs, making the output immediately usable by linked data tooling without further configuration.
If your node already has an EEN compatible services feed, you can point the crosswalk at that feed endpoint directly, and the crosswalk will expose a new endpoint that maps the existing EEN feed to a JSON-LD DCAT feed, with controlled vocabularies exposed as drop in schema extensions.
For discovery the node hooks in to the work done in EOSC Beyond for capabilities publishing, by giving a capabilities crosswalk that exposes the configuration in a format compatible with the EOSC Beyond Node registry. This could easily be swapped out with whatever is eventually adopted by the EOSC Federation more widely.
This provides a gracefully extensible schema output for future federation, and hopefully having code in front of people will give folks a good starting point for conversation.
Leave a Reply