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).

CodeMeta Example

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

Metadata Available

Make metadata available at a public URL using servicemeta.

Contact Curation

Contact curation support to let us know the URL.