RO-Crate

Introduction

Since v8.0.0, the AppDB portal and its REST API support the Research Object Crate (RO-Crate) format, conforming to the RO-Crate Medata Specification 1.1. A JSON-LD metadata file and a ZIP web archive may be downloaded for each software entry, (applications, virtual appliances, containers, etc) from the portal, using the links in the entry details view

image800

Usage

The JSON-LD metadata may be also fetched from the REST API, either by calling the application details resource with the appropriate accept header or format parameter, or by calling the /rocrate subresource, as per the examples below

  • Using an Accept header
$ curl -H "Accept: application/ld+json" https://appdb-pi.egi.eu/rest/1.0/applications/:id
  • Using a format parameter
$ curl -H "https://appdb-pi.egi.eu/rest/1.0/applications/:id?format=json-ld"
  • Using the dedicated subresource
$ curl -H https://appdb-pi.egi.eu/rest/1.0/applications/:id/rocrate

where :id in the examples above is the software entry ID

Data Mapping

The following table lists the mapping between metadata in the AppDB and Schema.org types used by the RO-Crate 1.1 specification. Application entries are the main entities in the JSON graph, and additional related entities are included according to metadata availability, where applicable. Software applications may include entities about specific software releases, while virtual appliances may contain entities about VM versions and their respective VM images.

entity property RO-Crate mapping Schema.org type
application entity @type SoftwareApplication
application canonical name @id text
application PID handle identifier text
application type (application, virtual appliance, etc) additionalType text
application name name text
application description description text
application abstract summary text
application status creativeWorkStatus text
application category applicationCategory text[]
application subcategory applicationSubCategory text[]
application download url downloadUrl URL[]
application creation date datePublished Date
application creation date dateCreated Date
application last modification date dateModified Date
application programming language programmingLanguage ComputerLanguage[]
application supported operating systems operatingSystem text[]
application license license CreativeWork[]
application AppDB url url URL
application keywords keywords text[]
application average rating and number of ratings aggragateRating AggregateRating
application rating comments comment Comment[]
application contacts (researchers) contributor[@type=Person] Person[]
application organizations developing the software contributor[@type=Organization] Organization[]
application development funded by grant funding Grant[]
application publications citation ScholarlyArticle[]
application logo image ImageObject
license entity @type CreativeWork
license link @id text
license link identifier text
license name name text
license short name alternateName text
application logo entity @type ImageObject
application logo image size contentSize text
application logo AppDB URL contentUrl URL
funding grant entity @type Grant
funding grant name name text
funding grant funder funder Organization
funding grant funded project fundedItem Project
funded project call identifier identifier text
funded project title name text
funded project acronym alternateName text
funded project start date foundingDate Date
funded project end date dissolutionDate Date
funded project website url URL
funded project keywords keywords text
contact / author entity @type Person
contact / author canonical name @id text
contact / author name name text
contact / author ORCID identifier text
contact / author organization affiliation Organization[]
publication entity @type ScholarlyArticle
publication type additionalType text
publication DOI identifier text
publication title name text
publication url url URL
publication authors author Person[]
publication year of publication datePublished Date
publication publisher publisher text
publication start page pageStart text
publication end page pageEnd text
publication journal isPartOf[@type=Periodical|PublicationVolume]/name text
publication ISBN isPartOf[@type=Periodical|PublicationVolume]/issn text
publication volume number isPartOf[@type=Periodical|PublicationVolume]/volumeNumber text
publication proceedings isPartOf[@type=CreativeWork&additionalType=proceedings]/name text
publication conference subjectOf[@type=Event]/name text
application release entity @type SoftwareApplication & additionalType=“Software Release”
application release PID handle identifier text
application release AppDB URL url URL
application release download URL downloadUrl URL
application release version / series softwareVersion text
application release publication date datePublished Date
application release creation date dateCreated Date
application release latest modification date dateModified Date
application release release status creativeWorkStatus text
application release parent application entry isPartOf[@type=SoftwareApplication]/@id text
virtual appliance version entity @type SoftwareAppliation & additionalType=“Virtual Machine Image”
virtual appliance version PID handle identifier text
virtual appliance version title name text
virtual appliance version status creativeWorkStatus text
virtual appliance version description description text
virtual appliance version version softwareVersion text
virtual appliance version publication date datePublished Date
virtual appliance version notes releaseNotes text
virtual appliance version expiration date expires Date
virtual appliance version VM image file size fileSize text
virtual appliance version AppDB URL url URL
virtual appliance version VM image download URL downloadUrl URL
virtual appliance version VM operating system operatingSystem text
virtual appliance version CPU arch and min cores, GPU min cores processorRequirements text[]
virtual appliance version min RAM required memoryRequirements text
virtual appliance version parent VA entry isPartOf[@type=SoftwareAppliation]/@id text
virtual appliance version contextualization scripts hasPart[@type=SoftwareApplication]/@id] text
Contextualization Script entity @type SoftwareApplication & additionalType=“Contextualization Script”
Contextualization Script name text
Contextualization Script title description text
Contextualization Script description releaseNotes text
Contextualization Script download URL downloadUrl URL
Contextualization Script file size fileSize text
Contextualization Script creation date dateCreated Date
Contextualization Script last modification date dateModified Date
Contextualization Script contextualization format encodingFormat text
Organization entity @type Organization
Organization name name text
Organization short name alternateName text
Programming Language entity @type ComputerLanguage
Programming Language name name text