KEMBAR78
B2SHARE: Record lifecycle and HTTP API| www.eudat.eu | | PDF
www.eudat.euEUDAT receives funding from the European Union's Horizon 2020 programme - DG CONNECT e-Infrastructures. Contract No. 654065
Record lifecycle and HTTP API

on B2SHARE
Digital Infrastructures for Research 2016
Nicolas Harraudeau
CERN
B2Share
GOAL: Publish research datasets
!
Community
"
Researcher
Submits to
Draft #
Rejected
metadata: title,
description…
$ Files
%
Publication
Publication Workflow
!
Community
"
Researcher
Submits to
Draft
"
researcher
#
Rejected
Search
Harvest
metadata: title,
description…
$ Files
Publication
%
External service
Publication Workflow
User Interface submission
{
"title": "Dendro lightweight ontologies",
"description": "A collection of...",
...
}
POST /api/records
PUT /api/files/<BUCKET_ID>/<KEY>
!
Community
"
Researcher
Submits to
REST API submission
Common Metadata
Domain specific Metadata
+
(Title, Authors, License, Open Access…)
Geographic Location,
Spatial Resolution…
Meteorology and Climate
DRIHM
Disease, Sex, Age,
Study design…
BBMRI
Biomedical research
Language,
Country/Region…
CLARIN
Linguistic
Different metadata for
each scientific Domain
B2Share’s composite schemas
!
Community
A
!
Community
B
title, description
disease, sex
"
Researcher
title, description
disease, sex
Metadata Community A
Schema
Version 14
Metadata Block
Schema
Version 3
disease, sex
Submits to
Maintained by
Includes
Validated
by
Every community has one versioned schema. It is composed of
common fields and a set of metadata block schemas which are
maintained by other (or the same) communities.
B2SHARE metadata validation
title, description
disease, sex
Metadata
Record is validated by its
Schema when it is
CREATED and UPDATED
$schema: URL
JSON Schema
Record stores the reference
to its JSON Schema
B2Share’s composite schemas
GET “http://…/api/communities/<community_ID>/<version_nb>”
1 {
2 "properties": {
3
4 "title": "...",
5 "description": "...",
6 ...
7
8 "community_specific": {
9
10 "<schema_ID1>": {
11 "$ref": "http://.../api/schemas/<schema_ID1>/versions/5#/json_schema"
12 },
13
14 "<schema_ID2>": {
15 "$ref": "http://.../api/schemas/<schema_ID2>/versions/3#/json_schema"
16 },
17 ...
18
19 }
20 }
21 }
{
{
Metadata
Blocks
Fields common to every dataset}
Support better mapping to existing standards by
using JSON-LD in schemas and/or metadata.
Enable easy schema bootstrap from existing
standards when they use JSON-LD or RDF.
Publish the schemas on EUDAT Data Type Registry.
Possible next steps
EUDAT eudat.org
B2Share b2share.eudat.eu
Invenio http://invenio-software.org/
JSON Schema http://json-schema.org/
JSON-LD’s JSON Schema http://json-ld.org/schemas/jsonld-
schema.json
Links and bibliography

B2SHARE: Record lifecycle and HTTP API| www.eudat.eu |

  • 1.
    www.eudat.euEUDAT receives fundingfrom the European Union's Horizon 2020 programme - DG CONNECT e-Infrastructures. Contract No. 654065 Record lifecycle and HTTP API
 on B2SHARE Digital Infrastructures for Research 2016 Nicolas Harraudeau CERN
  • 2.
  • 3.
    ! Community " Researcher Submits to Draft # Rejected metadata:title, description… $ Files % Publication Publication Workflow
  • 4.
  • 5.
  • 6.
    { "title": "Dendro lightweightontologies", "description": "A collection of...", ... } POST /api/records PUT /api/files/<BUCKET_ID>/<KEY> ! Community " Researcher Submits to REST API submission
  • 7.
    Common Metadata Domain specificMetadata + (Title, Authors, License, Open Access…) Geographic Location, Spatial Resolution… Meteorology and Climate DRIHM Disease, Sex, Age, Study design… BBMRI Biomedical research Language, Country/Region… CLARIN Linguistic Different metadata for each scientific Domain
  • 8.
    B2Share’s composite schemas ! Community A ! Community B title,description disease, sex " Researcher title, description disease, sex Metadata Community A Schema Version 14 Metadata Block Schema Version 3 disease, sex Submits to Maintained by Includes Validated by Every community has one versioned schema. It is composed of common fields and a set of metadata block schemas which are maintained by other (or the same) communities.
  • 9.
    B2SHARE metadata validation title,description disease, sex Metadata Record is validated by its Schema when it is CREATED and UPDATED $schema: URL JSON Schema Record stores the reference to its JSON Schema
  • 10.
    B2Share’s composite schemas GET“http://…/api/communities/<community_ID>/<version_nb>” 1 { 2 "properties": { 3 4 "title": "...", 5 "description": "...", 6 ... 7 8 "community_specific": { 9 10 "<schema_ID1>": { 11 "$ref": "http://.../api/schemas/<schema_ID1>/versions/5#/json_schema" 12 }, 13 14 "<schema_ID2>": { 15 "$ref": "http://.../api/schemas/<schema_ID2>/versions/3#/json_schema" 16 }, 17 ... 18 19 } 20 } 21 } { { Metadata Blocks Fields common to every dataset}
  • 11.
    Support better mappingto existing standards by using JSON-LD in schemas and/or metadata. Enable easy schema bootstrap from existing standards when they use JSON-LD or RDF. Publish the schemas on EUDAT Data Type Registry. Possible next steps
  • 12.
    EUDAT eudat.org B2Share b2share.eudat.eu Inveniohttp://invenio-software.org/ JSON Schema http://json-schema.org/ JSON-LD’s JSON Schema http://json-ld.org/schemas/jsonld- schema.json Links and bibliography