Automating KG Updates for Software and Web Services
The Problem
As a general rule, software and web services frequently release new versions. Also, the manual workflow for Knowledge Graph (KG) updates is time-consuming, requiring significant effort and multiple emails. Consequently, KG entries often become outdated.
The Solution
To ensure the Knowledge Graph (KG) has up-to-date entries for all EBRAINS tools and web services, we automated the update process as much as possible.
Software
For software, we have adopted the
CodeMeta
standard. Each EBRAINS software tool should place a codemeta.json file in the root of its GitHub/GitLab repository, and inform the curation team.
KG automation will check these files regularly, and create new SoftwareVersion entries in the KG whenever the “version” field is changed. (The exception to this is projects that register software releases on Zenodo, for which we can use the Zenodo API in place of a CodeMeta file).
Web Services
For web services we have developed the servicemeta schema, which is based on the codemeta standard and follows the same principles, but is intended to describe web services rather than software.
To produce a servicemeta file you can use the ServiceMeta Generator
REST APIs
REST APIs: should define an /about endpoint (or some similar name), which will return a JSON-LD document using the servicemeta schema.
Web apps
Web apps: should embed the servicemeta JSON-LD document within one of the HTML documents of the app, using <script type="application/ld+json"> tags, either on the home page or on a dedicated “about” page.
Action items for tool developers
Make metadata available at a public URL using servicemeta.
Contact curation support to let us know the URL.