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