Skip to content

Commit b27adfe

Browse files
committed
Updated documentation
1 parent dc3b002 commit b27adfe

File tree

3 files changed

+23
-8
lines changed

3 files changed

+23
-8
lines changed

README.md

+14-8
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
# OpenEBench Benchmarking Data Model repository
2-
_(born from EXCELERATE WP2)_
2+
_(born from ELIXIR EXCELERATE WP2)_
33

4-
This repository contains all the developments around the OpenEBench benchmarking data model which was borned from ELIXIR-EXCELERATE WP2.
4+
This repository contains all the developments around the [OpenEBench scientific benchmarking](https://openebench.bsc.es/benchmarking/) data model.
55

6-
* Folder [early-drafts](early-drafts) contains the initial ideas around what it is needed to be stored in order to model benchmarking events and metrics.
6+
[![Benchmarking JSON Schema 2.0.x](openebench-bdm-2.0.x.dot.png "Benchmarking JSON Schema 2.0.x")](https://inab.github.io/responsive.graphviz.svg/openebench-bdm-2.0.x.html)
7+
8+
## JSON Schemas
9+
Folder [json-schemas](json-schemas) contains the Scientific Benchmarking Data Model JSON Schemas, being developed to validate the different concepts modelled as JSON objects used by OpenEBench scientific benchmarking services and databases. They were written using JSON Schema Draft 04 standard for [version 0.4](json-schemas/0.4.x), JSON Schema Draft 07 standard for [version 1.0](json-schemas/1.0.x) and JSON Schema Draft 2019-09 standard for [version 2.0](json-schemas/2.0.x). These schemas use extensions to the standards which were modelled based on relational databases concepts, in order to declare the primary and foreign keys of the documents, used when all the documents are validated as a set, or are stored in a database.
710

8-
* Folder [json-schemas](json-schemas) contains the the JSON Schemas, based on JSON Schema Draft 04 standard, being developed to validate the different objects used by ongoing WP2 benchmarking services and databases. These schemas contain extensions to declare the primary and foreign keys of the documents, when all the documents are validated as a set, or are stored in a database.
11+
* Primary key is declared on the top of each schema as an array with the key `primary_key`. A primary key can be composed by more than one property.
12+
* Foreign keys are declared with keys `foreign_keys` (which is an object) at any schema level. They map the declared properties to the JSON Schema key referenced by the `schema_id` property, which is either a relative or absolute URI. When it is relative, it is resolved against the `id` value of the schema where the foerign key is declared. The `members` attribute is an array, and it must contain the list of attributes (or the path to them, separated by dots) which map to the ones in `primary_key` declaration in the referenced schema. Attribute order does matter. When the `foreign_keys` declaration points to a primary key with a single attribute, it can be included at atomic value level, and use the special attribute name `.`.
13+
14+
Extended documentation of these JSON Schema extensions is available at [README-extensions.md](//github.com/inab/python-extended-json-schema-validator/blob/main/README-extensions.md)
915

10-
* Primary key is declared on the top of each schema as an array with the key `primary_key`. A primary key can be composed by more than one property.
11-
* Foreign keys are declared with keys `foreign_keys` (which is an object) at any schema level. They map the declared properties to the JSON Schema key referenced by the `schema_id` property, which is either a relative or absolute URI. When it is relative, it is resolved against the `id` value of the schema where the foerign key is declared. The `members` attribute is an array, and it must contain the list of attributes (or the path to them, separated by dots) which map to the ones in `primary_key` declaration in the referenced schema. Attribute order does matter. When the `foreign_keys` declaration points to a primary key with a single attribute, it can be included at atomic value level, and use the special attribute name `.`.
16+
## Prototype and sample data
17+
Folder [prototype-data](prototype-data) contains several JSON data sets for the different versions of the data model, which validate against the benchmarking JSON schemas.
1218

13-
* Folder [prototype-data](prototype-data) contains several JSON data sets, which validate against the benchmarking JSON schemas.
19+
* Visit [Tools for validation](toolsForValidation.md) in order to learn about several reference programs, which validate the JSON data sets against the benchmarking JSON schemas.
1420

15-
* Both [fairtracks_validator](https://github.com/fairtracks/fairtracks_validator/tree/master/python) and [extended-json-schema-validators](https://github.com/inab/extended-json-schema-validators) contain several reference programs, which validate the JSON data sets against the benchmarking JSON schemas. See [Tools for validation](toolsForValidation.md) in order to learn their lineage.
21+
* Folder [early-drafts](early-drafts) contains the initial ideas around what it is needed to be stored in order to model benchmarking events and metrics.

json-schemas/README.md

+7
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ Sample JSON files can be validated against these schemas using the [extended JSO
66

77
[![Benchmarking JSON Schema 2.0.x](openebench-bdm-2.0.x.dot.png "Benchmarking JSON Schema 2.0.x")](https://inab.github.io/responsive.graphviz.svg/openebench-bdm-2.0.x.html)
88

9+
10+
## Permanent identifiers
11+
12+
All these 2.0 schemas have resolvable permanent identifiers whose prefix is https://w3id.org/openebench/scientific-schemas/2.0/ , having a URI structure of `https://w3id.org/openebench/scientific-schemas/2.0/{concept}`, like for instance https://w3id.org/openebench/scientific-schemas/2.0/Community .
13+
14+
## Concepts
15+
916
These are the main concepts of the OpenEBench Benchmarking Data Model:
1017

1118
* [Community](2.0.x/community.json): The description of a benchmarking community, like CASP, CAFA, Quest for Orthologs, etc...

toolsForValidation.md

+2
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@ so dependency and package management is simplified.
66

77
Later, that repo was forked to add the extensions currently being used by FAIRTracks Validator, at [fairtracks_validator](//github.com/fairtracks/fairtracks_validator/).
88

9+
Last, the python implementation gained its own repository, hosted at [python-extended-json-schema-validator](//github.com/inab/python-extended-json-schema-validator/).
10+

0 commit comments

Comments
 (0)