From 0fc0f39fcc07b23617c880cce5dc7062dba76a6b Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Thu, 6 Nov 2025 10:56:48 +0100 Subject: [PATCH 001/101] docs: update the structure for the commons --- CONTRIBUTING.md | 4 +- ...sessment-Component-Application-Profile.rst | 2 + .../FAIR/Assessment-Recommended-API.rst | 2 + ...alogue-of-Benchmark-Acoring-Algorithms.rst | 2 + docs/commons/FAIR/Catalogue-of-Benchmarks.rst | 2 + docs/commons/FAIR/Catalogue-of-Metrics.rst | 2 + docs/commons/FAIR/Catalogue-of-Tests.rst | 13 ++ docs/commons/FAIR/Core-Assessment-Profile.rst | 2 + docs/commons/FAIR/FAIR-Champion.rst | 10 ++ .../FAIR/FAIR-Test-Results-Vocabulary-FTR.rst | 12 ++ docs/commons/FAIR/FAIR-commons.rst | 28 ++++ docs/commons/FAIR/FAIRsharing.rst | 8 ++ docs/commons/FAIR/FOOPS.rst | 11 ++ .../FAIR/Guidance-Element-Specification.rst | 2 + .../LifeWatch-FAIR-Assessment-Profile.rst | 2 + ...Thematic-DO-Specific-Guidance-Elements.rst | 2 + docs/commons/dmp/API-specification.rst | 6 + docs/commons/dmp/application-profile.rst | 6 + docs/commons/dmp/dmp-commons.rst | 17 +++ ...Austrian-FWF\342\200\223maDMP-mapping.rst" | 2 + .../LifeWatch-maDMP-mapping-template.rst | 2 + ...-Coastal-marine-maDMP-mapping-template.rst | 2 + .../mappings/Science-Europe-maDMP-mapping.rst | 2 + docs/commons/dmp/mappings/index.rst | 13 ++ docs/commons/resources.rst | 128 +----------------- docs/commons/skg/Mapping-SKGIF-DDI.rst | 2 + docs/commons/skg/OpenAire-SKG-IF-API.rst | 2 + .../skg/SKGIF/SKGIF-API-Specification.rst | 8 ++ .../SKGIF/SKGIF-Entity-extension-pilots.rst | 10 ++ .../skg/SKGIF/SKGIF-Entity-extension.rst | 2 + .../skg/SKGIF/SKGIF-metadata-model.rst | 2 + docs/commons/skg/SKGIF/index.rst | 13 ++ docs/commons/skg/lifewach-eric-KG-RPT.rst | 2 + docs/commons/skg/skg-commons.rst | 15 ++ 34 files changed, 214 insertions(+), 124 deletions(-) create mode 100644 docs/commons/FAIR/Assessment-Component-Application-Profile.rst create mode 100644 docs/commons/FAIR/Assessment-Recommended-API.rst create mode 100644 docs/commons/FAIR/Catalogue-of-Benchmark-Acoring-Algorithms.rst create mode 100644 docs/commons/FAIR/Catalogue-of-Benchmarks.rst create mode 100644 docs/commons/FAIR/Catalogue-of-Metrics.rst create mode 100644 docs/commons/FAIR/Catalogue-of-Tests.rst create mode 100644 docs/commons/FAIR/Core-Assessment-Profile.rst create mode 100644 docs/commons/FAIR/FAIR-Champion.rst create mode 100644 docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst create mode 100644 docs/commons/FAIR/FAIR-commons.rst create mode 100644 docs/commons/FAIR/FAIRsharing.rst create mode 100644 docs/commons/FAIR/FOOPS.rst create mode 100644 docs/commons/FAIR/Guidance-Element-Specification.rst create mode 100644 docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst create mode 100644 docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst create mode 100644 docs/commons/dmp/API-specification.rst create mode 100644 docs/commons/dmp/application-profile.rst create mode 100644 docs/commons/dmp/dmp-commons.rst create mode 100644 "docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" create mode 100644 docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst create mode 100644 docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst create mode 100644 docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst create mode 100644 docs/commons/dmp/mappings/index.rst create mode 100644 docs/commons/skg/Mapping-SKGIF-DDI.rst create mode 100644 docs/commons/skg/OpenAire-SKG-IF-API.rst create mode 100644 docs/commons/skg/SKGIF/SKGIF-API-Specification.rst create mode 100644 docs/commons/skg/SKGIF/SKGIF-Entity-extension-pilots.rst create mode 100644 docs/commons/skg/SKGIF/SKGIF-Entity-extension.rst create mode 100644 docs/commons/skg/SKGIF/SKGIF-metadata-model.rst create mode 100644 docs/commons/skg/SKGIF/index.rst create mode 100644 docs/commons/skg/lifewach-eric-KG-RPT.rst create mode 100644 docs/commons/skg/skg-commons.rst diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4254d7a..5ab1550 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -40,10 +40,10 @@ The code style is captured using [EditorConfig](https://editorconfig.org/), see First, install the required dependencies (preferably in a virtual environment): +to activate the env in windows use the cmd and venv\Scripts\activate.bat ```bash -python -m venv venv +python -m venv venv source venv/bin/activate - pip install -r requirements.txt ``` diff --git a/docs/commons/FAIR/Assessment-Component-Application-Profile.rst b/docs/commons/FAIR/Assessment-Component-Application-Profile.rst new file mode 100644 index 0000000..0827715 --- /dev/null +++ b/docs/commons/FAIR/Assessment-Component-Application-Profile.rst @@ -0,0 +1,2 @@ +Assessment Component Application Profile +-------------------------------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst new file mode 100644 index 0000000..cb5be31 --- /dev/null +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -0,0 +1,2 @@ +Assessment Recommended API +---------------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/Catalogue-of-Benchmark-Acoring-Algorithms.rst b/docs/commons/FAIR/Catalogue-of-Benchmark-Acoring-Algorithms.rst new file mode 100644 index 0000000..c8a2ae0 --- /dev/null +++ b/docs/commons/FAIR/Catalogue-of-Benchmark-Acoring-Algorithms.rst @@ -0,0 +1,2 @@ +Catalogue-of-Benchmark-Acoring-Algorithms +----------------------------------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/Catalogue-of-Benchmarks.rst b/docs/commons/FAIR/Catalogue-of-Benchmarks.rst new file mode 100644 index 0000000..5482552 --- /dev/null +++ b/docs/commons/FAIR/Catalogue-of-Benchmarks.rst @@ -0,0 +1,2 @@ +Catalogue of Benchmarks +--------------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/Catalogue-of-Metrics.rst b/docs/commons/FAIR/Catalogue-of-Metrics.rst new file mode 100644 index 0000000..fec18f7 --- /dev/null +++ b/docs/commons/FAIR/Catalogue-of-Metrics.rst @@ -0,0 +1,2 @@ +Catalogue of Metrics +---------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/Catalogue-of-Tests.rst b/docs/commons/FAIR/Catalogue-of-Tests.rst new file mode 100644 index 0000000..bddd1c5 --- /dev/null +++ b/docs/commons/FAIR/Catalogue-of-Tests.rst @@ -0,0 +1,13 @@ +Catalogue of Tests +-------------------------- + +FAIR Data Point +^^^^^^^^^^^^^^^ + +The FAIR Data Point software is maintained by a third party (the “FAIRDataTeam”). In OSTrails we utilize the FAIR Data Point (FDP) in its configuration as an “index”, using the 16.x releases of the software suite in DockerHub. FDP Index is the first implementation of a test registry and will include many of the descriptions from the FAIR Champion and FOOPS! + +- Identifier: https://tools.ostrails.eu/fdp-index/ +- Code repository: https://github.com/FAIRDataTeam +- Version: Docker Image version 16.x +- Release: N/A +- License: MIT \ No newline at end of file diff --git a/docs/commons/FAIR/Core-Assessment-Profile.rst b/docs/commons/FAIR/Core-Assessment-Profile.rst new file mode 100644 index 0000000..017db1e --- /dev/null +++ b/docs/commons/FAIR/Core-Assessment-Profile.rst @@ -0,0 +1,2 @@ +Core Assessment Profile +---------------------------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/FAIR-Champion.rst b/docs/commons/FAIR/FAIR-Champion.rst new file mode 100644 index 0000000..47d89d9 --- /dev/null +++ b/docs/commons/FAIR/FAIR-Champion.rst @@ -0,0 +1,10 @@ +FAIR Champion +^^^^^^^^^^^^^ + +FAIR Champion is a general-purpose FAIR assessment tool intended to be used by all communities and for all digital objects. In this release, FAIR Champion is aware of the 22 FAIR Tests (below), but any test, from any provider, can be registered so long as the test generates a metadata descriptor compliant with the FAIR Reference Model defined by OSTrails. The OpenAPI interface descriptor for this release is only partially complete; the Champion has a variety of functions related to new test registration and benchmark registration that are currently pending decisions by the OSTrails project. + +- Persistent identifier: https://tools.ostrails.eu/champion/sets/ +- Code repository: https://github.com/OSTrails/FAIR-Champion +- Version: Release v1 +- Release: https://github.com/OSTrails/FAIR-Champion/releases/tag/1.0.0 +- License: MIT \ No newline at end of file diff --git a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst new file mode 100644 index 0000000..855a927 --- /dev/null +++ b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst @@ -0,0 +1,12 @@ +FAIR Assessment specifications and SHACL shapes (FTR) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +FTR is the first OWL implementation of the FAIR Reference model described in Deliverables D1.2 and D.1.4. The reference model extends W3C standards such as DCAT (https://www.w3.org/TR/vocab-dcat-3/), DQV (https://www.w3.org/TR/vocab-dqv/) and PROV (https://www.w3.org/TR/prov-o/) to describe test results, test definitions, metrics, benchmarks, algorithms, dimensions/principles and their interpretation to generate a FAIR assessment score. + +The code release includes the vocabularies, definitions, specifications in machine-readable format and a set of SHACL validation rules to ensure tests and metrics are defined according to the specification. + +- Persistent identifier: https://w3id.org/ftr/1.0.0 +- Code Repository: https://github.com/OSTrails/FAIR_assessment_output_specification/ +- Version: 1.0.0 +- Release (in GitHub): https://github.com/OSTrails/FAIR_assessment_output_specification/releases/tag/v1.0.0 +- License: CC-BY 4.0 \ No newline at end of file diff --git a/docs/commons/FAIR/FAIR-commons.rst b/docs/commons/FAIR/FAIR-commons.rst new file mode 100644 index 0000000..822f19a --- /dev/null +++ b/docs/commons/FAIR/FAIR-commons.rst @@ -0,0 +1,28 @@ +FAIR Commons +------------ + +The following resources in this section are part of the FAIR Commons component. + + +.. toctree:: + :caption: Commons Resources + :maxdepth: 1 + :titlesonly: + + Assessment Component Application Profile + FAIR Test Results Vocabulary (FTR) + Catalogue of Metrics + Catalogue of Benchmarks + Catalogue of Tests + Catalogue of Benchmark Acoring Algorithms + Assessment Recommended API + Core Assessment Profile + Guidance Element Specification + Thematic/DO-Specific Guidance Elements + LifeWatch FAIR Assessment Profile and Guidance + FAIR Champion + FOOPS + FAIRsharing + + + \ No newline at end of file diff --git a/docs/commons/FAIR/FAIRsharing.rst b/docs/commons/FAIR/FAIRsharing.rst new file mode 100644 index 0000000..b8aeae1 --- /dev/null +++ b/docs/commons/FAIR/FAIRsharing.rst @@ -0,0 +1,8 @@ +FAIRsharing Registry +^^^^^^^^^^^^^^^^^^^^ + +FAIRsharing is a registry of standards, databases, policies and FAIR assistance conceptual components. Registration of FAIR principles/dimensions, metrics, and benchmarks within FAIRsharing allows human- and machine-readable integration of the FAIR assessment components within the wider research landscape, and is key to discovery of these resources as well as for the implementation of the tests themselves via the rich metadata contained within the registry. Rather than being a specific tool release, it is the extension to FAIRsharing with the new FAIRassist registry which is relevant to the other Commons resources described in this section. + +- Identifier: https://fairsharing.org/ +- Code repository: https://github.com/FAIRsharing/fairsharing.github.io +- Version: Continuous release \ No newline at end of file diff --git a/docs/commons/FAIR/FOOPS.rst b/docs/commons/FAIR/FOOPS.rst new file mode 100644 index 0000000..e94c9cc --- /dev/null +++ b/docs/commons/FAIR/FOOPS.rst @@ -0,0 +1,11 @@ +FOOPS! Test and metric catalogue +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The Ontology Pitfall Scanner for FAIR is a FAIR assessment tool for vocabularies and ontologies. In this release, FOOPS! has been adapted to comply with the FTR specification. A catalog of test descriptions has been made available in https://w3id.org/foops/catalogue. The release contains the source code of the tools, as well as the machine-readable and human-readable documentation of all tests, metrics and benchmarks associated with the tool. + +- Persistent identifier: https://w3id.org/foops/catalogue +- Zenodo link (latest release): https://doi.org/10.5281/zenodo.14767999 +- Code repository: https://github.com/oeg-upm/fair_ontologies +- Version: 0.2.0 +- Release: https://github.com/oeg-upm/fair_ontologies/releases/tag/v0.2.0 +- License: Apache-2.0 \ No newline at end of file diff --git a/docs/commons/FAIR/Guidance-Element-Specification.rst b/docs/commons/FAIR/Guidance-Element-Specification.rst new file mode 100644 index 0000000..5b14031 --- /dev/null +++ b/docs/commons/FAIR/Guidance-Element-Specification.rst @@ -0,0 +1,2 @@ +Guidance Element Specification +-------------------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst b/docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst new file mode 100644 index 0000000..dd4c4b2 --- /dev/null +++ b/docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst @@ -0,0 +1,2 @@ +LifeWatch FAIR Assessment Profile and Guidance +-------------------------------------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst b/docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst new file mode 100644 index 0000000..b350f0a --- /dev/null +++ b/docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst @@ -0,0 +1,2 @@ +Thematic/DO-Specific Guidance Elements +----------------------------------------------- \ No newline at end of file diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst new file mode 100644 index 0000000..cc15cf4 --- /dev/null +++ b/docs/commons/dmp/API-specification.rst @@ -0,0 +1,6 @@ +OSTrails maDMP API Specification +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +maDMP API Specification will build on top of the DSC and OSTrails AP and specify the operations and data exchange. We plan to materialize this in the form of OpenAPI specification (using the current version, currently v3.1.1. Again, this promotes adoption as OpenAPI specification not only documents the API but also provides a way to generate source code or other artifacts (e.g. tests) as well as check compliance. + +- *Planned resource to be developed* \ No newline at end of file diff --git a/docs/commons/dmp/application-profile.rst b/docs/commons/dmp/application-profile.rst new file mode 100644 index 0000000..bfcc717 --- /dev/null +++ b/docs/commons/dmp/application-profile.rst @@ -0,0 +1,6 @@ +OSTrails Application Profile for maDMPs +======================================= + +OSTrails Application Profile (AP) as a tailored extension of the `RDA DMP Common Standard (DCS) for maDMPs `_ will be designed to enhance interoperability while addressing various requirements (e.g. funders). Technically, the specification of the application profile will be done as prescribed by the DCS (which will support such extensions) and will be part of the Commons as the description of data structure. + +- *Planned resource to be developed* \ No newline at end of file diff --git a/docs/commons/dmp/dmp-commons.rst b/docs/commons/dmp/dmp-commons.rst new file mode 100644 index 0000000..9d19188 --- /dev/null +++ b/docs/commons/dmp/dmp-commons.rst @@ -0,0 +1,17 @@ +DMP Commons +----------- + +The following resources in this section are part of the DMP Commons component. + +.. toctree:: + :caption: Commons Resources + :maxdepth: 1 + :titlesonly: + + OSTrails Application Profile for maDMPs + OSTrails maDMP API Specification + maDMP mappings + + + + diff --git "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" new file mode 100644 index 0000000..66efe15 --- /dev/null +++ "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" @@ -0,0 +1,2 @@ +Austrian FWF – maDMP mapping +=============================================== diff --git a/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst b/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst new file mode 100644 index 0000000..acbfc31 --- /dev/null +++ b/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst @@ -0,0 +1,2 @@ +LifeWatch maDMP mapping/template +======================================= \ No newline at end of file diff --git a/docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst b/docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst new file mode 100644 index 0000000..c8e50e6 --- /dev/null +++ b/docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst @@ -0,0 +1,2 @@ +SOCIB/Coastal marine maDMP mapping/template +============================================= \ No newline at end of file diff --git a/docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst b/docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst new file mode 100644 index 0000000..46aa44f --- /dev/null +++ b/docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst @@ -0,0 +1,2 @@ +Science Europe maDMP mapping +======================================= \ No newline at end of file diff --git a/docs/commons/dmp/mappings/index.rst b/docs/commons/dmp/mappings/index.rst new file mode 100644 index 0000000..1d5f5ad --- /dev/null +++ b/docs/commons/dmp/mappings/index.rst @@ -0,0 +1,13 @@ +maDMP mappings +============== + +- *Planned resource to be developed* + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + OScience Europe maDMP mapping + Austrian FWF – maDMP mapping + LifeWatch maDMP mapping/template + SOCIB/Coastal marine maDMP mapping/template diff --git a/docs/commons/resources.rst b/docs/commons/resources.rst index dfa09aa..fe38d3e 100644 --- a/docs/commons/resources.rst +++ b/docs/commons/resources.rst @@ -9,137 +9,21 @@ OSTrails Commons: Resources This page embodies the OSTrails Commons, a collection of reusable resource according to its structure as :ref:`components `. -DMP Commons ------------ The following resources in this section are part of the DMP Commons component. -OSTrails Application Profile for maDMPs -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +.. toctree:: + :maxdepth: 1 + :caption: Commons Resources -OSTrails Application Profile (AP) as a tailored extension of the `RDA DMP Common Standard (DCS) for maDMPs `_ will be designed to enhance interoperability while addressing various requirements (e.g. funders). Technically, the specification of the application profile will be done as prescribed by the DCS (which will support such extensions) and will be part of the Commons as the description of data structure. + DMP Commons + SKG Commons + FAIR Commons -- *Planned resource to be developed* -OSTrails maDMP API Specification -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -maDMP API Specification will build on top of the DSC and OSTrails AP and specify the operations and data exchange. We plan to materialize this in the form of OpenAPI specification (using the current version, currently v3.1.1. Again, this promotes adoption as OpenAPI specification not only documents the API but also provides a way to generate source code or other artifacts (e.g. tests) as well as check compliance. -- *Planned resource to be developed* - - -SKG Commons ------------ - -The following resources in this section are part of the SKG Commons component. - -OSTrails SKG IF -^^^^^^^^^^^^^^^ - -OSTrails SGK-IF as an extension of the `RDA SKG-IF `_ will focus on Common Standard and Data Model extensions, resulting in a specification for data structures guiding the adoption. - -- *Planned resource to be developed* - - -OSTrails SKG-IF Common API -^^^^^^^^^^^^^^^^^^^^^^^^^^ - -SKG-IF Common API will be a specification of API following identified use cases and supporting relevant operators to guide the adoption and eventually also check compliance. - -- *Planned resource to be developed* - - -FAIR Commons ------------- - -The following resources in this section are part of the FAIR Commons component. - -FAIR Assessment specifications and SHACL shapes (FTR) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -FTR is the first OWL implementation of the FAIR Reference model described in Deliverables D1.2 and D.1.4. The reference model extends W3C standards such as DCAT (https://www.w3.org/TR/vocab-dcat-3/), DQV (https://www.w3.org/TR/vocab-dqv/) and PROV (https://www.w3.org/TR/prov-o/) to describe test results, test definitions, metrics, benchmarks, algorithms, dimensions/principles and their interpretation to generate a FAIR assessment score. - -The code release includes the vocabularies, definitions, specifications in machine-readable format and a set of SHACL validation rules to ensure tests and metrics are defined according to the specification. - -- Persistent identifier: https://w3id.org/ftr/1.0.0 -- Code Repository: https://github.com/OSTrails/FAIR_assessment_output_specification/ -- Version: 1.0.0 -- Release (in GitHub): https://github.com/OSTrails/FAIR_assessment_output_specification/releases/tag/v1.0.0 -- License: CC-BY 4.0 - - -FAIR Champion -^^^^^^^^^^^^^ - -FAIR Champion is a general-purpose FAIR assessment tool intended to be used by all communities and for all digital objects. In this release, FAIR Champion is aware of the 22 FAIR Tests (below), but any test, from any provider, can be registered so long as the test generates a metadata descriptor compliant with the FAIR Reference Model defined by OSTrails. The OpenAPI interface descriptor for this release is only partially complete; the Champion has a variety of functions related to new test registration and benchmark registration that are currently pending decisions by the OSTrails project. - -- Persistent identifier: https://tools.ostrails.eu/champion/sets/ -- Code repository: https://github.com/OSTrails/FAIR-Champion -- Version: Release v1 -- Release: https://github.com/OSTrails/FAIR-Champion/releases/tag/1.0.0 -- License: MIT - - -FAIR Champion Tests -^^^^^^^^^^^^^^^^^^^ - -A set of 22 tests for FAIRness. These are generic tests for all four FAIR facets – F, A, I, R – and do not represent any specific community or digital object. All tests require the GUID of the digital object’s metadata as input. Output follows the FAIR Test Results schema (https://w3id.org/ftr/1.0.0). - -- Persistent identifier: https://tests.ostrails.eu/tests -- Code repository: https://github.com/OSTrails/FAIR-Core-Tests -- Version: Release v1 -- Release: https://github.com/OSTrails/FAIR-Core-Tests/releases/tag/1.0.0 -- License: MIT - - -FOOPS! Test and metric catalogue -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -The Ontology Pitfall Scanner for FAIR is a FAIR assessment tool for vocabularies and ontologies. In this release, FOOPS! has been adapted to comply with the FTR specification. A catalog of test descriptions has been made available in https://w3id.org/foops/catalogue. The release contains the source code of the tools, as well as the machine-readable and human-readable documentation of all tests, metrics and benchmarks associated with the tool. - -- Persistent identifier: https://w3id.org/foops/catalogue -- Zenodo link (latest release): https://doi.org/10.5281/zenodo.14767999 -- Code repository: https://github.com/oeg-upm/fair_ontologies -- Version: 0.2.0 -- Release: https://github.com/oeg-upm/fair_ontologies/releases/tag/v0.2.0 -- License: Apache-2.0 - - -FAIR Data Point -^^^^^^^^^^^^^^^ - -The FAIR Data Point software is maintained by a third party (the “FAIRDataTeam”). In OSTrails we utilize the FAIR Data Point (FDP) in its configuration as an “index”, using the 16.x releases of the software suite in DockerHub. FDP Index is the first implementation of a test registry and will include many of the descriptions from the FAIR Champion and FOOPS! - -- Identifier: https://tools.ostrails.eu/fdp-index/ -- Code repository: https://github.com/FAIRDataTeam -- Version: Docker Image version 16.x -- Release: N/A -- License: MIT - - -FAIR Data Point Index Proxy -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -An early prototype of a “proxy” service that allows native DCAT records to be registered in a FAIR Data Point Index. - -- Identifier: https://tools.ostrails.eu/fdp-index-proxy -- Zenodo link (latest release) -- Code repository: https://github.com/OSTrails/FDP-Index-Proxy -- Version: Release v1.0.0 -- Release: https://github.com/OSTrails/FDP-Index-Proxy/releases/tag/v1.0.0 -- License: MIT - - -FAIRsharing Registry -^^^^^^^^^^^^^^^^^^^^ - -FAIRsharing is a registry of standards, databases, policies and FAIR assistance conceptual components. Registration of FAIR principles/dimensions, metrics, and benchmarks within FAIRsharing allows human- and machine-readable integration of the FAIR assessment components within the wider research landscape, and is key to discovery of these resources as well as for the implementation of the tests themselves via the rich metadata contained within the registry. Rather than being a specific tool release, it is the extension to FAIRsharing with the new FAIRassist registry which is relevant to the other Commons resources described in this section. - -- Identifier: https://fairsharing.org/ -- Code repository: https://github.com/FAIRsharing/fairsharing.github.io -- Version: Continuous release Cross-Cutting and Supporting Resources -------------------------------------- diff --git a/docs/commons/skg/Mapping-SKGIF-DDI.rst b/docs/commons/skg/Mapping-SKGIF-DDI.rst new file mode 100644 index 0000000..5e715a7 --- /dev/null +++ b/docs/commons/skg/Mapping-SKGIF-DDI.rst @@ -0,0 +1,2 @@ +Mapping between SKG Interoperability Framework and DDI +-------------------------------------------------------- \ No newline at end of file diff --git a/docs/commons/skg/OpenAire-SKG-IF-API.rst b/docs/commons/skg/OpenAire-SKG-IF-API.rst new file mode 100644 index 0000000..56a2008 --- /dev/null +++ b/docs/commons/skg/OpenAire-SKG-IF-API.rst @@ -0,0 +1,2 @@ +OpenAIRE SKG-IF API +--------------------------- \ No newline at end of file diff --git a/docs/commons/skg/SKGIF/SKGIF-API-Specification.rst b/docs/commons/skg/SKGIF/SKGIF-API-Specification.rst new file mode 100644 index 0000000..fa801ce --- /dev/null +++ b/docs/commons/skg/SKGIF/SKGIF-API-Specification.rst @@ -0,0 +1,8 @@ +SKG IF: API specification +------------------------------ + +OSTrails SKG-IF Common API + +SKG-IF Common API will be a specification of API following identified use cases and supporting relevant operators to guide the adoption and eventually also check compliance. + +- *Planned resource to be developed* \ No newline at end of file diff --git a/docs/commons/skg/SKGIF/SKGIF-Entity-extension-pilots.rst b/docs/commons/skg/SKGIF/SKGIF-Entity-extension-pilots.rst new file mode 100644 index 0000000..24522d4 --- /dev/null +++ b/docs/commons/skg/SKGIF/SKGIF-Entity-extension-pilots.rst @@ -0,0 +1,10 @@ +SKG IF: Entity extensions for the pilots +---------------------------------------------- + + +OSTrails SKG IF +^^^^^^^^^^^^^^^ + +OSTrails SGK-IF as an extension of the `RDA SKG-IF `_ will focus on Common Standard and Data Model extensions, resulting in a specification for data structures guiding the adoption. + +- *Planned resource to be developed* \ No newline at end of file diff --git a/docs/commons/skg/SKGIF/SKGIF-Entity-extension.rst b/docs/commons/skg/SKGIF/SKGIF-Entity-extension.rst new file mode 100644 index 0000000..2d8e373 --- /dev/null +++ b/docs/commons/skg/SKGIF/SKGIF-Entity-extension.rst @@ -0,0 +1,2 @@ +SKG IF: Entity extension framework +----------------------------------------- \ No newline at end of file diff --git a/docs/commons/skg/SKGIF/SKGIF-metadata-model.rst b/docs/commons/skg/SKGIF/SKGIF-metadata-model.rst new file mode 100644 index 0000000..f108c53 --- /dev/null +++ b/docs/commons/skg/SKGIF/SKGIF-metadata-model.rst @@ -0,0 +1,2 @@ +SKG IF: Metadata model consolidation JSON schema +--------------------------------------------------- \ No newline at end of file diff --git a/docs/commons/skg/SKGIF/index.rst b/docs/commons/skg/SKGIF/index.rst new file mode 100644 index 0000000..9107564 --- /dev/null +++ b/docs/commons/skg/SKGIF/index.rst @@ -0,0 +1,13 @@ +SKG IF +============== + +- *Planned resource to be developed* + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + SKG IF: Metadata model consolidation JSON schema + SKG IF: API specification + SKG IF: Entity extension framework + SKG IF: Entity extensions for the pilots diff --git a/docs/commons/skg/lifewach-eric-KG-RPT.rst b/docs/commons/skg/lifewach-eric-KG-RPT.rst new file mode 100644 index 0000000..58c82dc --- /dev/null +++ b/docs/commons/skg/lifewach-eric-KG-RPT.rst @@ -0,0 +1,2 @@ +LifeWatch ERIC Knowledge Graph for Research Planning and Tracking +------------------------------------------------------------------------ \ No newline at end of file diff --git a/docs/commons/skg/skg-commons.rst b/docs/commons/skg/skg-commons.rst new file mode 100644 index 0000000..b0d9498 --- /dev/null +++ b/docs/commons/skg/skg-commons.rst @@ -0,0 +1,15 @@ +SKG Commons +--------------- + +The following resources in this section are part of the SKG Commons component. + +.. toctree:: + :caption: SKGs Resources + :maxdepth: 1 + :titlesonly: + + LifeWatch ERIC Knowledge Graph for Research Planning and Tracking + OpenAIRE SKG-IF API + Mapping between SKG Interoperability Framework and DDI + SKG Interoperability Framework + From 2a67a6f47599751cb8cce79fea25faee649d8a8c Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Thu, 6 Nov 2025 16:00:33 +0100 Subject: [PATCH 002/101] docs> add the mapping for FWF template --- ...Austrian-FWF\342\200\223maDMP-mapping.rst" | 119 ++++++++++++++++++ .../LifeWatch-maDMP-mapping-template.rst | 3 +- docs/commons/dmp/mappings/index.rst | 2 +- 3 files changed, 122 insertions(+), 2 deletions(-) diff --git "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" index 66efe15..075dac1 100644 --- "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" +++ "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" @@ -1,2 +1,121 @@ Austrian FWF – maDMP mapping =============================================== + + + +.. list-table:: Mapping Table FWF Template + :header-rows: 1 + + * - Template Section + - FWF DMP template questions + - Corresponding maDMP fields in DCS + - Corresponding maDMP fields in OSTrails AP + * - 0 Data Officier + - Who is responsible for the data management and the DMP of the project (name/email address)? + - dmp/contact/*, dmp/contributor/* + - + * - I Data Characteristics + - What kinds of data/source code will be generated or reused (type, format, volume)? + - dataset/type, distribution/format, distribution/byte_size + - + * - + - How will the research datasets be generated and which methods will be used? + - + - dataset/methodology + * - + - How will you structure the data and handle versioning? + - host/support_versioning + - + * - + - Who is the target audience? + - + - + * - II Documentation and Metadata + - What metadata standards (if any) will be in use and why? (see Digital Curation Centre) + - dataset/metadata/* + - + * - + - What information is needed for the data to be findable, accessible, interoperable and re-usable (FAIR) in the future? + - dataset/dataset_id, distribution/data_access, distribu-tion/access_url, dataset/metadata/*, distribution/license/* + - + * - + - Is the data machine-readable? + - + - + * - + - How are you planning to document this information? + - + - + * - + - What quality assurance processes will you adopt? + - dataset/data_quality_assurance + - + * - + - How will the consistency and quality of data collection be controlled and documented? (This may include processes such as repeat samples or measurements, standardised data capture, peer review of data or representation with controlled vocabularies.) + - + - dataset/methodology + * - + - How and when will the data be shared and made accessible? + - distribution/*, distribution/host, license/start_date + - + * - + - What repository will you be using? + - host/url + - + * - III Data Availability and Storage + - What persistent identifier will be used? + - dataset/dataset_id, host/pid_system + - + * - + - What data are to be preserved for the long-term, and what data will not be stored? + - dataset/preservation_statement + - + * - + - How and where will the data be stored and backed up during the research? + - host/url, host/storage_type, host/availability, host/backup_type, host/backup_frequency + - + * - + - How and where will the data be stored after the project ends? + - distribution/access_url, distribution/host/* + - + * - + - For how long will the data be stored? + - distribution/available_until + - + * - + - Are there any costs that need to be covered for storage? + - dmp/cost/* + - + * - + - At what point during or after the project will the data be stored? + - license/start_date + - + + * - + - Are there any technical barriers to making the research data fully or partially accessible? + - distribution/data_access, dataset/technical_resource + - + * - II Legal andEthical Aspects + - Are there any legal barriers to making the research data fully or partially accessible? + - + - + * - + - Who owns the data? + - license/license_ref + - + * - + - What licence for reuse are you planning to attach to the data? + - license/license_ref + - + * - + - Are there any restrictions on the re-use of the data? If so, why? + - license/license_ref + - + * - + - Are there any ethical barriers to making the research data fully or partially accessible? + - dmp/ethical_issues_exist, dmp/ethical_issues_description dmp/ethical_issues_report + - + * - + - If applicable, how are you planning to deal with sensitive data during and after the project? + - dataset/security_and_privacy/* + - \ No newline at end of file diff --git a/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst b/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst index acbfc31..59821a0 100644 --- a/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst +++ b/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst @@ -1,2 +1,3 @@ LifeWatch maDMP mapping/template -======================================= \ No newline at end of file +======================================= + diff --git a/docs/commons/dmp/mappings/index.rst b/docs/commons/dmp/mappings/index.rst index 1d5f5ad..abb2ec7 100644 --- a/docs/commons/dmp/mappings/index.rst +++ b/docs/commons/dmp/mappings/index.rst @@ -7,7 +7,7 @@ maDMP mappings :maxdepth: 1 :titlesonly: - OScience Europe maDMP mapping + Science Europe maDMP mapping Austrian FWF – maDMP mapping LifeWatch maDMP mapping/template SOCIB/Coastal marine maDMP mapping/template From 2380228c51421083fdee850eea254d2120fcc27d Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 10 Nov 2025 13:57:48 +0100 Subject: [PATCH 003/101] docs: mapping for fwf DMP template --- ...Austrian-FWF\342\200\223maDMP-mapping.rst" | 310 ++++++++++++++---- 1 file changed, 238 insertions(+), 72 deletions(-) diff --git "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" index 075dac1..1e7cf3d 100644 --- "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" +++ "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" @@ -1,121 +1,287 @@ Austrian FWF – maDMP mapping =============================================== +We performed a mapping for each section using te Evaluation Rubric of the FWF template. +Section: I General Information +--------------------------------- -.. list-table:: Mapping Table FWF Template +.. list-table:: Subsection: I.1 Administrative information + :class: small-table :header-rows: 1 - * - Template Section - - FWF DMP template questions - - Corresponding maDMP fields in DCS - - Corresponding maDMP fields in OSTrails AP - * - 0 Data Officier - - Who is responsible for the data management and the DMP of the project (name/email address)? - - dmp/contact/*, dmp/contributor/* - - - * - I Data Characteristics - - What kinds of data/source code will be generated or reused (type, format, volume)? - - dataset/type, distribution/format, distribution/byte_size + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Provide information such as name of principal investigator, FWF project number, and version of DMP + - Contains the minimal information required to identify the principal investigator and the references of the project as well as the version of the DMP. + - dmp/contact/name, + dmp/project/number, + dmp/project/description, + dmp/project/funding/funder_id, + dmp/project/funding/grant_id, + - + +.. list-table:: Subsection: I.2 Data management responsibilities and resources + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Who (for example, role, position, and institution) will be responsible for data management? + - Clearly outlines the roles and responsibilities for data management, naming responsible individual(s) and clearly indicates who is responsible for day-to-day implementation and adjustments to the DMP. + - contributor/contributor_id, + contributor/role, + contributor/affiliation, + contributor/name, + - + * - What resources will be dedicated to data management and ensuring that data will be FAIR (Findable, Accessible, Interoperable, Re-usable)? + - Provides clear estimates of the resources and costs (for example, staff time and repository charges) that will be dedicated to data management and ensuring that data will be FAIR and describes how these costs will be covered. Alternatively, there is a statement that no additional resources are needed. + - cost/description, + cost/value, + cost/title, - - * - - - How will the research datasets be generated and which methods will be used? + +Section: II Data Characteristics +--------------------------------- + +.. list-table:: Subsection: II.1 Data description and collection or re-use of existing data + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - How will new data be collected or produced and/or how will existing data be re-used? + - Gives clear details of where the existing data come from and how new data will be collected or produced. It clearly explains methods and software used. - - dataset/methodology + * - What data (types, formats, and, volumes) will be collected or produced? + - Explains, if existing data are re-used, how these data will be accessed and any constraints on their re-use. + - dataset/is_reused, + dataset/distribution + /data_access, + - * - - - How will you structure the data and handle versioning? - - host/support_versioning + - Clearly describes or lists what data types will be generated (for example, numeric, textual, audio, or video) and their associated data formats. + - dataset/type , + dataset/distribution + /format - * - - - Who is the target audience? - - + - Explains why certain formats have been chosen and indicates if they are in open and standard format. If a proprietary format is used, it explains why. + - dataset/distribution + /description, + - dataset/distribution + /format_justification + * - + - Provides information about the estimated data volume. + - dataset/distribution/byte_size - - * - II Documentation and Metadata - - What metadata standards (if any) will be in use and why? (see Digital Curation Centre) - - dataset/metadata/* + + +Section: III Documentation and Data Quality +------------------------------------------------ + +.. list-table:: Subsection: III.1 Metadata and documentation + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - What metadata and documentation (for example, the methodology of data collection and way of organising the data) will accompany the data? + - Clearly outlines the metadata that will accompany the data, with reference to good practice in the community (for example, uses metadata standards where they exist). + - datset/metadata - * - - - What information is needed for the data to be findable, accessible, interoperable and re-usable (FAIR) in the future? - - dataset/dataset_id, distribution/data_access, distribu-tion/access_url, dataset/metadata/*, distribution/license/* + - Indicates how the data will be organised during the project (for example, naming conventions, version control strategy, and folder structures). + - dataset/metadata + dataset/data_quality_assurance - * - - - Is the data machine-readable? - - + - Clearly outlines the documentation needed to enable data re-use, stating where the information will be recorded (for example, a database with links to each item, a ‘readme’ text file, code books, or lab notebooks). - - * - - - How are you planning to document this information? + - dataset/methodology + +.. list-table:: Subsection: III.2 Data quality control + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - What data quality control measures will be used? + - Clearly describes the approach taken to ensure and document quality control in the collection of data during the lifetime of the project. - + - dataset/methodology + +Section: IV Data Storage, Sharing, and Long-Term Preservation +-------------------------------------------------------------------- + +.. list-table:: Subsection: IV.1 Data storage and backup during the research process + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - How will the data and metadata be stored and backed up during the research process? + - The location where the data and backups will be stored during the research activities. + - dataset/distribution + /host/url - * - - - What quality assurance processes will you adopt? - - dataset/data_quality_assurance + - How often backups will be performed. + - dataset/distribution + /host/backup_type - * - - - How will the consistency and quality of data collection be controlled and documented? (This may include processes such as repeat samples or measurements, standardised data capture, peer review of data or representation with controlled vocabularies.) + - The use of robust, managed storage with automatic backup (for example, storage provided by the home institution). + - dataset/distribution + /host/backup_frequency, + dataset/distribution + /host/backup_type - - - dataset/methodology * - - - How and when will the data be shared and made accessible? - - distribution/*, distribution/host, license/start_date + - Explains why institutional storage will not be used (and for what part of the data) and describes the (additional) locations, storage media, and procedures that will be used for storing and backing up data during the project. + - dataset/distribution + /host/description, + dataset/distributions + /host/url , + dataset/distribution + /access_url - - * - - - What repository will you be using? - - host/url + * - How will data security and protection of sensitive data be taken care of during the research? + - How the data will be recovered in the event of a technical incident. + - dataset/distribution + /host/title, + dataset/distribution + /host/description, + - dataset/distribution + /host/recovery_plan + +.. list-table:: Subsection: IV.2 Data sharing and long-term preservation + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - How and when will the data be shared? Are there restrictions to data sharing or embargo reasons? + - Clearly describes how and when the data will be made discoverable and shared. + - dataset/distroibution/*, + dataset/distributions/host/*, + dataset/distribution + /license/start_date, + dataset/issued - - * - III Data Availability and Storage - - What persistent identifier will be used? - - dataset/dataset_id, host/pid_system + * - In which repository will the data be archived and made available for re-use? What persistent identifier (e.g., DOI) and which usage licence (e.g., CC BY) will be used? + - Specifies a repository for data re-use and explains which persistent identifiers (PIDs) are provided for the data and under which licence the data will be made available. (see FWF Open Access Policy for Research Data). + - dataset/distribution + /host/url, + dataset/distribution + /licenselicense_ref - * - - - What data are to be preserved for the long-term, and what data will not be stored? - - dataset/preservation_statement + - Clearly explains, if applicable, why data sharing is limited or not possible, and who can access the data under which conditions (for example, only members of certain communities or via a sharing agreement). + - dataset/security_and _privacy, + dataset/personal_data, + dataset/sensitive_data - * - - - How and where will the data be stored and backed up during the research? - - host/url, host/storage_type, host/availability, host/backup_type, host/backup_frequency + - Explains what actions will be taken to overcome or to minimise data sharing restrictions. + - dataset/distribution + /license/start_date - + * - What methods and software tools are needed to access and use the data? + - Clearly indicates which specific tools or software (for example, specific scripts, codes, or algorithms developed during the project, version of the software) potential users may need to access, interpret, and (re-) use the data. + - dataset/technical_resouce/* + - * - - - How and where will the data be stored after the project ends? - - distribution/access_url, distribution/host/* + - Provides details on how the data, accompanying documentation, and any other required technology such as copies of software in specific versions will be archived in the long term. + - dataset/distribution/host/url - + * - How will data for preservation be selected, and where will the data be preserved long-term? + - Provides details of which (versions of) data and accompanying documentation will be retained or destroyed, and explains the rationale (for example, contractual, legal requirements, or regulatory purposes). + - dataset/preservation_statement + - dmp/related_policy * - - - For how long will the data be stored? - - distribution/available_until + - Provides details of what data collected or created in the project will be preserved in the long term and clearly indicates for how long. This should be in alignment with institutional, or national policies and/or legislation, or community standards. + - dataset/preservation_statement, + dataset/distribution + /license/start_date, + dataset/data_quality_assurance - - * - - - Are there any costs that need to be covered for storage? - - dmp/cost/* + + + +Section: V Legal and Ethical Aspects +-------------------------------------------------------------------- + +.. list-table:: Subsection: V.1 Legal aspects + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - How will legal issues, such as intellectual property rights and ownership, be managed? What legislation is applicable? + - Clearly explains who will have the rights to control access to the data. + - dataset/creator/*, + dataset/distribution + /license/license_ref, + dataset/data_quality_assurance - * - - - At what point during or after the project will the data be stored? - - license/start_date + - Explains for multi-partner projects and multiple data owners how these matters are addressed in the consortium agreement. + - dataset/distribution + /license/license_ref, + dataset/data_quality_assurance - - * - - - Are there any technical barriers to making the research data fully or partially accessible? - - distribution/data_access, dataset/technical_resource - - - * - II Legal andEthical Aspects - - Are there any legal barriers to making the research data fully or partially accessible? + - Clearly explains, if applicable, how intellectual property rights will be managed. - - - + - dataset/distribution + /property_rights_explanation * - - - Who owns the data? - - license/license_ref + - Indicates, if applicable, whether there are any restrictions on the re-use of third-party data. - - * - - - What licence for reuse are you planning to attach to the data? - - license/license_ref + - dataset/distribution + /restriction_explanation + * - If personal data are processed, how will compliance with legislation on personal data and on security be ensured? + - Clearly indicates if personal data will be collected/used as part of the project, and, if applicable, how compliance with applicable legislation will be ensured (for example, by gaining informed consent, considering encryption, anonymisation, or pseudonymisation). + - dataset/personal_data - - * - - - Are there any restrictions on the re-use of the data? If so, why? - - license/license_ref + +.. list-table:: Subsection: V.2 Ethical aspects + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - What ethical issues and codes of conduct are there, and how will they be taken into account? + - Provides details of what ethical issues have been considered that may affect data storage, sharing, and/or preservation, and demonstrates that adequate measures are in place to manage ethical requirements. + - dataset/security_and_privacy - * - - - Are there any ethical barriers to making the research data fully or partially accessible? - - dmp/ethical_issues_exist, dmp/ethical_issues_description dmp/ethical_issues_report + - Mentions, if applicable, whether ethical review is being pursued. If ethical approval has been obtained, refers to the relevant committee and documents. + - ethical_issues_exist, + ethical_issues_report, + ethical_issues_description - * - - - If applicable, how are you planning to deal with sensitive data during and after the project? - - dataset/security_and_privacy/* - - \ No newline at end of file + - Refers to relevant ethical guidelines and/or codes of conduct or alternatively provides a clear statement that explains why ethical issues have not been considered. + - + -dmp/related_policy \ No newline at end of file From 67a99eacf8e146537900da761f77daf2516cad7b Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Tue, 11 Nov 2025 15:28:17 +0100 Subject: [PATCH 004/101] docs: add mapping SC --- .../mappings/Science-Europe-maDMP-mapping.rst | 392 +++++++++++++++++- 1 file changed, 391 insertions(+), 1 deletion(-) diff --git a/docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst b/docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst index 46aa44f..dda9f90 100644 --- a/docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst +++ b/docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst @@ -1,2 +1,392 @@ Science Europe maDMP mapping -======================================= \ No newline at end of file +======================================= + +We performed a mapping for each section using te Evaluation Rubric of the Science Europe template. + +Section: GENERAL INFORMATION +--------------------------------- + +.. list-table:: Subsection: Administrative information + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Provide information such as name of applicant, project number (if applicable), funding programme, version of DMP. + - This section contains the minimal information required to identify the applicant and the references of the project. + - dmp/contact/name, + dmp/project/number, + dmp/project/description, + dmp/project/funding/funder_id, + dmp/project/funding/grant_id + - + +Section: 1 DATA DESCRIPTION AND COLLECTION OR RE-USE OF EXISTING DATA +------------------------------------------------------------------------- + +.. list-table:: Subsection: 1a How will new data be collected or produced and/or how will existing data be re-used? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain which methodologies or software will be used if new data are collected or produced. + - Gives clear details of where the existing data come from and how new data will be collected or produced. It clearly explains methods and software used. + - + - dataset/methodology + * - State any constraints on re-use of existing data if there are any. + - Explains, if existing data are re-used, how these data will be accessed and any constraints on their re-use. + - ditribution/data_access, + dmp/ethical_issues_exist, + dataset/is_reused, + dataset/security_and_privacy + - dataset/is_reused, + distribution/restriction_explanation + * - Explain how data provenance will be documented. + - Explains clearly, if applicable, why new data must be collected, rather than re-using existing data. + - dataset/data_quality_assurance + - + * - Briefly state the reasons if the re-use of any existing data sources has been considered but discarded. + - Explains clearly, if applicable, why new data must be collected, rather than re-using existing data. + - + - dataset/methodology + +.. list-table:: Subsection: 1b What data (for example the kind, formats, and volumes), will be collected or produced? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Give details on the kind of data: for example, numeric (databases, spreadsheets), textual (documents), image, audio, video, and/or mixed media. + - Clearly describes or lists what data types will be generated (for example numeric, textual, audio, or video) and their associated data formats, including, if needed, data conversion strategies. + - dataset/type, + dataset/description + - + * - Give details on the data format: the way in which the data is encoded for storage, often reflected by the filename extension (for example pdf, xls, doc, txt, or rdf). + - Explains why certain formats have been chosen and indicates if they are in open and standard format. If a proprietary format is used, it explains why + - dataset/format + distribution/format + - + * - Justify the use of certain formats. For example, decisions may be based on staff expertise within the host organisation, a preference for open formats, standards accepted by data repositories, widespread usage within the research community, or on the software or equipment that will be used. + - Explains why certain formats have been chosen and indicates if they are in open and standard format. If a proprietary format is used, it explains why + - distribution/description + - distribution/format_justification + * - Give preference to open and standard formats as they facilitate sharing and long-term re-use of data (several repositories provide lists of such ‘preferred formats’). + - Explains why certain formats have been chosen and indicates if they are in open and standard format. If a proprietary format is used, it explains why + - distribution/format + - + * - Give details on the volumes (they can be expressed in storage space required (bytes), and/or in numbers of objects, files, rows, and columns). + - Provides information about the estimated data volume. + - distribution/byte_size + - + + +Section: 2 DOCUMENTATION AND DATA QUALITY +---------------------------------------------- + +.. list-table:: Subsection: 2a What metadata and documentation (for example the methodology of data collection and way of organising data) will accompany the data? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Indicate which metadata will be provided to help others identify and discover the data. + - Clearly outlines the metadata that will accompany the data, with reference to good practice in the community (for example uses metadata standards where they exist). + - dataset/metadata + - + * - Indicate which metadata standards (for example DDI, TEI, EML, MARC, CMDI) will be used. + - Clearly outlines the documentation needed to enable data re-use, stating where the information will be recorded (for example a database with links to each item, a ‘readme’ text file, file headers, code books, or lab notebooks). + - dataset/metadata + - + * - Use community metadata standards where these are in place. + - + - dataset/metadata + - + * - Indicate how the data will be organised during the project mentioning, for example, conventions, version control, and folder structures. Consistent, well-ordered research data will be easier to find, understand, and reuse. + - Indicates how the data will be organised during the project (for example naming conventions, version control strategy and folder structures). + - dataset/metadata, + dataset/keyword, + dataset/data_quality_assurance + - + * - Consider what other documentation is needed to enable re-use. This may include information on the methodology used to collect the data, analytical and procedural information, definitions of variables, units of measurement, and so on. + - + - + - dataset/methodology + * - Consider how this information will be captured and where it will be recorded (for example in a database with links to each item, a ’readme’ text file, file headers, code books, or lab notebooks). + - + - + - dataset/metadata/description, + distribution/host/* + +.. list-table:: Subsection: 2b What data quality control measures will be used? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain how the consistency and quality of data collection will be controlled and documented. This may include processes such as calibration, repeated samples or measurements, standardised data capture, data entry validation, peer review of data, or representation with controlled vocabularies. + - Clearly describes the approach taken to ensure and document quality control in the collection of data during the lifetime of the project. + - dataset/data_quality_assurance + - + + +Section: 3 STORAGE AND BACKUP DURING THE RESEARCH PROCESS +-------------------------------------------------------------- + +.. list-table:: Subsection: 3a How will data and metadata be stored and backed up during the research? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Describe where the data will be stored and backed up during research activities and how often the backup will be performed. It is recommended to store data in least at two separate locations. + - Clearly (even if briefly) describes: + the location where the data and backups will be stored during the research activities. + how often backups will be performed. + the use of robust, managed storage with automatic backup (for example storage provided by the home institution). + - host/backup_type + host/backup_frequency + - + * - Give preference to the use of robust, managed storage with automatic backup, such as provided by IT support services of the home institution. Storing data on laptops, stand-alone hard drives, or external storage devices such as USB sticks is not recommended. + - Explains why institutional storage will not be used (and for what part of the data) and describes the (additional) locations, storage media, and procedures that will be used for storing and backing up data during the project. + - dataset/distribution/host/* + - + + +.. list-table:: Subsection: 3b How will data security and protection of sensitive data be taken care of during the research? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain how the data will be recovered in the event of an incident. + - Clearly explains + how the data will be recovered in the event of an incident. + - + - host/description + host/data_recovery_explanation + * - Explain who will have access to the data during the research and how access to data is controlled, especially in collaborative partnerships. + - Clearly explains + Who will have access to the data during the research. + - distribution/data_access + distribution/licence + - distribution/restriction_explanation + * - Consider data protection, particularly if your data is sensitive (for example containing personal data, politically sensitive information, or trade secrets). Describe the main risks and how these will be managed. + - which institutional and/or national data protection policies are in place and provides a link to where they can be accessed. + - dataset/security_and_privacy + dataset/distribution/host/licence + - distribution/restriction_explanation + dmp/related_policies + * - Explain which institutional data protection policies are in place. + - Clearly describes the additional security measures (in terms of physical security, network security, and security of computer systems and files) that will be taken to ensure that stored and transferred data are safe, when sensitive data are involved (for example personal data, politically sensitive information, or trade secrets). + - dataset/security_and_privacy + dataset/distribution/host/licence + - distribution/restriction_explanation + dmp/related_policies + + + + +Section: 4 LEGAL AND ETHICAL REQUIREMENTS, CODES OF CONDUCT +-------------------------------------------------------------------- + +.. list-table:: Subsection: 4a If personal data are processed, how will compliance with legislation on personal data and security be ensured? + + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Ensure that when dealing with personal data, data protection laws (for example GDPR) are complied with: Gain informed consent for preservation and/or sharing of personal data. + - Clearly indicates if personal data will be collected/used as part of the project, and, if applicable, how compliance with applicable legislation will be ensured (for example by gaining informed consent, considering encryption, anonymisation, or pseudonymisation). + - dataset/security_and_privacy + - distribution/property_rights_explanation + +.. list-table:: Subsection: 4b How will other legal issues, such as intellectual property rights and ownership, be managed? What legislation is applicable? + + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain who will be the owner of the data, meaning who will have the rights to control access: + - + - contributor/role + - + * - Indicate whether intellectual property rights (for example Database Directive, sui generis rights) are affected. If so, explain which and how will they be dealt with. + - + - + - distribution/property_rights_explanation + * - Indicate whether there are any restrictions on the re-use of third-party data. + - + - distribution/data_access + distribution/licence + - distribution/restriction_explanation + + +.. list-table:: Subsection: 4c What ethical issues and codes of conduct are there, and how will they be taken into account? + + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Consider whether ethical issues can affect how data are stored and transferred, who can see or use them, and how long they are kept. Demonstrate awareness of these aspects and respective planning. + - Provides details of what ethical issues have been considered that may affect data storage, transfer, use, sharing and/or preservation, and demonstrates that adequate measures are in place to manage ethical requirements. + - dmp/ethical_issues_exist + dmp/ethical_issues_description + dmp/ethical_issues_report + - + * - Follow the national and international codes of conducts and institutional ethical guidelines, and check if ethical review (for example by an ethics committee) is required for data collection in the research project. + - Refers to relevant ethical guidelines and/or codes of conduct or alternatively provides a clear statement that explains why ethical issues have not been considered. + - dmp/ethical_issues_exist + dmp/ethical_issues_description + dmp/ethical_issues_report + - + +Section: 5 DATA SHARING AND LONG-TERM PRESERVATION +-------------------------------------------------------------------- + +.. list-table:: Subsection: 5a How and when will data be shared? Are there possible restrictions to data sharing or embargo reasons? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain how the data will be discoverable and shared (for example by deposit in a trustworthy data repository, indexed in a catalogue, use of a secure data service, direct handling of data requests, or use of another mechanism). + - Clearly describes how the data and/or metadata will be made discoverable and shared. + - host/titl + host/url + distribution/description + distribution/data_access + - + +.. list-table:: Subsection: 5b How will data for preservation be selected, and where data will be preserved longterm (for example a data repository or archive)? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Indicate what data must be retained or destroyed for contractual, legal, or regulatory purposes. + - Provides details of what data collected or created in the project will be preserved in the long term and clearly indicates for how long. This should be in alignment with funder, institutional, or national policies and/or legislation, or community standards. + - dataset/preservation_statement + - dmp/related_policies + * - Indicate how it will be decided what data to keep. Describe the data to be preserved long-term. + - Provides details of which (versions of) data and accompanying documentation will be retained or destroyed, and explains the rationale (for example contractual, legal requirements, or regulatory purposes). + - dataset/preservation_statement + - + * - Explain the foreseeable research uses (and/ or users) for the data. + - Provides details of how the selection is made, and what possible interest there would be for re-use (or not). + - dataset/descriptions + - + * - Indicate where the data will be deposited. If no established repository is proposed, demonstrate in the data management plan that the data can be curated effectively beyond the lifetime of the grant. It is recommended to demonstrate that the repositories policies and procedures (including any metadata standards, and costs involved) have been checked. + - Provides details on how the data, accompanying documentation, and any other required technology such as copies of software in specific versions will be archived in the long term. + - dmp/cost + dataset/preservation_statement + - + + +.. list-table:: Subsection: 5c What methods or software tools are needed to access and use data? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Indicate whether potential users need specific tools to access and (re-)use the data. Consider the sustainability of software needed for accessing the data. + - Clearly indicates which specific tools or software (for example specific scripts, codes, or algorithms developed during the project, version of the software) potential users may need to access, interpret, and (re-)use the data. + - dataset/technical_resource + - dataset/methodology + * - Indicate whether data will be shared via a repository requests handled directly, or whether another mechanism will be used? + - Provides information, if relevant, on any protocol to access the data (for example if authentication is needed or if there is a data access request procedure). + - dataset/dataset_id + - + +.. list-table:: Subsection: 5d How will the application of a unique and persistent identifier (such as a Digital Object Identifier (DOI)) to each data set be ensured? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain how the data might be re-used in other contexts. Persistent identifiers (PIDs) should be applied so that data can be reliably and efficiently located and referred to. Persistent identifiers also help to track citations and re-use + - Specifies how the data can be re-used in other contexts. + Clearly indicates if and which persistent identifiers (PIDs) are provided for all datasets, individual datasets, data collections, or subsets. If PIDs will not be used, it explains why. + - dataset/dataset_id + - dataset/methodology + +Section: 6 DATA MANAGEMENT RESPONSIBILITIES AND RESOURCES +-------------------------------------------------------------------- + +.. list-table:: Subsection: 6a Who (for example role, position, and institution) will be responsible for data management (i.e. the data steward)? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Outline the roles and responsibilities for data management/ stewardship activities for example data capture, metadata production, data quality, storage and backup, data archiving, and data sharing. Name responsible individual(s) where possible. + - Clearly outlines the roles and responsibilities for data management/stewardship (for example data capture, metadata production, data quality, storage and backup, data archiving, and data sharing), naming responsible individual(s) where possible. + - contributor/role + - + * - For collaborative projects, explain the co-ordination of data management responsibilities across partners + - Clearly indicates who is responsible for day-to-day implementation and adjustments to the DMP. + - contributor/role + - + * - Indicate who is responsible for implementing the DMP, and for ensuring it is reviewed and, if necessary, revised. + - Explains, for collaborative projects, the co-ordination of data management responsibilities across partners. + - contributor/role + - + * - Indicate who is responsible for implementing the DMP, and for ensuring it is reviewed and, if necessary, revised. + - + - dmp/modified + - + +.. list-table:: Subsection: 6b What resources (for example financial and time) will be dedicated to data management and ensuring that data will be FAIR (Findable, Accessible, Interoperable, Reusable)? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain how the necessary resources (for example time) to prepare the data for sharing/preservation (data curation) have been costed in. + - + - dmp/cost + - dataset/methodology + * - Carefully consider and justify any resources needed to deliver the data. These may include storage costs, hardware, staff time, costs of preparing data for deposit, and repository charges. + - + - dmp/cost + - + * - Indicate whether additional resources will be needed to prepare data for deposit or to meet any charges from data repositories. If yes, explain how much is needed and how such costs will be covered + - + - dmp/cost + dataset/technical_resource + - \ No newline at end of file From f3b25add343bef98410ad95d5903856e01a64d9e Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Wed, 12 Nov 2025 10:27:31 +0100 Subject: [PATCH 005/101] =?UTF-8?q?Update=20Austrian-FWF=E2=80=93maDMP-map?= =?UTF-8?q?ping.rst?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit docs: testing modifications in the interface --- .../dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" index 1e7cf3d..762ba31 100644 --- "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" +++ "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" @@ -1,4 +1,4 @@ -Austrian FWF – maDMP mapping +Austrian FWF – maDMP mapping Testing =============================================== We performed a mapping for each section using te Evaluation Rubric of the FWF template. @@ -284,4 +284,4 @@ Section: V Legal and Ethical Aspects * - - Refers to relevant ethical guidelines and/or codes of conduct or alternatively provides a clear statement that explains why ethical issues have not been considered. - - -dmp/related_policy \ No newline at end of file + -dmp/related_policy From f3e97d7490ead017320b1658f74f142c40410b6c Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Wed, 12 Nov 2025 10:49:00 +0100 Subject: [PATCH 006/101] =?UTF-8?q?Update=20Austrian-FWF=E2=80=93maDMP-map?= =?UTF-8?q?ping.rst?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit docs: cleaning the mapping --- .../dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" index 762ba31..f32a724 100644 --- "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" +++ "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" @@ -1,4 +1,4 @@ -Austrian FWF – maDMP mapping Testing +Austrian FWF – maDMP mapping =============================================== We performed a mapping for each section using te Evaluation Rubric of the FWF template. From 0026c4cc57f44b5f77f3047e6a0c5444ecc9bf54 Mon Sep 17 00:00:00 2001 From: TomMiksa Date: Wed, 12 Nov 2025 15:23:57 +0100 Subject: [PATCH 007/101] Update API-specification.rst Links to the maDMP API added. --- docs/commons/dmp/API-specification.rst | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst index cc15cf4..b59d74d 100644 --- a/docs/commons/dmp/API-specification.rst +++ b/docs/commons/dmp/API-specification.rst @@ -1,6 +1,13 @@ OSTrails maDMP API Specification ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -maDMP API Specification will build on top of the DSC and OSTrails AP and specify the operations and data exchange. We plan to materialize this in the form of OpenAPI specification (using the current version, currently v3.1.1. Again, this promotes adoption as OpenAPI specification not only documents the API but also provides a way to generate source code or other artifacts (e.g. tests) as well as check compliance. +.. page-authors:: + Tomasz Miksa -- *Planned resource to be developed* \ No newline at end of file +The API is developed jointly with the [Research Data Alliance maDMP API working group](https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps/activity). + +The charter of the group can be found [here](https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps/work-statement). + +The API specification is in this repository - [click](https://github.com/RDA-DMP-Common/common-madmp-api). + +The OpenAPI documentation can be accessed directly [here](https://rda-dmp-common.github.io/common-madmp-api/). From 76454d4831f6f3f83dd38344766593dfb1e75ad1 Mon Sep 17 00:00:00 2001 From: TomMiksa Date: Wed, 12 Nov 2025 15:32:11 +0100 Subject: [PATCH 008/101] Update README.md Changed the link for the preview generated for this branch. Change it later to the original link when merging into next. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b88fc8e..bb0ff07 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ## Usage -This repository contains the source files for the OSTrails documentation. The documentation is hosted on Read-the-Docs and can be accessed [here](https://docs.ostrails.eu/en/latest/). +This repository contains the source files for the OSTrails documentation. The documentation is hosted on Read-the-Docs and can be accessed (only for this branch) [here](https://ostrails-docs--20.org.readthedocs.build/en/20/index.html). ## Contributing From 56fcf11721041610d2fc2e92c1aef776e6b389e6 Mon Sep 17 00:00:00 2001 From: TomMiksa Date: Wed, 12 Nov 2025 15:36:04 +0100 Subject: [PATCH 009/101] Update API-specification.rst RST syntax compliance --- docs/commons/dmp/API-specification.rst | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst index b59d74d..24ad0be 100644 --- a/docs/commons/dmp/API-specification.rst +++ b/docs/commons/dmp/API-specification.rst @@ -4,10 +4,18 @@ OSTrails maDMP API Specification .. page-authors:: Tomasz Miksa -The API is developed jointly with the [Research Data Alliance maDMP API working group](https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps/activity). +The API is developed jointly with the `Research Data Alliance maDMP API working group`. -The charter of the group can be found [here](https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps/work-statement). +.. _Research Data Alliance maDMP API working group: https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps/activity -The API specification is in this repository - [click](https://github.com/RDA-DMP-Common/common-madmp-api). +The charter of the group can be found `here`. -The OpenAPI documentation can be accessed directly [here](https://rda-dmp-common.github.io/common-madmp-api/). +.. _here:https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps/work-statement + +The API specification is in this repository - `click`. + +.. _click:https://github.com/RDA-DMP-Common/common-madmp-api + +The OpenAPI documentation can be accessed directly `here`. + +.. _here:https://rda-dmp-common.github.io/common-madmp-api/ From 52717a92c0f4f5d54f291c0f9078625f6f0132ae Mon Sep 17 00:00:00 2001 From: TomMiksa Date: Wed, 12 Nov 2025 15:44:33 +0100 Subject: [PATCH 010/101] Update API-specification.rst --- docs/commons/dmp/API-specification.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst index 24ad0be..99609bd 100644 --- a/docs/commons/dmp/API-specification.rst +++ b/docs/commons/dmp/API-specification.rst @@ -4,18 +4,18 @@ OSTrails maDMP API Specification .. page-authors:: Tomasz Miksa -The API is developed jointly with the `Research Data Alliance maDMP API working group`. +The API is developed jointly with the `Research Data Alliance maDMP API working group`_. .. _Research Data Alliance maDMP API working group: https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps/activity -The charter of the group can be found `here`. +The charter of the group can be found `here`_. .. _here:https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps/work-statement -The API specification is in this repository - `click`. +The API specification is in this repository - `click`_. .. _click:https://github.com/RDA-DMP-Common/common-madmp-api -The OpenAPI documentation can be accessed directly `here`. +The OpenAPI documentation can be accessed directly `here`_. .. _here:https://rda-dmp-common.github.io/common-madmp-api/ From 765bc87ef42580a69f7bf7ed8df7ec5d13fe1672 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Wed, 12 Nov 2025 15:45:35 +0100 Subject: [PATCH 011/101] Update API-specification.rst --- docs/commons/dmp/API-specification.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst index 99609bd..147363b 100644 --- a/docs/commons/dmp/API-specification.rst +++ b/docs/commons/dmp/API-specification.rst @@ -4,9 +4,11 @@ OSTrails maDMP API Specification .. page-authors:: Tomasz Miksa -The API is developed jointly with the `Research Data Alliance maDMP API working group`_. +The API is developed jointly with the `Research Data Alliance maDMP API working group `_. + + + -.. _Research Data Alliance maDMP API working group: https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps/activity The charter of the group can be found `here`_. From 069aa715375c6524afdead076b07eeab7b794d22 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Wed, 12 Nov 2025 15:48:01 +0100 Subject: [PATCH 012/101] Update README.md docs: fixing the preview link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bb0ff07..b31c533 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ## Usage -This repository contains the source files for the OSTrails documentation. The documentation is hosted on Read-the-Docs and can be accessed (only for this branch) [here](https://ostrails-docs--20.org.readthedocs.build/en/20/index.html). +This repository contains the source files for the OSTrails documentation. The documentation is hosted on Read-the-Docs and can be accessed (only for this branch) [here](https://ostrails-docs--22.org.readthedocs.build/en/22/commons/dmp/API-specification.html). ## Contributing From 28728c6ea6b4446ebe4954307e82b25d32fa094c Mon Sep 17 00:00:00 2001 From: TomMiksa Date: Wed, 12 Nov 2025 15:48:22 +0100 Subject: [PATCH 013/101] Update API-specification.rst I love RST! --- docs/commons/dmp/API-specification.rst | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst index 147363b..4ea383c 100644 --- a/docs/commons/dmp/API-specification.rst +++ b/docs/commons/dmp/API-specification.rst @@ -10,14 +10,13 @@ The API is developed jointly with the `Research Data Alliance maDMP API working -The charter of the group can be found `here`_. +The charter of the group can be found `here `_. -.. _here:https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps/work-statement -The API specification is in this repository - `click`_. +The API specification is in this repository - `click `_. -.. _click:https://github.com/RDA-DMP-Common/common-madmp-api -The OpenAPI documentation can be accessed directly `here`_. -.. _here:https://rda-dmp-common.github.io/common-madmp-api/ +The OpenAPI documentation can be accessed directly `here `_. + + From 0611761a81c6ed53ce1ec88bf86060aeca620aff Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Wed, 12 Nov 2025 15:51:59 +0100 Subject: [PATCH 014/101] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b31c533..5d4ba3b 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ## Usage -This repository contains the source files for the OSTrails documentation. The documentation is hosted on Read-the-Docs and can be accessed (only for this branch) [here](https://ostrails-docs--22.org.readthedocs.build/en/22/commons/dmp/API-specification.html). +This repository contains the source files for the OSTrails documentation. The documentation is hosted on Read-the-Docs and can be accessed (only for this branch) [here](https://ostrails-docs--22.org.readthedocs.build/en/22/commons/resources.html). ## Contributing From db1418662b5b977d1f37439e52139f37696a5bd1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Alarc=C3=B3n?= <47357144+pabloalarconm@users.noreply.github.com> Date: Fri, 14 Nov 2025 10:05:48 +0100 Subject: [PATCH 015/101] Updated the FAIR Assessment Authoring Tool documentation Updated the FAIR Assessment Authoring Tool documentation --- .../FAIR/FAIR-Assessment-Authoring-Tool.rst | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 docs/commons/FAIR/FAIR-Assessment-Authoring-Tool.rst diff --git a/docs/commons/FAIR/FAIR-Assessment-Authoring-Tool.rst b/docs/commons/FAIR/FAIR-Assessment-Authoring-Tool.rst new file mode 100644 index 0000000..9c8c341 --- /dev/null +++ b/docs/commons/FAIR/FAIR-Assessment-Authoring-Tool.rst @@ -0,0 +1,109 @@ +FAIR Assessment Authoring Tool +============================== + +A complete framework for **generating, registering, and authoring your FAIR assessment components** across different metadata repositories. + +The different FAIR assessment metadata components: + +* FAIR Benchmark +* FAIR Metric +* FAIR Test +* FAIR Benchmark Algorithm + +Authoring workflow +------------------ + +The FAIR Assessment Authoring Tool integrates **three main steps**: + +1. **FAIR Wizard Knowledge Model** + + A questionnaire-based knowledge model for capturing your metadata fields using machine-actionable questions. + It connects via APIs to various registries, such as `ORCID `_, `ROR `_, and `FAIRsharing `_. + +2. **DSW-TDK-based Template Transformation** + + DSW-TDK templates transform your questionnaire data into different serializations, such as JSON and RDF (Turtle). + +3. **Proxy Submission Service** + + Registers your generated metadata into the appropriate repository or registry, authoring your FAIR metadata automatically. + +Submissions +~~~~~~~~~~~ + +The following table summarises the available submission options: + ++-----------------------+----------------+----------------------------+----------------------------------------------+ +| **Registries** | **Format** | **Submission Method** | **Assessment Components** | ++=======================+================+============================+==============================================+ +| FAIRsharing Record | JSON | FAIRsharing Registry | Benchmarks and Metrics | ++-----------------------+----------------+----------------------------+----------------------------------------------+ +| DCAT Record | RDF (Turtle) | GitHub / FAIR Data Point | Benchmarks, Metrics, Tests, Scoring | +| | | | Algorithms | ++-----------------------+----------------+----------------------------+----------------------------------------------+ +| FDP Test Record | RDF (Turtle) | GitHub / FAIR Data Point | Tests | ++-----------------------+----------------+----------------------------+----------------------------------------------+ + + +Step-by-Step Guide +------------------ + +1. Fill in the Questionnaire +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Go to the dedicated environment for this questionnaire: + https://ostrails-fair.fair-wizard.com/wizard/ +2. Register yourself or log in if you already have access. +3. Navigate to **Projects** and click **Create** to start a new project. + Each project corresponds to one FAIR assessment component. +4. Give your project a **name** and select the **filter** corresponding to the specific type of assessment component you want to create. + +2. Template Your Information +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +1. Populate your metadata using the **machine-actionable questionnaire**. +2. Once all desired fields are completed, click **Documents** in the top menu. +3. Create an instance of your completed questionnaire by selecting the latest version of the **FAIR Assessment Authoring Tool Template**. +4. Choose your preferred **serialization format**: + + * **JSON** – for registration in FAIRsharing + * **Turtle (RDF)** – for generating a DCAT-compliant record + +3. Submit Your Information +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Once your document is generated, you can review it or submit it directly using the tool’s **submission service**. + +1. In the **Documents** section, click the three dots icon (⋯) beside your document. +2. Select **Submit**. + +Depending on your document format: + +* If your record is formatted in **JSON**, the submission will be sent via the FAIRsharing API to be authored at their registry. + + .. note:: + + *Why Use This Tool?* + FAIR assessment components are a specific subtype of records within the FAIRsharing registry. + Using this tool significantly reduces manual curation and accelerates the registration process. + +* If your record is formatted in **Turtle**, the submission will be sent via the GitHub API to be registered in an OSTrails GitHub repository for collecting metadata about these assessment components. + +If your assessment component is a **FAIR Test**, this submission will also register the test in the +`OSTrails FAIR Data Point test index `_. + +References +---------- + +* `DCAT Vocabulary (W3C) `_ +* `FAIR Testing Resource (FTR) `_ +* `DSW-TDK Github template repository `_ +* `Proxy service Github repository `_ +* `Proxy service endpoint `_ +* `FAIRsharing API documentation `_ + +Contact us +---------- + +Any question or issue related to this workflow, please contact: +``pablo.alarcon@upm.es`` From bf271be3bcf00e1c53d7f9b8414fdc6293090331 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Alarc=C3=B3n?= <47357144+pabloalarconm@users.noreply.github.com> Date: Fri, 14 Nov 2025 15:02:58 +0100 Subject: [PATCH 016/101] Add FAIR Assessment Authoring Tool to list --- docs/commons/FAIR/FAIR-commons.rst | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/docs/commons/FAIR/FAIR-commons.rst b/docs/commons/FAIR/FAIR-commons.rst index 822f19a..3a1b7bc 100644 --- a/docs/commons/FAIR/FAIR-commons.rst +++ b/docs/commons/FAIR/FAIR-commons.rst @@ -23,6 +23,5 @@ The following resources in this section are part of the FAIR Commons component. FAIR Champion FOOPS FAIRsharing - - - \ No newline at end of file + FAIR Assessment Authoring Tool + From 49e78d99b121e911940a49578688c201eabff660 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Alarc=C3=B3n?= <47357144+pabloalarconm@users.noreply.github.com> Date: Fri, 14 Nov 2025 15:04:11 +0100 Subject: [PATCH 017/101] Add contributor as an author --- docs/commons/resources.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/commons/resources.rst b/docs/commons/resources.rst index fe38d3e..b665e86 100644 --- a/docs/commons/resources.rst +++ b/docs/commons/resources.rst @@ -5,6 +5,7 @@ OSTrails Commons: Resources Daniel Garijo Marek Suchánek Allyson Lister + Pablo Alarcón-Moreno This page embodies the OSTrails Commons, a collection of reusable resource according to its structure as :ref:`components `. From 72bf30b5d8bb0cd909948274f0874310ef901acc Mon Sep 17 00:00:00 2001 From: wilkos-dans Date: Thu, 27 Nov 2025 16:47:36 +0100 Subject: [PATCH 018/101] Update Guidance-Element-Specification.rst FAIR Guidance Vocabulary contrib. --- .../FAIR/Guidance-Element-Specification.rst | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/commons/FAIR/Guidance-Element-Specification.rst b/docs/commons/FAIR/Guidance-Element-Specification.rst index 5b14031..22230ee 100644 --- a/docs/commons/FAIR/Guidance-Element-Specification.rst +++ b/docs/commons/FAIR/Guidance-Element-Specification.rst @@ -1,2 +1,14 @@ -Guidance Element Specification --------------------------------- \ No newline at end of file +FAIR Guidance Vocabulary Specification (FGV) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The **FAIR Guidance Vocabulary (FGV)** provides a machine-readable ontology that implements the FAIR Guidance Model described in the OSTrails Deliverable D1.3. It formalizes the structure of FAIR-enabling guidance by extending and aligning with standards such as `DCAT `__, `Schema.org `__, and the `Semanticscience Integrated Ontology (SIO) `__. + +**FGV** describes Guidance Entities—including their *typology* (e.g., FAQ, Best Practice), their links to *external resources* (such as webpages, annotations, or API responses), and their conceptual *focus areas* (e.g., How, Why, What). This enables consistent, interoperable, and machine-actionable representation of guidance across systems and services in a FAIR manner. + +The code release provides the ontology, including vocabularies, definitions, and specifications in machine-readable form. + + - **Persistent identifier**: `https://w3id.org/fgv# `__ + - **Code Repository**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/ + - **Latest Release**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/releases/latest + - **Documentation**: https://ostrails.github.io/FAIR-Guidance-Vocabulary/ + - **License**: Creative Commons Attribution 4.0 International `CC-BY 4.0 `__ From 8a385a9b1f8a525c973df228ddf5f894b0ace81e Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 1 Dec 2025 14:54:17 +0100 Subject: [PATCH 019/101] docs: update the structure of the content --- CONTRIBUTING.md | 1 - docs/commons/FAIR/FAIR-commons.rst | 22 +++++-------------- .../FAIR/index_catalogs_registries.rst | 16 ++++++++++++++ docs/commons/FAIR/index_standards.rst | 18 +++++++++++++++ docs/conf.py | 1 + docs/index.rst | 14 +++++++++--- docs/tools/DMP.rst | 8 +++++++ docs/tools/FAIR.rst | 16 ++++++++++++++ .../FAIR-Assessment-Authoring-Tool.rst | 0 .../FAIR_tools}/FAIR-Champion.rst | 0 .../FAIR => tools/FAIR_tools}/FAIRsharing.rst | 0 .../FAIR => tools/FAIR_tools}/FOOPS.rst | 0 12 files changed, 75 insertions(+), 21 deletions(-) create mode 100644 docs/commons/FAIR/index_catalogs_registries.rst create mode 100644 docs/commons/FAIR/index_standards.rst create mode 100644 docs/tools/DMP.rst create mode 100644 docs/tools/FAIR.rst rename docs/{commons/FAIR => tools/FAIR_tools}/FAIR-Assessment-Authoring-Tool.rst (100%) rename docs/{commons/FAIR => tools/FAIR_tools}/FAIR-Champion.rst (100%) rename docs/{commons/FAIR => tools/FAIR_tools}/FAIRsharing.rst (100%) rename docs/{commons/FAIR => tools/FAIR_tools}/FOOPS.rst (100%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5ab1550..2683f65 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,7 +39,6 @@ The code style is captured using [EditorConfig](https://editorconfig.org/), see ### Building the Documentation First, install the required dependencies (preferably in a virtual environment): - to activate the env in windows use the cmd and venv\Scripts\activate.bat ```bash python -m venv venv diff --git a/docs/commons/FAIR/FAIR-commons.rst b/docs/commons/FAIR/FAIR-commons.rst index 3a1b7bc..9944b6c 100644 --- a/docs/commons/FAIR/FAIR-commons.rst +++ b/docs/commons/FAIR/FAIR-commons.rst @@ -5,23 +5,11 @@ The following resources in this section are part of the FAIR Commons component. .. toctree:: - :caption: Commons Resources + :caption: Commons :maxdepth: 1 :titlesonly: - - Assessment Component Application Profile - FAIR Test Results Vocabulary (FTR) - Catalogue of Metrics - Catalogue of Benchmarks - Catalogue of Tests - Catalogue of Benchmark Acoring Algorithms - Assessment Recommended API - Core Assessment Profile - Guidance Element Specification - Thematic/DO-Specific Guidance Elements - LifeWatch FAIR Assessment Profile and Guidance - FAIR Champion - FOOPS - FAIRsharing - FAIR Assessment Authoring Tool + + Standards + Catalogs and Registries + diff --git a/docs/commons/FAIR/index_catalogs_registries.rst b/docs/commons/FAIR/index_catalogs_registries.rst new file mode 100644 index 0000000..1c84cde --- /dev/null +++ b/docs/commons/FAIR/index_catalogs_registries.rst @@ -0,0 +1,16 @@ +FAIR Catalog and Registry +-------------------------- + +The following resources in this section are part of the FAIR Commons component. + +.. toctree:: + :caption: Catalogs and Registries + :maxdepth: 2 + :titlesonly: + + Assessment Component Application Profile + FAIR Test Results Vocabulary (FTR) + Assessment Recommended API + LifeWatch FAIR Assessment Profile and Guidance + Thematic/DO-Specific Guidance Elements + diff --git a/docs/commons/FAIR/index_standards.rst b/docs/commons/FAIR/index_standards.rst new file mode 100644 index 0000000..82622b7 --- /dev/null +++ b/docs/commons/FAIR/index_standards.rst @@ -0,0 +1,18 @@ +FAIR Standards +---------------- +The following resources in this section are part of the FAIR Commons component. + + +.. toctree:: + :caption: Standards + :maxdepth: 1 + :titlesonly: + + Catalogue of Metrics + Catalogue of Benchmarks + Catalogue of Tests + Catalogue of Benchmark Acoring Algorithms + Core Assessment Profile + Guidance Element Specification + + \ No newline at end of file diff --git a/docs/conf.py b/docs/conf.py index 22b6083..e6fa529 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,6 +14,7 @@ project = 'OSTrails' release = '0.1.0' +master_doc = 'index' # -- General configuration --------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration diff --git a/docs/index.rst b/docs/index.rst index e5e6e4e..86e3f01 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -13,7 +13,7 @@ Documentation Structure The documentation is structured as follows: .. toctree:: - :maxdepth: 2 + :maxdepth: 4 :caption: Architecture Introduction @@ -23,19 +23,27 @@ The documentation is structured as follows: .. toctree:: - :maxdepth: 2 + :maxdepth: 4 :caption: Commons Introduction Governance Resources +.. toctree:: + :maxdepth: 4 + :caption: Tools + + FAIR Tools + DMP Tools .. toctree:: - :maxdepth: 2 + :maxdepth: 4 :caption: Other other/vocabulary other/contributing other/resources other/contributors + + diff --git a/docs/tools/DMP.rst b/docs/tools/DMP.rst new file mode 100644 index 0000000..084905f --- /dev/null +++ b/docs/tools/DMP.rst @@ -0,0 +1,8 @@ +OSTrails DMP Tools +=================== + + + + + +The following resources in this section are part of the DMP Tools. diff --git a/docs/tools/FAIR.rst b/docs/tools/FAIR.rst new file mode 100644 index 0000000..0831f83 --- /dev/null +++ b/docs/tools/FAIR.rst @@ -0,0 +1,16 @@ +OSTrails FAIR Tools +==================== + + +The following resources in this section are part of the FAIR Tools component. + +.. toctree:: + :caption: Tools + :maxdepth: 1 + :titlesonly: + + + FAIR Champion + FOOPS + FAIRsharing + FAIR Assessment Authoring Tool \ No newline at end of file diff --git a/docs/commons/FAIR/FAIR-Assessment-Authoring-Tool.rst b/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst similarity index 100% rename from docs/commons/FAIR/FAIR-Assessment-Authoring-Tool.rst rename to docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst diff --git a/docs/commons/FAIR/FAIR-Champion.rst b/docs/tools/FAIR_tools/FAIR-Champion.rst similarity index 100% rename from docs/commons/FAIR/FAIR-Champion.rst rename to docs/tools/FAIR_tools/FAIR-Champion.rst diff --git a/docs/commons/FAIR/FAIRsharing.rst b/docs/tools/FAIR_tools/FAIRsharing.rst similarity index 100% rename from docs/commons/FAIR/FAIRsharing.rst rename to docs/tools/FAIR_tools/FAIRsharing.rst diff --git a/docs/commons/FAIR/FOOPS.rst b/docs/tools/FAIR_tools/FOOPS.rst similarity index 100% rename from docs/commons/FAIR/FOOPS.rst rename to docs/tools/FAIR_tools/FOOPS.rst From 9421400a8c02c688eda8767e320ecc22cd3e364b Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 1 Dec 2025 15:26:33 +0100 Subject: [PATCH 020/101] doc: update docs --- docs/{tools/FAIR_tools => commons/FAIR}/FAIRsharing.rst | 0 docs/commons/FAIR/index_standards.rst | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename docs/{tools/FAIR_tools => commons/FAIR}/FAIRsharing.rst (100%) diff --git a/docs/tools/FAIR_tools/FAIRsharing.rst b/docs/commons/FAIR/FAIRsharing.rst similarity index 100% rename from docs/tools/FAIR_tools/FAIRsharing.rst rename to docs/commons/FAIR/FAIRsharing.rst diff --git a/docs/commons/FAIR/index_standards.rst b/docs/commons/FAIR/index_standards.rst index 82622b7..4a4d4c1 100644 --- a/docs/commons/FAIR/index_standards.rst +++ b/docs/commons/FAIR/index_standards.rst @@ -14,5 +14,5 @@ The following resources in this section are part of the FAIR Commons component. Catalogue of Benchmark Acoring Algorithms Core Assessment Profile Guidance Element Specification - + FAIrSharing \ No newline at end of file From 61abdd5f04446b28cdb4af452ca6a793903cf2ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Alarc=C3=B3n?= <47357144+pabloalarconm@users.noreply.github.com> Date: Tue, 2 Dec 2025 17:10:52 +0100 Subject: [PATCH 021/101] Updating FTR documentation Updated the FAIR Testing Resource Vocabulary (FTR) documentation to provide a clearer definition and detailed descriptions of assessment components. --- .../FAIR/FAIR-Test-Results-Vocabulary-FTR.rst | 86 +++++++++++++++++-- 1 file changed, 77 insertions(+), 9 deletions(-) diff --git a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst index 855a927..244b52f 100644 --- a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst +++ b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst @@ -1,12 +1,80 @@ -FAIR Assessment specifications and SHACL shapes (FTR) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +FAIR Testing Resource Vocabulary (FTR) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -FTR is the first OWL implementation of the FAIR Reference model described in Deliverables D1.2 and D.1.4. The reference model extends W3C standards such as DCAT (https://www.w3.org/TR/vocab-dcat-3/), DQV (https://www.w3.org/TR/vocab-dqv/) and PROV (https://www.w3.org/TR/prov-o/) to describe test results, test definitions, metrics, benchmarks, algorithms, dimensions/principles and their interpretation to generate a FAIR assessment score. +Definition +---------- -The code release includes the vocabularies, definitions, specifications in machine-readable format and a set of SHACL validation rules to ensure tests and metrics are defined according to the specification. +The FAIR Testing Resource Vocabulary (FTR) is an ontology created to +describe the results of FAIR Assessment in a consistent, +machine-readable way. Its purpose is to help different FAIR assessment +tools communicate the same language for transparency and reusability. -- Persistent identifier: https://w3id.org/ftr/1.0.0 -- Code Repository: https://github.com/OSTrails/FAIR_assessment_output_specification/ -- Version: 1.0.0 -- Release (in GitHub): https://github.com/OSTrails/FAIR_assessment_output_specification/releases/tag/v1.0.0 -- License: CC-BY 4.0 \ No newline at end of file +FTR is the **application profile** of the assessment components, +acting as a reference model that extends W3C standards such as +`DCAT `_, +`DQV `_, +`PROV `_, +and others to describe the different assessment components, such as: + +- **Test**: Service, formed by an API and associated piece of code + that implements a Metric, and is executed (by a FAIR assessment tool), + retrieving a particular and standardised result. + +- **TestResult**: Output of running a test over a resource. A test + result should also contain provenance metadata about the process + followed to create it. ``TestResult`` is represented as an extension + of ``prov:Entity``. A test result points to the corresponding test + through the ``ftr:outputFromTest`` property. + +- **TestResultSet**: A set of FAIR test results, together with + their respective metadata. Common metadata may describe the set. For + example, if all results were run by a request to the same API. + +- **TestExecutionActivity**: The action carried out by an agent + calling an API in which a test (or set of tests) was run. The result + of this activity is either a ``TestResult`` or a ``TestResultSet``. + +- **Metric**: Narrative domain-agnostic description that a Test + must wholly implement. + +- **Benchmark**: Community-specific groupings of a set of Metrics + that provide a narrative describing how that community defines FAIR + for assessment purposes. + +- **ScoringAlgorithm**: Piece of code that contextualises the sum + of all test results for a given benchmark into a final quantitative + assessment result. + +- **ScoringAlgorithmActivity**: The action carried out by an agent + calling an API in which a ``ScoringAlgorithm`` was executed. The + result of this activity is a ``BenchmarkScore``. + +- **BenchmarkScore**: Output of a Scoring Algorithm over a + resource, generating the final score and guidance for the whole + assessment. + +---- + +.. image:: https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/img/FAIRTestResult_diagram_v12.drawio.png?raw=true + :align: center + + +Specification +------------- + +The full FAIR Testing Resource Vocabulary (FTR) 1.2.0 is specified here: + +* https://w3id.org/ftr/1.2.0 + +You can also explore the GitHub repository for additional content: + +* https://github.com/OSTrails/FAIR_assessment_output_specification/ + + +FAIR assessment validation +-------------------------- + +FTR also includes `ShEX and SHACL files `_ +for the different assessment components, allowing you to validate your +FTR records against this representation using any RDF validator tool, +such as `rudof `_. From 9c3d4574386192ef1adce2701b7fb701ad02668c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Alarc=C3=B3n?= <47357144+pabloalarconm@users.noreply.github.com> Date: Wed, 3 Dec 2025 10:33:23 +0100 Subject: [PATCH 022/101] Update Catalogue of Tests documentation --- docs/commons/FAIR/Catalogue-of-Tests.rst | 63 +++++++++++++++++++++--- 1 file changed, 55 insertions(+), 8 deletions(-) diff --git a/docs/commons/FAIR/Catalogue-of-Tests.rst b/docs/commons/FAIR/Catalogue-of-Tests.rst index bddd1c5..54537c9 100644 --- a/docs/commons/FAIR/Catalogue-of-Tests.rst +++ b/docs/commons/FAIR/Catalogue-of-Tests.rst @@ -1,13 +1,60 @@ Catalogue of Tests --------------------------- +================== FAIR Data Point -^^^^^^^^^^^^^^^ +--------------- -The FAIR Data Point software is maintained by a third party (the “FAIRDataTeam”). In OSTrails we utilize the FAIR Data Point (FDP) in its configuration as an “index”, using the 16.x releases of the software suite in DockerHub. FDP Index is the first implementation of a test registry and will include many of the descriptions from the FAIR Champion and FOOPS! +OSTrails has generated a federated metadata registry for publishing and +indexing FAIR Test descriptions. Every test intended to be discoverable +and to support FAIR assessment activities should be registered in this +repository. -- Identifier: https://tools.ostrails.eu/fdp-index/ -- Code repository: https://github.com/FAIRDataTeam -- Version: Docker Image version 16.x -- Release: N/A -- License: MIT \ No newline at end of file +This repository is built on top of the **FAIR Data Point (FDP)**, a +software framework maintained by the +`FAIRDataTeam `_. + +The FDP index includes descriptions of test records from multiple +assessment tools, such as +`FAIR Champion `_ +and +`FOOPS `_. + +Registering a Test in the Catalogue +----------------------------------- + +To register a test, you may use one of the following standardised +procedures: + +Submitting an Existing Metadata Record via FAIR Champion +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Visit the FAIR Champion registration page: https://tests.ostrails.eu/tests/new + +Provide the persistent unique identifier of your existing metadata +record and submit it for indexing. + +You may verify the publication and validation status of your metadata at: https://tools.ostrails.eu/fdp-index/ + +If your DCAT record contains structural or semantic errors, the metadata +may be displayed as **invalid**. + + + NOTE: This method requires the metadata record to already exist in your + tool or repository. The record **must** comply with the FTR model. + +Registering Metadata via the FAIR Assessment Authoring Tool +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The FAIR Assessment Authoring Tool, developed by the OSTrails team, +supports the creation of FAIR assessment components such as Tests, +Metrics, Benchmarks, and others. + +Through a machine-actionable questionnaire, the tool automatically +generates the metadata record, stores it, and submits it to an OSTrails +GitHub repository that acts as an openly accessible, self-hosted +index for transparency and long-term availability. This submission also +registers the record in the FDP-based OSTrails index: https://tools.ostrails.eu/fdp-index/ + +The FAIR Assessment Authoring Tool is available at: https://ostrails-fair.fair-wizard.com/wizard/dashboard + +All its documentation is available `here `_ From 424f7b06bd405891c8bad981f21bc4b82e1007f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pablo=20Alarc=C3=B3n?= <47357144+pabloalarconm@users.noreply.github.com> Date: Wed, 3 Dec 2025 14:43:45 +0100 Subject: [PATCH 023/101] Delete docs/commons/FAIR/Assessment-Component-Application-Profile.rst --- docs/commons/FAIR/Assessment-Component-Application-Profile.rst | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 docs/commons/FAIR/Assessment-Component-Application-Profile.rst diff --git a/docs/commons/FAIR/Assessment-Component-Application-Profile.rst b/docs/commons/FAIR/Assessment-Component-Application-Profile.rst deleted file mode 100644 index 0827715..0000000 --- a/docs/commons/FAIR/Assessment-Component-Application-Profile.rst +++ /dev/null @@ -1,2 +0,0 @@ -Assessment Component Application Profile --------------------------------------------- \ No newline at end of file From 547f028b7e2e57779ba459c10ca5e548f7e2afe5 Mon Sep 17 00:00:00 2001 From: Katja Moilanen Date: Thu, 4 Dec 2025 13:20:01 +0200 Subject: [PATCH 024/101] docs: Update CONTRIBUTORS.yml --- CONTRIBUTORS.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/CONTRIBUTORS.yml b/CONTRIBUTORS.yml index 490681f..9e26645 100644 --- a/CONTRIBUTORS.yml +++ b/CONTRIBUTORS.yml @@ -39,3 +39,11 @@ Allyson Lister: github: allysonlister orcid: 0000-0002-7702-4495 affiliation: University of Oxford + + +Katja Moilanen: + first_name: Katja + last_name: Moilanen + github: katja-moilanen + orcid: 0000-0002-7668-5427 + affiliation: TAU-FSD/CESSDA From 016bf06063f1cf371964375fb280bfc2a145247e Mon Sep 17 00:00:00 2001 From: Mark Wilkinson Date: Tue, 9 Dec 2025 09:00:52 +0100 Subject: [PATCH 025/101] Revise catalogue title and add FAIR Data Point details Updated the title and added sections on FAIR Data Point and registration procedures for scoring algorithms. --- ...alogue-of-Benchmark-Acoring-Algorithms.rst | 62 ++++++++++++++++++- 1 file changed, 60 insertions(+), 2 deletions(-) diff --git a/docs/commons/FAIR/Catalogue-of-Benchmark-Acoring-Algorithms.rst b/docs/commons/FAIR/Catalogue-of-Benchmark-Acoring-Algorithms.rst index c8a2ae0..64262f2 100644 --- a/docs/commons/FAIR/Catalogue-of-Benchmark-Acoring-Algorithms.rst +++ b/docs/commons/FAIR/Catalogue-of-Benchmark-Acoring-Algorithms.rst @@ -1,2 +1,60 @@ -Catalogue-of-Benchmark-Acoring-Algorithms ------------------------------------------------ \ No newline at end of file +Catalogue-of-Benchmark-Scoring-Algorithms +================== + +FAIR Data Point +--------------- + +OSTrails has generated a federated metadata registry for publishing and +indexing FAIR Scoring Algorithm descriptions. Every Algorithm intended to be discoverable +and to support FAIR assessment activities should be registered in this +repository. + +This repository is built on top of the **FAIR Data Point (FDP)**, a +software framework maintained by the +`FAIRDataTeam `_. + +The FDP index includes descriptions of test records from multiple +assessment tools, such as +`FAIR Champion `_ +and +`FOOPS `_. + +Registering a Scoring Algorithm in the Catalogue +----------------------------------- + +To register a Scoring Algorithm, you may use one of the following standardised +procedures: + +Submitting an Existing Metadata Record via FAIR Champion +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Visit the FAIR Champion registration page: https://tests.ostrails.eu/tests/new + +Provide the persistent unique identifier of your existing metadata +record and submit it for indexing. + +You may verify the publication and validation status of your metadata at: https://tools.ostrails.eu/fdp-index/ + +If your DCAT record contains structural or semantic errors, the metadata +may be displayed as **invalid**. + + + NOTE: This method requires the metadata record to already exist in your + tool or repository. The record **must** comply with the FTR model. + +Registering Metadata via the FAIR Assessment Authoring Tool +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The FAIR Assessment Authoring Tool, developed by the OSTrails team, +supports the creation of FAIR assessment components such as Tests, +Metrics, Benchmarks, and others. + +Through a machine-actionable questionnaire, the tool automatically +generates the metadata record, stores it, and submits it to an OSTrails +GitHub repository that acts as an openly accessible, self-hosted +index for transparency and long-term availability. This submission also +registers the record in the FDP-based OSTrails index: https://tools.ostrails.eu/fdp-index/ + +The FAIR Assessment Authoring Tool is available at: https://ostrails-fair.fair-wizard.com/wizard/dashboard + +All its documentation is available `here `_ From 0919a0902f33b4dba582933373c8506e49b96d3d Mon Sep 17 00:00:00 2001 From: Mark Wilkinson Date: Tue, 9 Dec 2025 09:01:19 +0100 Subject: [PATCH 026/101] Fix filename typo in benchmark scoring algorithms --- ...gorithms.rst => Catalogue-of-Benchmark-Scoring-Algorithms.rst} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/commons/FAIR/{Catalogue-of-Benchmark-Acoring-Algorithms.rst => Catalogue-of-Benchmark-Scoring-Algorithms.rst} (100%) diff --git a/docs/commons/FAIR/Catalogue-of-Benchmark-Acoring-Algorithms.rst b/docs/commons/FAIR/Catalogue-of-Benchmark-Scoring-Algorithms.rst similarity index 100% rename from docs/commons/FAIR/Catalogue-of-Benchmark-Acoring-Algorithms.rst rename to docs/commons/FAIR/Catalogue-of-Benchmark-Scoring-Algorithms.rst From 9f3d43ca6b277139b3c83d16826990a15cb7219c Mon Sep 17 00:00:00 2001 From: Katja Moilanen Date: Tue, 9 Dec 2025 10:23:33 +0200 Subject: [PATCH 027/101] docs: Update SKG-IF - DDI 2.5 mapping (Mapping-SKGIF-DDI.rst) This is not ready yet. --- docs/commons/skg/Mapping-SKGIF-DDI.rst | 809 ++++++++++++++++++++++++- 1 file changed, 808 insertions(+), 1 deletion(-) diff --git a/docs/commons/skg/Mapping-SKGIF-DDI.rst b/docs/commons/skg/Mapping-SKGIF-DDI.rst index 5e715a7..447592b 100644 --- a/docs/commons/skg/Mapping-SKGIF-DDI.rst +++ b/docs/commons/skg/Mapping-SKGIF-DDI.rst @@ -1,2 +1,809 @@ Mapping between SKG Interoperability Framework and DDI --------------------------------------------------------- \ No newline at end of file +-------------------------------------------------------- + +.. page-authors:: + Katja Moilanen + +Dataset as research product +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + + +Related publications, related materials, other materials and series as research product +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + +Person Agent +^^^^^^^^^^^^ ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|Entity / Property name |Type |Optional/Recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |nan | +| | | |use URL as identifier | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | +| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | |DDI2.5. | +| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | |does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | +| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@title | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | +| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “person” |DDI2.5 do not have field stating if an agent is a person or an | +| | | |(generic), person or organisation | |organization. It is possible to separate person and organisation only | +| | | | | |if considered that AuthEnty (or other contributor field) is a person | +| | | | | |when it has affiliation attribute attached. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.name |String |optional |The string containing whatever concatenation of |Dataset: |nan | +| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.given_name |String |optional |The given name of a Person. |not supported |nan | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.family_name |String |optional |The family name of a Person. |not supported |nan | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.affiliations |Array of Objects |optional |All the affiliations of a Person |structure, no need to map |nan | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.affiliations.affiliation |String |mandatory |The identifier of an Organisation a Person is |Dataset: |DDI-C does not support references. Therefore there is no direct | +| | | |affiliated with. |/codeBook/docDscr/citation/prodStmt/producer/@affiliation |mapping for this field. This mapping is based on the suitable | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation |information content. Note that in SKG-IF the contributor affiliations | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation |are documented using Agent entity and the related Agent entities are | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation |only referenced here using their identifier. | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | +| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.affiliations.role |String |recommended |The role that a Person had in the context of an |information can be generated because it is always “affiliate” |nan | +| | | |Organisation. Needed for parsing purposes; fixed | | | +| | | |to affiliate. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.affiliations.role.period |Object |recommended |The time period where the Person was affiliated |not applicable |nan | +| | | |with an Organisation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.affiliations.role.period.s |String |recommended |The start datetime of the affiliation with an |not applicable |nan | +|tart | | |Organisation. The string should be compliant | | | +| | | |with the ISO 8601 datetime string. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.affiliations.role.period.e |String |recommended |The end datetime (if any) of the affiliation |not applicable |nan | +|nd | | |with an Organisation. The string should be | | | +| | | |compliant with the ISO 8601 datetime string. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ + + +Affiliation of a person as Organisation +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|Entity / Property name |Type |Optional/Recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | ++==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |nan | +| | | |use URL as identifier | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | +| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | |DDI2.5. | +| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | |does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | +| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@title | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | +| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “person” |DDI2.5 do not have field stating if an agent is a person or an | +| | | |(generic), person or organisation | |organization. It is possible to separate person and organisation only | +| | | | | |if considered that AuthEnty (or other contributor field) is a person | +| | | | | |when it has affiliation attribute attached. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.name |String |optional |The string containing whatever concatenation of |Dataset: |nan | +| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer/@affiliation | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | +| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.short_name |String |optional |The short name/acronym for an Organisation. |Dataset: |These fields do not support abbreviation | +| | | | |/codeBook/docDscr/citation/prodStmt/producer/@abbr |Dataset: | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@abbr |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@abbr |/codeBook/stdyDscr/citation/rspStmt/othId | +| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@abbr | | +| | | | | |Publication citing (cites) the dataset (related publication): | +| | | | |Publication citing (cites) the dataset (related publication): |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/Auth | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@abbr |Enty | +| | | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othI | +| | | | |Material documenting (is_documented_by) the dataset (related material): |d | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@abbr | | +| | | | | |Material documenting (is_documented_by) the dataset (related | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): |material): | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@abbr |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthE | +| | | | | |nty | +| | | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | +| | | | | | | +| | | | | |Material supplementing (is_supplemented_by) the dataset (other | +| | | | | |material): | +| | | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | +| | | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.other_names |Array of Strings |optional |Other names, perhaps in different languages, |DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these |nan | +| | | |identifying an Organisation. |fields: | | +| | | | |Dataset: | | +| | | | |/codeBook/docDscr/citation/prodStmt/producer/@affiliation | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | +| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.website |String |optional |The website URL for an Organisation. |not supported |nan | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.country |String |optional |The country code of an Organisation |not applicable |nan | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.type |String |optional |The types of an Organisation. |not applicable |nan | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ + + +Organisation +^^^^^^^^^^^^ + ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|Entity / Property name |Type |Optional/Recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | ++==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |nan | +| | | |use URL as identifier | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | +| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | |DDI2.5. | +| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | |does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | +| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/ExtLink/@title | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/ExtLink/@title | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/ExtLink/@title | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty/@title | | +| | | | |/codeBook/otherMat/citation/rspStmt/othId/@title | | +| | | | |/codeBook/otherMat/citation/prodStmt/producer/@title | | +| | | | |/codeBook/otherMat/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/ExtLink/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | +| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg/ExtLink | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/ExtLink | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/ExtLink | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/ExtLink | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/otherMat/citation/rspStmt/othId | | +| | | | |/codeBook/otherMat/citation/prodStmt/producer | | +| | | | |/codeBook/otherMat/citation/prodStmt/fundAg/ExtLink | | +| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/ExtLink | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “organisation” |DDI2.5 do not have field stating if an agent is a person or an | +| | | |(generic), person or organisation | |organization. It is possible to separate person and organisation only | +| | | | | |if considered that AuthEnty (or other contributor field) is a person | +| | | | | |when it has affiliation attribute attached. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.name |String |optional |The string containing whatever concatenation of |Dataset: |nan | +| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/otherMat/citation/rspStmt/othId | | +| | | | |/codeBook/otherMat/citation/prodStmt/producer | | +| | | | |/codeBook/otherMat/citation/prodStmt/fundAg | | +| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/@agency | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.short_name |String |optional |The short name/acronym for an Organisation. |Dataset: |nan | +| | | | |/codeBook/docDscr/citation/prodStmt/producer/@abbr | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@abbr | | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@abbr | | +| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@abbr | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg/@abbr | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@abbr | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/@abbr | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@abbr | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/@abbr | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@abbr | | +| | | | |/codeBook/otherMat/citation/prodStmt/fundAg/@abbr | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.other_names |Array of Strings |optional |Other names, perhaps in different languages, |DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these |nan | +| | | |identifying an Organisation. |fields: | | +| | | | |Dataset: | | +| | | | |/codeBook/docDscr/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/otherMat/citation/rspStmt/othId | | +| | | | |/codeBook/otherMat/citation/prodStmt/producer | | +| | | | |/codeBook/otherMat/citation/prodStmt/fundAg | | +| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/@agency | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.website |String |optional |The website URL for an Organisation. |not supported |nan | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.country |String |optional |The country code of an Organisation |not applicable |nan | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.type |String |optional |The types of an Organisation. |not applicable |nan | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ + +Agent (not known if it is Person or Organization) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|Entity / Property name |Type |Optional/Recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | ++==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |nan | +| | | |use URL as identifier | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | +| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | |DDI2.5. | +| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | |does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | +| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@title | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | +| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “agent” |nan | +| | | |(generic), person or organisation | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.name |String |optional |The string containing whatever concatenation of |Dataset: |nan | +| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | | | | +| | | | |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ + + +Grant +^^^^^^ + ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| Entity / Property name | Type | optional/recommended | Description | DDI 2.5 (Dublin Core fields excluded) | Notes | +| | | /mandatory | | | | ++==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | tyhjää | +| | | | use URL as identifier | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.grant_number | String | recommended | Unique code identifying the Grant at the funder. | /codeBook/stdyDscr/citation/prodStmt/grantNo | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | +| | | | identifiers for the entity | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.Identifiers.scheme | String | mandatory | The scheme/name of the external identifier | not supported | | +| | | | system | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers.value | String | mandatory | The external identifier | not supported | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to grant. | information can be generated because it is always “grant” | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.titles | Object | optional | The titles of the entity | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.titles.ISO 639-1 language | name of the key | ? | The name of the key, which must be ISO 639-1 | not applicable | | +| code | | | language code and be the language of the content | | | +| | | | of the value | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.titles.ISO 639-1 language | Array of Strings | ? | The list of the titles in the given (ISO 639-1) | not applicable | | +| code | | | language, specified by the key name | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.abstracts | Object | optional | The abstracts of the entity | not applicable | tyhjää | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.abstracts.ISO 639-1 | name of the key | ? | The name of the key, which must be ISO 639-1 | not applicable | | +| language code | | | language code and be the language of the content | | | +| | | | of the value | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.abstracts.ISO 639-1 | Array of Strings | ? | The list of the abstracts in the given (ISO | not applicable | | +| language code | | | 639-1) language, specified by the key name | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.acronym | String | optional | The acronym of the grant | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.funding_agency | String | optional | The reference (identifier) of an agent | /codeBook/stdyDscr/citation/prodStmt/grantNo/@agency | | +| | | | (Organisation) funding the Grant. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.funding_stream | String | optional | The funding stream of the Grant e.g. Horizon | not applicable | | +| | | | Europe | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.currency | String | optional | Currency of the funded amount. Mandatory if | not applicable | | +| | | | funded_amount is provided) | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.funded_amount | Numeric | optional | Amount funded | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.keywords | Array of Strings | optional | Keywords | not applicable | tyhjää | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.duration | Object | optional | Duration of the Grant | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.duration.start | String | mandatory | Start date | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.duration.end | String | optional | End date | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.website | String | optional | The URL of the funded project website. | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.beneficiaries | Array of Strings | optional | The references (identifiers) of the Organization | not applicable | | +| | | | Agents funded by the Grant | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions | Array of Objects | optional | The array of objects describing the contributors | structure, no need to map | | +| | | | and their contribution | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions.by | String | mandatory | The reference (Identifier) of the agent | not applicable | | +| | | | contributing to the grant | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions.declared_aff | Array of Strings | recommended | The reference (identifier) of the agent which is | not applicable | | +| iliations | | | affiliation of the contributor. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions.role | Array of Strings | recommended | The role of the agent. SCoro project roles: co- | not applicable | tyhjää | +| | | | applicant, lead applican, project leader, | | | +| | | | project manager, project member, workpackage | | | +| | | | leader | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ + + +Venue +^^^^^^ + ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|Entity / Property name |Type |optional/recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | +| | |/mandatory | | | | ++==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | +| | | |use URL as identifier | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | +| | | |identifiers for the entity | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier |If the contents of the URI attribute are used as the identifier then this should be set to "url" | | +| | | |system | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers.value |String |mandatory |The external identifier |/codeBook/stdyDscr/citation/distStmt/distrbtr/@URI | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to venue |information can be generated because it is always “venue” | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.name |String |optional |The name of a Venue. |/codeBook/stdyDscr/citation/distStmt/distrbtr | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.acronym |String |optional |Acronym used by a Venue. |/codeBook/stdyDscr/citation/distStmt/distrbtr/@abbr | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.type |String |optional |The type of a Venue. Allowed values: journal, |Most of the times this value would be set to "repository" | | +| | | |conference, book, repository, other, unknown | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.series |String |optional |The name of the conference or book series. |not applicable |The desciption of the field says that it is meant for the venues of | +| | | | | |type "conference" or "book" | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.access_rights |Object |recommended |The access right for the specific journal. |not applicable |The desciption of the field says that it is meant for the venues of | +| | | | | |type "journal" | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.access_rights.status |String |mandatory |The description if the journal is open access |not applicable |The desciption of the field says that it is meant for the venues of | +| | | |(open), closed access (closed), or hybrid | |type "journal" | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.access_rights.description |String |recommended |Describe and qualify the specific status |not applicable |The desciption of the field says that it is meant for the venues of | +| | | |selected. | |type "journal" | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.creation_date |String |optional |The date of creation of a Venue. |not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions |Array of Objects |optional |The array of objects describing the contributors |not applicable | | +| | | |and their contribution | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.by |String |mandatory |The reference (Identifier) of the agent |not applicable | | +| | | |contributing to the research Venue. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.role |String |recommended |The role of the agent. The possible values are |not applicable | | +| | | |editor, publisher. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ + + +Topic when information collected from DDI 2.5 XML files +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|Entity / Property name |Type |Optional/Recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | +| | |/Mandatory | | | | ++==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |When topic information is collected from DDI2.5, it is quite likely | +| | | |use URL as identifier | |that "on-the-fly" local identifiers will be used. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | +| | | |identifiers for the entity | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier | |Using ExtLink element is a workaround, there is not actually a field | +| | | |system |/codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink/@title |for (Persistent) Identifiers | +| | | | |/codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink/@title |Even if keyword and topcClas are the best mappings, it is possible to | +| | | | | | map any "vocabulary field" to this e.g. | +| | | | | |/codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink/@title | +| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink/@title | +| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc/ExtLink/@title | +| | | | | |/codeBook/stdyDscr/method/dataColl/collMode/ExtLink/@title | +| | | | | |/codeBook/stdyDscr/sumDscr/dataKind/ExtLink/@title | +| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru/ExtLink/@title | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers.value |String |mandatory |The external identifier | |Even if keyword and topcClas are the best mappings, it is possible to | +| | | | |/codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink | map any "vocabulary field" to this e.g. | +| | | | |/codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink |/codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink | +| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink | +| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc/ExtLink | +| | | | | |/codeBook/stdyDscr/method/dataColl/collMode/ExtLink | +| | | | | |/codeBook/stdyDscr/sumDscr/dataKind/ExtLink | +| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru/ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to topic. |information can be generated because it is always “topic” | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.labels |Object |optional |Labels (terms) |structure, no need to map | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.labels.ISO 639-1 language |name of the key |? |The name of the key, which must be ISO 639-1 | |Even if keyword and topcClas are the best mappings, it is possible to | +|code | | |language code and be the language of the content |/codeBook/stdyDscr/stdyInfo/subject/keyword/@xml:lang | map any "vocabulary field" to this e.g. | +| | | | of the value |/codeBook/stdyDscr/stdyInfo/subject/topcClas/@xml:lang |/codeBook/stdyDscr/sumDscr/anlyUnit/@xml:lang | +| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/@xml:lang | +| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc/@xml:lang | +| | | | | |/codeBook/stdyDscr/method/dataColl/collMode/@xml:lang | +| | | | | |/codeBook/stdyDscr/sumDscr/dataKind/@xml:lang | +| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru/@xml:lang | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.labels.ISO 639-1 language |Array of Strings |? |Label describing a Topic in the given (ISO | |Even if keyword and topcClas are the best mappings, it is possible to | +|code | | |639-1) language, specified by the key name |/codeBook/stdyDscr/stdyInfo/subject/keyword | map any "vocabulary field" to this e.g. | +| | | | |/codeBook/stdyDscr/stdyInfo/subject/topcClas |/codeBook/stdyDscr/sumDscr/anlyUnit | +| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth | +| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc | +| | | | | |/codeBook/stdyDscr/method/dataColl/collMode | +| | | | | |/codeBook/stdyDscr/sumDscr/dataKind | +| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ + + +Data source +^^^^^^^^^^^^ + ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| Entity / Property name | Type | optional/recommended | Description | DDI 2.5 (Dublin Core fields excluded) | Notes | +| | | /mandatory | | | | ++==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | +| | | | identifiers for the entity | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.Identifiers.scheme | String | mandatory | The scheme/name of the external identifier | /codeBook/stdyDscr/citation/holdings/ExtLink/@title | Using ExtLink element is a workaround, there is not actually a field | +| | | | system | | for identifier/URL pointing to the organization (data source) | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers.value | String | mandatory | The external identifier | /codeBook/stdyDscr/citation/holdings/ExtLink/@URI | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to datasource | information can be generated because it is always “datasource” | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.name | String | optional | The name of a Venue. | /codeBook/stdyDscr/citation/holdings/@location | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.persistent_identity_system | Array of Objects | optional | The persistent identifier systems that are used | not applicable | | +| s | | | by a Data source to identify the ProductType it | | | +| | | | supports. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.persistent_identity_system | ? | mandatory | The Product type to which the persistent | not applicable | | +| s.for | | | identifier is referring to. Allowed values: | | | +| | | | literature, research data, software, metadata, | | | +| | | | any | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.persistent_identity_system | Array of Strings | mandatory | Persistent identifier schemes used to refer to | not applicable | | +| s.pid_schemes | | | ProductTypes. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.audience | Array of Objects | optional | The property defines the target audiences of the | not applicable | | +| | | | users of a Data source. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.audience.audience_type | String | mandatory | The type of the audience based on the vocabulary | not applicable | | +| | | | "Jurisdiction". Allowed values "Global", | | | +| | | | "National", "Regional", "Institution", "Research | | | +| | | | infrastructure", "e-infrastructure" | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.data_source_classification | String | optional | The specific type of a Data source, based on the | not applicable | | +| | | | vocabulary Data source Classification. It can be | | | +| | | | chosen among the following values: repository, | | | +| | | | aggregator, scientific database, journal | | | +| | | | archive, publisher archive, cris system | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.research_product_type | Array of Strings | optional | The types of entities managed by a Data source. | not applicable | | +| | | | Each item in the list should be compliant with | | | +| | | | the following terms: metadata, research data, | | | +| | | | literature, software, any | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.disciplines | Array of Strings | optional | The disciplines for which a Data source is | not applicable | | +| | | | dedicated - specified using the Library of | | | +| | | | Congress Classification codes, available at | | | +| | | | https://id.loc.gov/authorities/classification | | | +| | | | (e.g. PA3000-PA3049 for classical literature). | | | +| | | | In case a Data source is discipline agnostic, | | | +| | | | the string all should be specified. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.policies | Array of Objects | optional | The policies followed by a Data source. | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.policies.about | String | mandatory | The type of policy to consider. | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.policies.target | Array of Strings | recommended | The types of resources to which the policy | not applicable | | +| | | | applies to, allowed values: : metadata, research | | | +| | | | data, literature, software, any | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.policies.documented_at | String | recommended | The URL of the document that describes the | not applicable | | +| | | | policy. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.policies.description | String | recommended | Describe the type of policy, if necessary. | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ From 83a62420b193e24ea8272a3c284b2fe5ca36ba97 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Tue, 9 Dec 2025 10:40:49 +0100 Subject: [PATCH 028/101] docs: Fix the structure for the docs in FAIR commons --- docs/commons/FAIR/index_standards.rst | 4 +++- docs/index.rst | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/commons/FAIR/index_standards.rst b/docs/commons/FAIR/index_standards.rst index 4a4d4c1..2ff8699 100644 --- a/docs/commons/FAIR/index_standards.rst +++ b/docs/commons/FAIR/index_standards.rst @@ -14,5 +14,7 @@ The following resources in this section are part of the FAIR Commons component. Catalogue of Benchmark Acoring Algorithms Core Assessment Profile Guidance Element Specification - FAIrSharing + FAIR Test Results Vocabulary (FTR) + Assessment Recommended API + FAIRSharing \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 86e3f01..3ce3a79 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -47,3 +47,4 @@ The documentation is structured as follows: other/contributors + \ No newline at end of file From d9dae3939076a204163a237b7b88d1c6709763d5 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Tue, 9 Dec 2025 10:42:39 +0100 Subject: [PATCH 029/101] doc: update the FAIR commons --- docs/commons/FAIR/index_catalogs_registries.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/commons/FAIR/index_catalogs_registries.rst b/docs/commons/FAIR/index_catalogs_registries.rst index 1c84cde..fe0fa22 100644 --- a/docs/commons/FAIR/index_catalogs_registries.rst +++ b/docs/commons/FAIR/index_catalogs_registries.rst @@ -9,8 +9,6 @@ The following resources in this section are part of the FAIR Commons component. :titlesonly: Assessment Component Application Profile - FAIR Test Results Vocabulary (FTR) - Assessment Recommended API LifeWatch FAIR Assessment Profile and Guidance Thematic/DO-Specific Guidance Elements From af662a97f57b141fa04620ba6a356708a18c1704 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Tue, 9 Dec 2025 10:48:23 +0100 Subject: [PATCH 030/101] docs: update docs FAIR commons --- docs/commons/FAIR/index_catalogs_registries.rst | 8 +++++--- docs/commons/FAIR/index_standards.rst | 7 ++----- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/commons/FAIR/index_catalogs_registries.rst b/docs/commons/FAIR/index_catalogs_registries.rst index fe0fa22..cc96c47 100644 --- a/docs/commons/FAIR/index_catalogs_registries.rst +++ b/docs/commons/FAIR/index_catalogs_registries.rst @@ -8,7 +8,9 @@ The following resources in this section are part of the FAIR Commons component. :maxdepth: 2 :titlesonly: + Catalogue of Metrics + Catalogue of Benchmarks + Catalogue of Tests + Catalogue of Benchmark Acoring Algorithms Assessment Component Application Profile - LifeWatch FAIR Assessment Profile and Guidance - Thematic/DO-Specific Guidance Elements - + FAIRSharing diff --git a/docs/commons/FAIR/index_standards.rst b/docs/commons/FAIR/index_standards.rst index 2ff8699..389365c 100644 --- a/docs/commons/FAIR/index_standards.rst +++ b/docs/commons/FAIR/index_standards.rst @@ -8,13 +8,10 @@ The following resources in this section are part of the FAIR Commons component. :maxdepth: 1 :titlesonly: - Catalogue of Metrics - Catalogue of Benchmarks - Catalogue of Tests - Catalogue of Benchmark Acoring Algorithms + Core Assessment Profile Guidance Element Specification FAIR Test Results Vocabulary (FTR) Assessment Recommended API - FAIRSharing + Thematic/DO-Specific Guidance Elements \ No newline at end of file From d64ff0351f9bdd44e19246e61c521386176025e1 Mon Sep 17 00:00:00 2001 From: esgg Date: Wed, 10 Dec 2025 10:58:38 +0100 Subject: [PATCH 031/101] Add FAIROS test and metric catalogue documentationFAIROS description --- docs/commons/FAIR/FAIROS.rst | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 docs/commons/FAIR/FAIROS.rst diff --git a/docs/commons/FAIR/FAIROS.rst b/docs/commons/FAIR/FAIROS.rst new file mode 100644 index 0000000..fd302cb --- /dev/null +++ b/docs/commons/FAIR/FAIROS.rst @@ -0,0 +1,8 @@ +FAIROS! Test and metric catalogue +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +FAIROs is a tool to assess the FAIRness of Research Objects. The tool used external tools such as F-UJI, FOOPS and RSFC to assess datasets, ontologies and software. The catalog contains the metrics and tests used to evaluate Research Objects. The source code with the FTR specification is in the branch dev-ostrails +- **Persistent identifier:** https://w3id.org/FAIROS/catalog +- **Code repository:** https://github.com/oeg-upm/FAIR-Research-Object +- **Version:** 0.0.2 +- **License:** Apache-2.0 From 7c542f484377be0a28dbdc955a6834cfb6787555 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 11 Dec 2025 15:30:12 +0100 Subject: [PATCH 032/101] test --- docs/commons/skg/lifewach-eric-KG-RPT.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/commons/skg/lifewach-eric-KG-RPT.rst b/docs/commons/skg/lifewach-eric-KG-RPT.rst index 58c82dc..e19b9bb 100644 --- a/docs/commons/skg/lifewach-eric-KG-RPT.rst +++ b/docs/commons/skg/lifewach-eric-KG-RPT.rst @@ -1,2 +1,5 @@ LifeWatch ERIC Knowledge Graph for Research Planning and Tracking ------------------------------------------------------------------------- \ No newline at end of file +------------------------------------------------------------------------ + + +TEST \ No newline at end of file From 749d9c4a55f1333311a67343d40f50b73b2895ec Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 11 Dec 2025 15:40:45 +0100 Subject: [PATCH 033/101] structuring tools for skg-if --- docs/tools/SKG.rst | 14 ++++++++++++++ docs/tools/SKG_tools/lifewatch.rst | 5 +++++ docs/tools/SKG_tools/openaire.rst | 5 +++++ docs/tools/SKG_tools/rohub.rst | 5 +++++ 4 files changed, 29 insertions(+) create mode 100644 docs/tools/SKG.rst create mode 100644 docs/tools/SKG_tools/lifewatch.rst create mode 100644 docs/tools/SKG_tools/openaire.rst create mode 100644 docs/tools/SKG_tools/rohub.rst diff --git a/docs/tools/SKG.rst b/docs/tools/SKG.rst new file mode 100644 index 0000000..aaecc4a --- /dev/null +++ b/docs/tools/SKG.rst @@ -0,0 +1,14 @@ +OSTrails SKG Tools +=================== + +The following resources in this section are part of the FAIR Tools component. + +.. toctree:: + :caption: Tools + :maxdepth: 1 + :titlesonly: + + + OpenAIRE Graph SKG-IF API + RO-HUB SKG-IF API + LifeWatch Eric KG \ No newline at end of file diff --git a/docs/tools/SKG_tools/lifewatch.rst b/docs/tools/SKG_tools/lifewatch.rst new file mode 100644 index 0000000..2ca710b --- /dev/null +++ b/docs/tools/SKG_tools/lifewatch.rst @@ -0,0 +1,5 @@ +LifeWatch ERIC Knowledge Graph for Research Planning and Tracking +------------------------------------------------------------------------ + + +TODO \ No newline at end of file diff --git a/docs/tools/SKG_tools/openaire.rst b/docs/tools/SKG_tools/openaire.rst new file mode 100644 index 0000000..6cf25f6 --- /dev/null +++ b/docs/tools/SKG_tools/openaire.rst @@ -0,0 +1,5 @@ +OpenAIRE Graph API +------------------------------------------------------------------------ + + +TODO \ No newline at end of file diff --git a/docs/tools/SKG_tools/rohub.rst b/docs/tools/SKG_tools/rohub.rst new file mode 100644 index 0000000..21f8800 --- /dev/null +++ b/docs/tools/SKG_tools/rohub.rst @@ -0,0 +1,5 @@ +RO-HUB API +------------------------------------------------------------------------ + + +TODO \ No newline at end of file From c5e6d373a6cb2f10f3f7f0eea1ed7551679f3b89 Mon Sep 17 00:00:00 2001 From: Katja Moilanen Date: Thu, 11 Dec 2025 16:42:54 +0200 Subject: [PATCH 034/101] docs: Update SKG-IF - DDI2.5 mapping (Mapping-SKGIF-DDI.rst) Not ready yet. --- docs/commons/skg/Mapping-SKGIF-DDI.rst | 124 +++++++++++++------------ 1 file changed, 66 insertions(+), 58 deletions(-) diff --git a/docs/commons/skg/Mapping-SKGIF-DDI.rst b/docs/commons/skg/Mapping-SKGIF-DDI.rst index 447592b..9272786 100644 --- a/docs/commons/skg/Mapping-SKGIF-DDI.rst +++ b/docs/commons/skg/Mapping-SKGIF-DDI.rst @@ -1,9 +1,13 @@ -Mapping between SKG Interoperability Framework and DDI --------------------------------------------------------- +Mapping between SKG Interoperability Framework and DDI2.5 +---------------------------------------------------------- .. page-authors:: Katja Moilanen +Some lines about SKG-IF + +Some text about DDI2.5 + Dataset as research product ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -13,12 +17,13 @@ Related publications, related materials, other materials and series as research ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Person Agent -^^^^^^^^^^^^ +Person +^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Entity / Property name |Type |Optional/Recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | +|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | +| | |/mandatory | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |nan | +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | | | | |use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ |$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | @@ -27,7 +32,7 @@ Person Agent | | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | | | | | |does not include ExtLink | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | +|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | | | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | | | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | | | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | @@ -76,7 +81,7 @@ Person Agent | | | | | |if considered that AuthEnty (or other contributor field) is a person | | | | | | |when it has affiliation attribute attached. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: |nan | +|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | | | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | | | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | | | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | @@ -99,11 +104,11 @@ Person Agent | | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | | | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.given_name |String |optional |The given name of a Person. |not supported |nan | +|$.given_name |String |optional |The given name of a Person. |not supported | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.family_name |String |optional |The family name of a Person. |not supported |nan | +|$.family_name |String |optional |The family name of a Person. |not supported | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations |Array of Objects |optional |All the affiliations of a Person |structure, no need to map |nan | +|$.affiliations |Array of Objects |optional |All the affiliations of a Person |structure, no need to map | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ |$.affiliations.affiliation |String |mandatory |The identifier of an Organisation a Person is |Dataset: |DDI-C does not support references. Therefore there is no direct | | | | |affiliated with. |/codeBook/docDscr/citation/prodStmt/producer/@affiliation |mapping for this field. This mapping is based on the suitable | @@ -128,18 +133,18 @@ Person Agent | | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | | | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role |String |recommended |The role that a Person had in the context of an |information can be generated because it is always “affiliate” |nan | +|$.affiliations.role |String |recommended |The role that a Person had in the context of an |information can be generated because it is always “affiliate” | | | | | |Organisation. Needed for parsing purposes; fixed | | | | | | |to affiliate. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role.period |Object |recommended |The time period where the Person was affiliated |not applicable |nan | +|$.affiliations.role.period |Object |recommended |The time period where the Person was affiliated |not applicable | | | | | |with an Organisation. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role.period.s |String |recommended |The start datetime of the affiliation with an |not applicable |nan | +|$.affiliations.role.period.s |String |recommended |The start datetime of the affiliation with an |not applicable | | |tart | | |Organisation. The string should be compliant | | | | | | |with the ISO 8601 datetime string. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role.period.e |String |recommended |The end datetime (if any) of the affiliation |not applicable |nan | +|$.affiliations.role.period.e |String |recommended |The end datetime (if any) of the affiliation |not applicable | | |nd | | |with an Organisation. The string should be | | | | | | |compliant with the ISO 8601 datetime string. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -149,9 +154,10 @@ Affiliation of a person as Organisation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Entity / Property name |Type |Optional/Recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | +|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | +| | |/mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |nan | +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | | | | |use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ |$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | @@ -160,7 +166,7 @@ Affiliation of a person as Organisation | | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | | | | | |does not include ExtLink | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | +|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | | | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | | | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | | | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | @@ -209,7 +215,7 @@ Affiliation of a person as Organisation | | | | | |if considered that AuthEnty (or other contributor field) is a person | | | | | | |when it has affiliation attribute attached. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: |nan | +|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | | | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer/@affiliation | | | | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | | | | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | | @@ -254,7 +260,7 @@ Affiliation of a person as Organisation | | | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | | | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.other_names |Array of Strings |optional |Other names, perhaps in different languages, |DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these |nan | +|$.other_names |Array of Strings |optional |Other names, perhaps in different languages, |DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these | | | | | |identifying an Organisation. |fields: | | | | | | |Dataset: | | | | | | |/codeBook/docDscr/citation/prodStmt/producer/@affiliation | | @@ -279,11 +285,11 @@ Affiliation of a person as Organisation | | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | | | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.website |String |optional |The website URL for an Organisation. |not supported |nan | +|$.website |String |optional |The website URL for an Organisation. |not supported | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.country |String |optional |The country code of an Organisation |not applicable |nan | +|$.country |String |optional |The country code of an Organisation |not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.type |String |optional |The types of an Organisation. |not applicable |nan | +|$.type |String |optional |The types of an Organisation. |not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -291,9 +297,10 @@ Organisation ^^^^^^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Entity / Property name |Type |Optional/Recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | +|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | +| | |/mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |nan | +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | | | | |use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ |$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | @@ -302,7 +309,7 @@ Organisation | | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | | | | | |does not include ExtLink | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | +|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | | | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | | | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | | | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | @@ -367,7 +374,7 @@ Organisation | | | | | |if considered that AuthEnty (or other contributor field) is a person | | | | | | |when it has affiliation attribute attached. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: |nan | +|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | | | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | | | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | | | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | @@ -398,7 +405,7 @@ Organisation | | | | |/codeBook/otherMat/citation/prodStmt/fundAg | | | | | | |/codeBook/otherMat/citation/prodStmt/grantNo/@agency | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.short_name |String |optional |The short name/acronym for an Organisation. |Dataset: |nan | +|$.short_name |String |optional |The short name/acronym for an Organisation. |Dataset: | | | | | | |/codeBook/docDscr/citation/prodStmt/producer/@abbr | | | | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@abbr | | | | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@abbr | | @@ -417,7 +424,7 @@ Organisation | | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@abbr | | | | | | |/codeBook/otherMat/citation/prodStmt/fundAg/@abbr | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.other_names |Array of Strings |optional |Other names, perhaps in different languages, |DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these |nan | +|$.other_names |Array of Strings |optional |Other names, perhaps in different languages, |DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these | | | | | |identifying an Organisation. |fields: | | | | | | |Dataset: | | | | | | |/codeBook/docDscr/citation/prodStmt/producer | | @@ -450,17 +457,18 @@ Organisation | | | | |/codeBook/otherMat/citation/prodStmt/fundAg | | | | | | |/codeBook/otherMat/citation/prodStmt/grantNo/@agency | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.website |String |optional |The website URL for an Organisation. |not supported |nan | +|$.website |String |optional |The website URL for an Organisation. |not supported | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.country |String |optional |The country code of an Organisation |not applicable |nan | +|$.country |String |optional |The country code of an Organisation |not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.type |String |optional |The types of an Organisation. |not applicable |nan | +|$.type |String |optional |The types of an Organisation. |not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Agent (not known if it is Person or Organization) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Entity / Property name |Type |Optional/Recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | +|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | +| | |/mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ |$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |nan | | | | |use URL as identifier | | | @@ -515,10 +523,10 @@ Agent (not known if it is Person or Organization) | | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | | | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “agent” |nan | +|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “agent” | | | | | |(generic), person or organisation | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: |nan | +|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | | | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | | | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | | | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | @@ -550,7 +558,7 @@ Grant | Entity / Property name | Type | optional/recommended | Description | DDI 2.5 (Dublin Core fields excluded) | Notes | | | | /mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | tyhjää | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | | | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.grant_number | String | recommended | Unique code identifying the Grant at the funder. | /codeBook/stdyDscr/citation/prodStmt/grantNo | | @@ -558,7 +566,7 @@ Grant | $.identifiers | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | | | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.Identifiers.scheme | String | mandatory | The scheme/name of the external identifier | not supported | | +| $.identifiers.scheme | String | mandatory | The scheme/name of the external identifier | not supported | | | | | | system | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.identifiers.value | String | mandatory | The external identifier | not supported | | @@ -574,7 +582,7 @@ Grant | $.titles.ISO 639-1 language | Array of Strings | ? | The list of the titles in the given (ISO 639-1) | not applicable | | | code | | | language, specified by the key name | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.abstracts | Object | optional | The abstracts of the entity | not applicable | tyhjää | +| $.abstracts | Object | optional | The abstracts of the entity | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.abstracts.ISO 639-1 | name of the key | ? | The name of the key, which must be ISO 639-1 | not applicable | | | language code | | | language code and be the language of the content | | | @@ -596,7 +604,7 @@ Grant +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.funded_amount | Numeric | optional | Amount funded | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.keywords | Array of Strings | optional | Keywords | not applicable | tyhjää | +| $.keywords | Array of Strings | optional | Keywords | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.duration | Object | optional | Duration of the Grant | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -618,7 +626,7 @@ Grant | $.contributions.declared_aff | Array of Strings | recommended | The reference (identifier) of the agent which is | not applicable | | | iliations | | | affiliation of the contributor. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.contributions.role | Array of Strings | recommended | The role of the agent. SCoro project roles: co- | not applicable | tyhjää | +| $.contributions.role | Array of Strings | recommended | The role of the agent. SCoro project roles: co- | not applicable | | | | | | applicant, lead applican, project leader, | | | | | | | project manager, project member, workpackage | | | | | | | leader | | | @@ -629,7 +637,7 @@ Venue ^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Entity / Property name |Type |optional/recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | +|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | | | |/mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ |$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | @@ -638,7 +646,7 @@ Venue |$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | | | | |identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier |If the contents of the URI attribute are used as the identifier then this should be set to "url" | | +|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |If the contents of the URI attribute are used as the identifier then this should be set to "url" | | | | | |system | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ |$.identifiers.value |String |mandatory |The external identifier |/codeBook/stdyDscr/citation/distStmt/distrbtr/@URI | | @@ -677,11 +685,11 @@ Venue +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -Topic when information collected from DDI 2.5 XML files -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Topic when collected from DDI2.5 files +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Entity / Property name |Type |Optional/Recommended |Description |DDI 2.5 (Dublin Core fields excluded) |Notes | -| | |/Mandatory | | | | +|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | +| | |/mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ |$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |When topic information is collected from DDI2.5, it is quite likely | | | | |use URL as identifier | |that "on-the-fly" local identifiers will be used. | @@ -689,9 +697,9 @@ Topic when information collected from DDI 2.5 XML files |$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | | | | |identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier | |Using ExtLink element is a workaround, there is not actually a field | -| | | |system |/codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink/@title |for (Persistent) Identifiers | -| | | | |/codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink/@title |Even if keyword and topcClas are the best mappings, it is possible to | +|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |/codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink/@title |Using ExtLink element is a workaround, there is not actually a field | +| | | |system |/codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink/@title |for (Persistent) Identifiers | +| | | | | |Even if keyword and topcClas are the best mappings, it is possible to | | | | | | | map any "vocabulary field" to this e.g. | | | | | | |/codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink/@title | | | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink/@title | @@ -700,9 +708,9 @@ Topic when information collected from DDI 2.5 XML files | | | | | |/codeBook/stdyDscr/sumDscr/dataKind/ExtLink/@title | | | | | | |/codeBook/stdyDscr/method/dataColl/resInstru/ExtLink/@title | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier | |Even if keyword and topcClas are the best mappings, it is possible to | -| | | | |/codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink | map any "vocabulary field" to this e.g. | -| | | | |/codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink |/codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink | +|$.identifiers.value |String |mandatory |The external identifier |/codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink |Even if keyword and topcClas are the best mappings, it is possible to | +| | | | |/codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink | map any "vocabulary field" to this e.g. | +| | | | | |/codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink | | | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink | | | | | | |/codeBook/stdyDscr/method/dataColl/sampProc/ExtLink | | | | | | |/codeBook/stdyDscr/method/dataColl/collMode/ExtLink | @@ -713,9 +721,9 @@ Topic when information collected from DDI 2.5 XML files +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ |$.labels |Object |optional |Labels (terms) |structure, no need to map | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.labels.ISO 639-1 language |name of the key |? |The name of the key, which must be ISO 639-1 | |Even if keyword and topcClas are the best mappings, it is possible to | -|code | | |language code and be the language of the content |/codeBook/stdyDscr/stdyInfo/subject/keyword/@xml:lang | map any "vocabulary field" to this e.g. | -| | | | of the value |/codeBook/stdyDscr/stdyInfo/subject/topcClas/@xml:lang |/codeBook/stdyDscr/sumDscr/anlyUnit/@xml:lang | +|$.labels.ISO 639-1 language |name of the key |? |The name of the key, which must be ISO 639-1 |/codeBook/stdyDscr/stdyInfo/subject/keyword/@xml:lang |Even if keyword and topcClas are the best mappings, it is possible to | +|code | | |language code and be the language of the content |/codeBook/stdyDscr/stdyInfo/subject/topcClas/@xml:lang | map any "vocabulary field" to this e.g. | +| | | | of the value | |/codeBook/stdyDscr/sumDscr/anlyUnit/@xml:lang | | | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/@xml:lang | | | | | | |/codeBook/stdyDscr/method/dataColl/sampProc/@xml:lang | | | | | | |/codeBook/stdyDscr/method/dataColl/collMode/@xml:lang | @@ -737,8 +745,8 @@ Data source ^^^^^^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| Entity / Property name | Type | optional/recommended | Description | DDI 2.5 (Dublin Core fields excluded) | Notes | -| | | /mandatory | | | | +|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | +| | |/mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ | $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | | | | | use URL as identifier | | | @@ -746,7 +754,7 @@ Data source | $.identifiers | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | | | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.Identifiers.scheme | String | mandatory | The scheme/name of the external identifier | /codeBook/stdyDscr/citation/holdings/ExtLink/@title | Using ExtLink element is a workaround, there is not actually a field | +| $.identifiers.scheme | String | mandatory | The scheme/name of the external identifier | /codeBook/stdyDscr/citation/holdings/ExtLink/@title | Using ExtLink element is a workaround, there is not actually a field | | | | | system | | for identifier/URL pointing to the organization (data source) | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.identifiers.value | String | mandatory | The external identifier | /codeBook/stdyDscr/citation/holdings/ExtLink/@URI | | From 2107e6e02b0fdf5217080e9ca35e48103d531b13 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 11 Dec 2025 15:43:04 +0100 Subject: [PATCH 035/101] structuring tools for skg-if --- docs/commons/skg/lifewach-eric-KG-RPT.rst | 5 ----- docs/index.rst | 1 + docs/tools/SKG.rst | 6 +++--- 3 files changed, 4 insertions(+), 8 deletions(-) delete mode 100644 docs/commons/skg/lifewach-eric-KG-RPT.rst diff --git a/docs/commons/skg/lifewach-eric-KG-RPT.rst b/docs/commons/skg/lifewach-eric-KG-RPT.rst deleted file mode 100644 index e19b9bb..0000000 --- a/docs/commons/skg/lifewach-eric-KG-RPT.rst +++ /dev/null @@ -1,5 +0,0 @@ -LifeWatch ERIC Knowledge Graph for Research Planning and Tracking ------------------------------------------------------------------------- - - -TEST \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 3ce3a79..801c685 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -36,6 +36,7 @@ The documentation is structured as follows: FAIR Tools DMP Tools + SKG Tools .. toctree:: :maxdepth: 4 diff --git a/docs/tools/SKG.rst b/docs/tools/SKG.rst index aaecc4a..a394447 100644 --- a/docs/tools/SKG.rst +++ b/docs/tools/SKG.rst @@ -9,6 +9,6 @@ The following resources in this section are part of the FAIR Tools component. :titlesonly: - OpenAIRE Graph SKG-IF API - RO-HUB SKG-IF API - LifeWatch Eric KG \ No newline at end of file + OpenAIRE Graph SKG-IF API + RO-HUB SKG-IF API + LifeWatch Eric KG \ No newline at end of file From 786c6293afea3566aa35e320f93bb05c7c836f3a Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 11 Dec 2025 16:05:08 +0100 Subject: [PATCH 036/101] moving pages for skgs --- docs/commons/skg/OpenAire-SKG-IF-API.rst | 2 -- .../skg/{SKGIF => }/SKGIF-API-Specification.rst | 0 .../skg/{SKGIF => }/SKGIF-Entity-extension-pilots.rst | 0 .../commons/skg/{SKGIF => }/SKGIF-Entity-extension.rst | 0 docs/commons/skg/{SKGIF => }/SKGIF-metadata-model.rst | 0 docs/commons/skg/{ => mappings}/Mapping-SKGIF-DDI.rst | 0 docs/commons/skg/mappings/index.rst | 10 ++++++++++ docs/commons/skg/skg-commons.rst | 9 ++++----- 8 files changed, 14 insertions(+), 7 deletions(-) delete mode 100644 docs/commons/skg/OpenAire-SKG-IF-API.rst rename docs/commons/skg/{SKGIF => }/SKGIF-API-Specification.rst (100%) rename docs/commons/skg/{SKGIF => }/SKGIF-Entity-extension-pilots.rst (100%) rename docs/commons/skg/{SKGIF => }/SKGIF-Entity-extension.rst (100%) rename docs/commons/skg/{SKGIF => }/SKGIF-metadata-model.rst (100%) rename docs/commons/skg/{ => mappings}/Mapping-SKGIF-DDI.rst (100%) create mode 100644 docs/commons/skg/mappings/index.rst diff --git a/docs/commons/skg/OpenAire-SKG-IF-API.rst b/docs/commons/skg/OpenAire-SKG-IF-API.rst deleted file mode 100644 index 56a2008..0000000 --- a/docs/commons/skg/OpenAire-SKG-IF-API.rst +++ /dev/null @@ -1,2 +0,0 @@ -OpenAIRE SKG-IF API ---------------------------- \ No newline at end of file diff --git a/docs/commons/skg/SKGIF/SKGIF-API-Specification.rst b/docs/commons/skg/SKGIF-API-Specification.rst similarity index 100% rename from docs/commons/skg/SKGIF/SKGIF-API-Specification.rst rename to docs/commons/skg/SKGIF-API-Specification.rst diff --git a/docs/commons/skg/SKGIF/SKGIF-Entity-extension-pilots.rst b/docs/commons/skg/SKGIF-Entity-extension-pilots.rst similarity index 100% rename from docs/commons/skg/SKGIF/SKGIF-Entity-extension-pilots.rst rename to docs/commons/skg/SKGIF-Entity-extension-pilots.rst diff --git a/docs/commons/skg/SKGIF/SKGIF-Entity-extension.rst b/docs/commons/skg/SKGIF-Entity-extension.rst similarity index 100% rename from docs/commons/skg/SKGIF/SKGIF-Entity-extension.rst rename to docs/commons/skg/SKGIF-Entity-extension.rst diff --git a/docs/commons/skg/SKGIF/SKGIF-metadata-model.rst b/docs/commons/skg/SKGIF-metadata-model.rst similarity index 100% rename from docs/commons/skg/SKGIF/SKGIF-metadata-model.rst rename to docs/commons/skg/SKGIF-metadata-model.rst diff --git a/docs/commons/skg/Mapping-SKGIF-DDI.rst b/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst similarity index 100% rename from docs/commons/skg/Mapping-SKGIF-DDI.rst rename to docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst diff --git a/docs/commons/skg/mappings/index.rst b/docs/commons/skg/mappings/index.rst new file mode 100644 index 0000000..8156bfe --- /dev/null +++ b/docs/commons/skg/mappings/index.rst @@ -0,0 +1,10 @@ +SKG-IF mappings +============== + +- *Planned resource to be developed* + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + DDI SKG-IF mapping diff --git a/docs/commons/skg/skg-commons.rst b/docs/commons/skg/skg-commons.rst index b0d9498..15386f2 100644 --- a/docs/commons/skg/skg-commons.rst +++ b/docs/commons/skg/skg-commons.rst @@ -8,8 +8,7 @@ The following resources in this section are part of the SKG Commons component. :maxdepth: 1 :titlesonly: - LifeWatch ERIC Knowledge Graph for Research Planning and Tracking - OpenAIRE SKG-IF API - Mapping between SKG Interoperability Framework and DDI - SKG Interoperability Framework - + + OSTrails Application Profile for SKGs + OSTrails SKG-IF API Specification + SKG-IF mappings From ca3f41c5f5e6049668ea0489e489f72e55feba7d Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 11 Dec 2025 16:13:40 +0100 Subject: [PATCH 037/101] restructuring docs under skg commons --- docs/commons/skg/SKGIF-Entity-extension-pilots.rst | 10 ---------- docs/commons/skg/skg-commons.rst | 5 +++-- ...-Specification.rst => skg-if-api-specification.rst} | 0 ...ntity-extension.rst => skg-if-entity-extension.rst} | 0 ...IF-metadata-model.rst => skg-if-metadata-model.rst} | 0 5 files changed, 3 insertions(+), 12 deletions(-) delete mode 100644 docs/commons/skg/SKGIF-Entity-extension-pilots.rst rename docs/commons/skg/{SKGIF-API-Specification.rst => skg-if-api-specification.rst} (100%) rename docs/commons/skg/{SKGIF-Entity-extension.rst => skg-if-entity-extension.rst} (100%) rename docs/commons/skg/{SKGIF-metadata-model.rst => skg-if-metadata-model.rst} (100%) diff --git a/docs/commons/skg/SKGIF-Entity-extension-pilots.rst b/docs/commons/skg/SKGIF-Entity-extension-pilots.rst deleted file mode 100644 index 24522d4..0000000 --- a/docs/commons/skg/SKGIF-Entity-extension-pilots.rst +++ /dev/null @@ -1,10 +0,0 @@ -SKG IF: Entity extensions for the pilots ----------------------------------------------- - - -OSTrails SKG IF -^^^^^^^^^^^^^^^ - -OSTrails SGK-IF as an extension of the `RDA SKG-IF `_ will focus on Common Standard and Data Model extensions, resulting in a specification for data structures guiding the adoption. - -- *Planned resource to be developed* \ No newline at end of file diff --git a/docs/commons/skg/skg-commons.rst b/docs/commons/skg/skg-commons.rst index 15386f2..a9aca40 100644 --- a/docs/commons/skg/skg-commons.rst +++ b/docs/commons/skg/skg-commons.rst @@ -9,6 +9,7 @@ The following resources in this section are part of the SKG Commons component. :titlesonly: - OSTrails Application Profile for SKGs - OSTrails SKG-IF API Specification + OSTrails Application Profile for SKGs + OSTrails SKG-IF API Specification + OSTrails SKG-IF Extensions SKG-IF mappings diff --git a/docs/commons/skg/SKGIF-API-Specification.rst b/docs/commons/skg/skg-if-api-specification.rst similarity index 100% rename from docs/commons/skg/SKGIF-API-Specification.rst rename to docs/commons/skg/skg-if-api-specification.rst diff --git a/docs/commons/skg/SKGIF-Entity-extension.rst b/docs/commons/skg/skg-if-entity-extension.rst similarity index 100% rename from docs/commons/skg/SKGIF-Entity-extension.rst rename to docs/commons/skg/skg-if-entity-extension.rst diff --git a/docs/commons/skg/SKGIF-metadata-model.rst b/docs/commons/skg/skg-if-metadata-model.rst similarity index 100% rename from docs/commons/skg/SKGIF-metadata-model.rst rename to docs/commons/skg/skg-if-metadata-model.rst From 04224d0e17ecdd314c99d7b904830fd69dc06fb0 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 11 Dec 2025 16:25:49 +0100 Subject: [PATCH 038/101] adding links towards skg-if official documentation --- docs/commons/skg/SKGIF/index.rst | 13 ------------- docs/commons/skg/skg-commons.rst | 2 +- docs/commons/skg/skg-if-api-specification.rst | 8 ++------ docs/commons/skg/skg-if-entity-extension.rst | 8 ++++++-- docs/commons/skg/skg-if-metadata-model.rst | 6 ++++-- 5 files changed, 13 insertions(+), 24 deletions(-) delete mode 100644 docs/commons/skg/SKGIF/index.rst diff --git a/docs/commons/skg/SKGIF/index.rst b/docs/commons/skg/SKGIF/index.rst deleted file mode 100644 index 9107564..0000000 --- a/docs/commons/skg/SKGIF/index.rst +++ /dev/null @@ -1,13 +0,0 @@ -SKG IF -============== - -- *Planned resource to be developed* - -.. toctree:: - :maxdepth: 1 - :titlesonly: - - SKG IF: Metadata model consolidation JSON schema - SKG IF: API specification - SKG IF: Entity extension framework - SKG IF: Entity extensions for the pilots diff --git a/docs/commons/skg/skg-commons.rst b/docs/commons/skg/skg-commons.rst index a9aca40..5049d74 100644 --- a/docs/commons/skg/skg-commons.rst +++ b/docs/commons/skg/skg-commons.rst @@ -11,5 +11,5 @@ The following resources in this section are part of the SKG Commons component. OSTrails Application Profile for SKGs OSTrails SKG-IF API Specification - OSTrails SKG-IF Extensions + OSTrails SKG-IF Model Extensions SKG-IF mappings diff --git a/docs/commons/skg/skg-if-api-specification.rst b/docs/commons/skg/skg-if-api-specification.rst index fa801ce..c17bc5f 100644 --- a/docs/commons/skg/skg-if-api-specification.rst +++ b/docs/commons/skg/skg-if-api-specification.rst @@ -1,8 +1,4 @@ -SKG IF: API specification +OSTrails SKG-IF API Specification ------------------------------ -OSTrails SKG-IF Common API - -SKG-IF Common API will be a specification of API following identified use cases and supporting relevant operators to guide the adoption and eventually also check compliance. - -- *Planned resource to be developed* \ No newline at end of file +OSTrails led the definition of the SKG-IF API specification; more information can be found online `here `_. \ No newline at end of file diff --git a/docs/commons/skg/skg-if-entity-extension.rst b/docs/commons/skg/skg-if-entity-extension.rst index 2d8e373..43340ec 100644 --- a/docs/commons/skg/skg-if-entity-extension.rst +++ b/docs/commons/skg/skg-if-entity-extension.rst @@ -1,2 +1,6 @@ -SKG IF: Entity extension framework ------------------------------------------ \ No newline at end of file +OSTrails SKG-IF Model Extensions +----------------------------------------- + +Within OSTrails, a number of extensions have been requested, discussed and approved by the SKG-IF Working Group. + +To date, the development of the `Service extensions `_ is in progress. \ No newline at end of file diff --git a/docs/commons/skg/skg-if-metadata-model.rst b/docs/commons/skg/skg-if-metadata-model.rst index f108c53..23e9806 100644 --- a/docs/commons/skg/skg-if-metadata-model.rst +++ b/docs/commons/skg/skg-if-metadata-model.rst @@ -1,2 +1,4 @@ -SKG IF: Metadata model consolidation JSON schema ---------------------------------------------------- \ No newline at end of file +OSTrails Application Profile for SKGs +--------------------------------------------------- + +The documentation about the SKG-IF consolidated JSON schema can be found online `here `_. From 26527efe6402d95519351412f83568f45edb1552 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 11 Dec 2025 16:27:20 +0100 Subject: [PATCH 039/101] adding links towards skg-if official documentation --- docs/commons/skg/skg-if-entity-extension.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/commons/skg/skg-if-entity-extension.rst b/docs/commons/skg/skg-if-entity-extension.rst index 43340ec..a1d30b5 100644 --- a/docs/commons/skg/skg-if-entity-extension.rst +++ b/docs/commons/skg/skg-if-entity-extension.rst @@ -3,4 +3,4 @@ OSTrails SKG-IF Model Extensions Within OSTrails, a number of extensions have been requested, discussed and approved by the SKG-IF Working Group. -To date, the development of the `Service extensions `_ is in progress. \ No newline at end of file +To date, the development of the `Service extension `_ is in progress. \ No newline at end of file From e8e127a8300349be18716de405162d13468a76b8 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 11 Dec 2025 16:37:00 +0100 Subject: [PATCH 040/101] adding basic text to the pages --- docs/commons/skg/skg-commons.rst | 4 ++-- docs/commons/skg/skg-if-api-specification.rst | 3 ++- docs/commons/skg/skg-if-entity-extension.rst | 15 ++++++++++++--- docs/commons/skg/skg-if-metadata-model.rst | 5 +++-- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/docs/commons/skg/skg-commons.rst b/docs/commons/skg/skg-commons.rst index 5049d74..063ea04 100644 --- a/docs/commons/skg/skg-commons.rst +++ b/docs/commons/skg/skg-commons.rst @@ -9,7 +9,7 @@ The following resources in this section are part of the SKG Commons component. :titlesonly: - OSTrails Application Profile for SKGs + OSTrails Metadata Model for SKGs OSTrails SKG-IF API Specification - OSTrails SKG-IF Model Extensions + OSTrails SKG-IF Extensions SKG-IF mappings diff --git a/docs/commons/skg/skg-if-api-specification.rst b/docs/commons/skg/skg-if-api-specification.rst index c17bc5f..fbe22db 100644 --- a/docs/commons/skg/skg-if-api-specification.rst +++ b/docs/commons/skg/skg-if-api-specification.rst @@ -1,4 +1,5 @@ OSTrails SKG-IF API Specification ------------------------------ -OSTrails led the definition of the SKG-IF API specification; more information can be found online `here `_. \ No newline at end of file +OSTrails led the definition of the SKG-IF API specification, which provides dedicated endpoints for each SKG-IF core entity and supports querying and filtering +More information can be found online `here `_. \ No newline at end of file diff --git a/docs/commons/skg/skg-if-entity-extension.rst b/docs/commons/skg/skg-if-entity-extension.rst index a1d30b5..30d8a0b 100644 --- a/docs/commons/skg/skg-if-entity-extension.rst +++ b/docs/commons/skg/skg-if-entity-extension.rst @@ -1,6 +1,15 @@ -OSTrails SKG-IF Model Extensions +OSTrails SKG-IF Extensions ----------------------------------------- -Within OSTrails, a number of extensions have been requested, discussed and approved by the SKG-IF Working Group. +Within the OSTrails context, a number of extensions have been submitted to the attention of the SKG-IF Working Group. +The status of such ext-submissions is summarised in the table below: -To date, the development of the `Service extension `_ is in progress. \ No newline at end of file ++----------+----------------------------------------------+-----------------------+---------------------------------------------------------------+ +| Acronym | Scope | Status | Link/request | ++==========+==============================================+=======================+===============================================================+ +| SRV | New entity to model services | Under development | https://skg-if.github.io/ext-srv/ | ++----------+----------------------------------------------+-----------------------+---------------------------------------------------------------+ +| SKG-PROV | Provenance tracking | To be discussed | https://github.com/skg-if/extensions/issues/4 | ++----------+----------------------------------------------+-----------------------+---------------------------------------------------------------+ +| RP-STDS | Research Products for Standards | To be discussed | https://github.com/skg-if/extensions/issues/5 | ++----------+----------------------------------------------+-----------------------+---------------------------------------------------------------+ diff --git a/docs/commons/skg/skg-if-metadata-model.rst b/docs/commons/skg/skg-if-metadata-model.rst index 23e9806..de11472 100644 --- a/docs/commons/skg/skg-if-metadata-model.rst +++ b/docs/commons/skg/skg-if-metadata-model.rst @@ -1,4 +1,5 @@ -OSTrails Application Profile for SKGs +OSTrails Metadata Model for SKGs --------------------------------------------------- -The documentation about the SKG-IF consolidated JSON schema can be found online `here `_. +OSTrails contributed to the consolidation and complies to the JSON format defined by the SKG-IF. +More information about the entities, their properties and relations can be found online `here `_. From 1339b559c634d4d35fa2a66b1140f48a65e8e01d Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 11 Dec 2025 16:44:27 +0100 Subject: [PATCH 041/101] fixing broken table --- docs/commons/skg/mappings/index.rst | 2 +- docs/commons/skg/skg-if-api-specification.rst | 2 +- docs/commons/skg/skg-if-entity-extension.rst | 18 +++++++++--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/commons/skg/mappings/index.rst b/docs/commons/skg/mappings/index.rst index 8156bfe..c174682 100644 --- a/docs/commons/skg/mappings/index.rst +++ b/docs/commons/skg/mappings/index.rst @@ -1,5 +1,5 @@ SKG-IF mappings -============== +================== - *Planned resource to be developed* diff --git a/docs/commons/skg/skg-if-api-specification.rst b/docs/commons/skg/skg-if-api-specification.rst index fbe22db..ae1ded9 100644 --- a/docs/commons/skg/skg-if-api-specification.rst +++ b/docs/commons/skg/skg-if-api-specification.rst @@ -1,5 +1,5 @@ OSTrails SKG-IF API Specification ------------------------------- +-------------------------------------- OSTrails led the definition of the SKG-IF API specification, which provides dedicated endpoints for each SKG-IF core entity and supports querying and filtering More information can be found online `here `_. \ No newline at end of file diff --git a/docs/commons/skg/skg-if-entity-extension.rst b/docs/commons/skg/skg-if-entity-extension.rst index 30d8a0b..6edc2e7 100644 --- a/docs/commons/skg/skg-if-entity-extension.rst +++ b/docs/commons/skg/skg-if-entity-extension.rst @@ -4,12 +4,12 @@ OSTrails SKG-IF Extensions Within the OSTrails context, a number of extensions have been submitted to the attention of the SKG-IF Working Group. The status of such ext-submissions is summarised in the table below: -+----------+----------------------------------------------+-----------------------+---------------------------------------------------------------+ -| Acronym | Scope | Status | Link/request | -+==========+==============================================+=======================+===============================================================+ -| SRV | New entity to model services | Under development | https://skg-if.github.io/ext-srv/ | -+----------+----------------------------------------------+-----------------------+---------------------------------------------------------------+ -| SKG-PROV | Provenance tracking | To be discussed | https://github.com/skg-if/extensions/issues/4 | -+----------+----------------------------------------------+-----------------------+---------------------------------------------------------------+ -| RP-STDS | Research Products for Standards | To be discussed | https://github.com/skg-if/extensions/issues/5 | -+----------+----------------------------------------------+-----------------------+---------------------------------------------------------------+ ++----------+-------------------------------------------+-----------------------+---------------------------------------------------------------+ +| Acronym | Scope | Status | Link/request | ++==========+===========================================+=======================+===============================================================+ +| SRV | New entity to model services | Under development | https://skg-if.github.io/ext-srv/ | ++----------+-------------------------------------------+-----------------------+---------------------------------------------------------------+ +| SKG-PROV | Provenance tracking | To be discussed | https://github.com/skg-if/extensions/issues/4 | ++----------+-------------------------------------------+-----------------------+---------------------------------------------------------------+ +| RP-STDS | Research Products for Standards | To be discussed | https://github.com/skg-if/extensions/issues/5 | ++----------+-------------------------------------------+-----------------------+---------------------------------------------------------------+ From 9609eef6c3e228f22e61550ca5f1d695f4d11328 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 11 Dec 2025 16:47:25 +0100 Subject: [PATCH 042/101] fixing broken table --- docs/commons/skg/skg-if-entity-extension.rst | 31 ++++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/docs/commons/skg/skg-if-entity-extension.rst b/docs/commons/skg/skg-if-entity-extension.rst index 6edc2e7..1bef737 100644 --- a/docs/commons/skg/skg-if-entity-extension.rst +++ b/docs/commons/skg/skg-if-entity-extension.rst @@ -4,12 +4,25 @@ OSTrails SKG-IF Extensions Within the OSTrails context, a number of extensions have been submitted to the attention of the SKG-IF Working Group. The status of such ext-submissions is summarised in the table below: -+----------+-------------------------------------------+-----------------------+---------------------------------------------------------------+ -| Acronym | Scope | Status | Link/request | -+==========+===========================================+=======================+===============================================================+ -| SRV | New entity to model services | Under development | https://skg-if.github.io/ext-srv/ | -+----------+-------------------------------------------+-----------------------+---------------------------------------------------------------+ -| SKG-PROV | Provenance tracking | To be discussed | https://github.com/skg-if/extensions/issues/4 | -+----------+-------------------------------------------+-----------------------+---------------------------------------------------------------+ -| RP-STDS | Research Products for Standards | To be discussed | https://github.com/skg-if/extensions/issues/5 | -+----------+-------------------------------------------+-----------------------+---------------------------------------------------------------+ +.. list-table:: + :header-rows: 1 + + * - Acronym + - Scope + - Status + - Link/request + + * - SRV + - New entity to model services + - Under development + - https://skg-if.github.io/ext-srv/ + + * - SKG-PROV + - Provenance tracking + - To be discussed + - https://github.com/skg-if/extensions/issues/4 + + * - RP-STDS + - Research Products for Standards + - To be discussed + - https://github.com/skg-if/extensions/issues/5 \ No newline at end of file From 160c3bd249c42718dbeeb6f13a9a069c50f7ac53 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 11 Dec 2025 16:55:19 +0100 Subject: [PATCH 043/101] adding contributors --- CONTRIBUTORS.yml | 14 ++++++++++++++ docs/architecture/skg_if.rst | 3 ++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS.yml b/CONTRIBUTORS.yml index 9e26645..f175f36 100644 --- a/CONTRIBUTORS.yml +++ b/CONTRIBUTORS.yml @@ -47,3 +47,17 @@ Katja Moilanen: github: katja-moilanen orcid: 0000-0002-7668-5427 affiliation: TAU-FSD/CESSDA + +Andrea Mannocci: + first_name: Andrea + last_name: Mannocci + github: andremann + orcid: 0000-0002-5193-7851 + affiliation: CNR-ISTI + +Paolo Manghi: + first_name: Paolo + last_name: Manghi + github: paolomanghi + orcid: 0000-0001-7291-3210 + affiliation: CNR-ISTI diff --git a/docs/architecture/skg_if.rst b/docs/architecture/skg_if.rst index a230c1f..02e88e6 100644 --- a/docs/architecture/skg_if.rst +++ b/docs/architecture/skg_if.rst @@ -2,7 +2,8 @@ Architecture: SKG IF ==================== .. page-authors:: - Tomasz Miksa + Andrea Mannocci + Paolo Manghi This page introduces the Scientific/Scholarly Knowledge Graph Interoperability Framework (SKG-IF). It outlines its motivation, relation to key elements, and applications in OSTrails. From 6e159e8954c61ca26d851bb34387e70664b92ae9 Mon Sep 17 00:00:00 2001 From: Katja Moilanen Date: Fri, 12 Dec 2025 15:29:19 +0200 Subject: [PATCH 044/101] Docs: Update SKG-IF and DDI2.5 mapping (Mapping-SKGIF-DDI.rst) Will fix mistakes in JSONPaths on Monday 15.12.2025 --- .../skg/mappings/Mapping-SKGIF-DDI.rst | 732 +++++++++++++++++- 1 file changed, 730 insertions(+), 2 deletions(-) diff --git a/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst b/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst index 9272786..f5d55d5 100644 --- a/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst +++ b/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst @@ -4,17 +4,745 @@ Mapping between SKG Interoperability Framework and DDI2.5 .. page-authors:: Katja Moilanen -Some lines about SKG-IF -Some text about DDI2.5 +**The SKG-IF Interoperability Framework** enables to exchange data about six core entities and their relationships These entities are: +1. Research Product – may be literature, data, software, or other +2. Agent – may represent a Person, an Organization, or a generic Agent linked to other entities +3. Grant – describes the funding of a project +4. Venue – models a publishing gateway +5. Topic – defines terms that can be used to describe a research product +6. Data Source – represents the storage location of a research product +For more details, visit: https://skg-if.github.io/interoperability-framework/. + +**DDI 2.5** can be used to provide structured, descriptive documentation of a dataset’s content, meaning, provenance, and access. It includes metadata fields suitable for both quantitative and qualitative research data in the social, behavioral, economic, and health sciences. +For more information, visit: https://ddialliance.org/ddi-codebook_v2.5 . + +**The mapping between SKG Interoperability Framework and DDI2.5** is intended for individuals who are familiar with DDI 2.5 but new to SKG-IF. To support this, it provides four columns related to SKG-IF: Property name (JSONPath), Type, Optional/recommended/mandatory and Description. For DDI 2.5, there is a single column: DDI 2.5 XPath (excluding Dublin Core fields). Additionally, the Notes column contains miscellaneous information about both SKG-IF and DDI 2.5. + Dataset as research product ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | +| | |/mandatory | | | | ++==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | +| | | |use URL as identifier | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | +| | | |identifiers for the entity | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |/codeBook/stdyDscr/citation/titlStmt/IDNo/@agency |Only in the case that this attribute is used for the name of the PID | +| | | |system | |e.g. DOI | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers.value |String |mandatory |The external identifier |/codeBook/stdyDscr/citation/titlStmt/IDNo |Only in the case that this element is used for the PID e.g. | +| | | | | |10.17026/dans-xpf-5u9e | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to product. |information can be generated because it is always “product” | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.titles |Object |optional |The titles of the entity |structure, no need to map | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.titles.ISO 639-1 language |name of the key |? |The name of the key, which must be ISO 639-1 |/codeBook/stdyDscr/citation/titlStmt/titl/@xml:lang |If XML file is monolingual then /codeBook/@xml:lang is used | +|code | | |language code and be the language of the content |/codeBook/stdyDscr/citation/titlStmt/parTitl/@xml:lang | | +| | | |of the value | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.titles.ISO 639-1 language |Array of Strings |? |The list of the titles in the given (ISO 639-1) |/codeBook/stdyDscr/citation/titlStmt/titl |It also possible to map "titles" with the bibliographical citation if | +|code | | |language, specified by the key name |/codeBook/stdyDscr/citation/titlStmt/parTitl |needed: | +| | | | | |/codeBook/stdyDscr/citation/rspStmt/biblCit | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.abstracts |Object |optional |The abstracts of the entity |structure, no need to map | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.abstracts.ISO 639-1 |name of the key |? |The name of the key, which must be ISO 639-1 |/codeBook/stdyDscr/stdyInfo/abstract/@xml:lang |If XML file is monolingual then /codeBook/@xml:lang is used | +|language code | | |language code and be the language of the content | | | +| | | |of the value | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.abstracts.ISO 639-1 |Array of Strings |? |The list of the abstracts in the given (ISO |/codeBook/stdyDscr/stdyInfo/abstract | | +|language code | | |639-1) language, specified by the key name | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.product_type |String |optional |The type of the product , one of the values |information can be generated because it is always “research data” | | +| | | |“research data”, “literature”, "research | | | +| | | |software", "other" | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.topics |Array of Objects |optional |The array of the objects referring to entity |structure, no need to map | | +| | | |Topic | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.topics.term |String |mandatory |The reference, (local) identifier, of the topic |/codeBook/stdyDscr/stdyInfo/subject/keyword |Even if keyword and topcClas are the best mappings, it is possible to | +| | | |relevant for this entity |/codeBook/stdyDscr/stdyInfo/subject/topcClas |map any "vocabulary field" to this e.g. | +| | | | | |/codeBook/stdyDscr/sumDscr/anlyUnit | +| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth | +| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc | +| | | | | |/codeBook/stdyDscr/method/dataColl/collMode | +| | | | | |/codeBook/stdyDscr/sumDscr/dataKind | +| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru | +| | | | | | | +| | | | | | | +| | | | | |DDI-C does not support references to topics (or more generally to | +| | | | | |vocabulary terms). Therefore there is no direct mapping for this | +| | | | | |field. This mapping is based on the suitable information content. | +| | | | | |Note that in SKG-IF the terms are documented using Topics entity and | +| | | | | |the related Topics entities are only referenced here using their | +| | | | | |identifier. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.topics.provenance |Array of Objects |recommended |The provanance information tracking the |structure, no need to map | | +| | | |software(s) used for adding topics and the trust | | | +| | | |in given relation . | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.topics.provenance.associat |String |mandatory |The reference, (local) identifier, of the Agent |not supported | | +|ed_with | | |responsible for adding this term to this | | | +| | | |research product. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.topics.provenance.trust |Number (float) |mandatory |The trust given to the relation |not supported | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions |Array of Objects |optional |The array of objects describing the contributors |structure, no need to map | | +| | | |and their contribution | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.by |String |mandatory |The reference (Identifier) of the agent |/codeBook/docDscr/citation/prodStmt/producer |DDI-C does not support references. Therefore there is no direct | +| | | |contributing to the research product |/codeBook/stdyDscr/citation/rspStmt/AuthEnty |mapping for this field. This mapping is based on the suitable | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId |information content. Note that in SKG-IF the contributors are | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer |documented using Agent entity and the related Agent entities are only | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector |referenced here using their identifier. | +| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.declared_aff |Array of Strings |recommended |The reference (identifier) of the agent which is |/codeBook/docDscr/citation/prodStmt/producer/@affiliation |DDI-C does not support references. Therefore there is no direct | +|iliations | | |affiliation of the contributor. |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation |mapping for this field. This mapping is based on the suitable | +| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation |information content. Note that in SKG-IF the contributor affiliations | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation |are documented using Agent entity and the related Agent entities are | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation |only referenced here using their identifier. | +| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| | | | | | | +| | | | | | | +| | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.rank |Number (integer) |recommended |The rank of the agent (order of appearance e.g. |not supported | | +| | | |in the list of authors) | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.role |String |recommended |The role of the agent. The possible values are |information can be generated because it is always “author” | | +| | | |author, editor, publisher. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.contribution |Array of Strings |recommended |The contributions of the agent using CRediT |DDI-element mappings with CReciT taxonomy: | | +|_types | | |taxonomy |/codeBook/docDscr/citation/prodStmt/producer: "Data curation" | | +| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty: "Conceptualization", "Investigation", "Methodology", | | +| | | | |"Supervision" | | +| | | | |codeBook/stdyDscr/citation/rspStmt/othId: the mapping must be done case by case depending of the | | +| | | | |role in this work | | +| | | | |/codeBook/stdyDscr/citation/prodStmt/producer: "Project administration" | | +| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector: "Investigation" | | +| | | | |codeBook/stdyDscr/studyDevelopment/developmentActivity/participant: mapping depends of the | | +| | | | |development activity type of the participant | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations |Array of Objects |optional |Object representing different and multiple |structure, no need to map |In the case of datasets, it is possible to only describe one | +| | | |manifestations of the same research product | |manifestation for the most recent version or the document all | +| | | | | |different versions of the same datasets as manifestations. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type |Object |recommended |The object representing the type of the |structure, no need to map | | +| | | |manifestation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type.class |String |recommended |The URL of the class identifying the entity |not applicable | | +| | | |(e.g., in an ontology) describing that type. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type.labels |Object |recommended |The object used for documenting the labels |not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type.labels |name of the key |? |The name of the key, which must be ISO 639-1 |No need to fill in, if there is just one manifestation for a research product. If different versions | | +|.ISO 639-1 language code | | |language code and be the language of the content |of the dataset are described as manifestations, can be set to "Version" and use "en" as the name of | | +| | | |of the value |the key. | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type.labels |Array of Strings |? |The label describing the manifestation type. |No need to fill in, if there is just one manifestation for a research product. If different versions | | +|.ISO 639-1 language code | | | |of the dataset are described as manifestations, can be set to "Version". | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type.define |String |recommended |The URL of the schema of the manifestation type, |not applicable | | +|d_in | | |e.g., a link to the vocabulary of allowed | | | +| | | |product types. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates |Object |recommended |The object is a dictionary, the keys represent |structure, no need to map |Choose the dates suitable for your own use case. | +| | | |the type of date and the value is expressed as | | | +| | | |either a string or a list of string, where each | | | +| | | |string is compliant with the ISO 8601 datetime | | | +| | | |string. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.accep |String or Array |? |The date of acceptance |not applicable | | +|tance |of Strings | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.acces |String or Array |? |The date on which a particular digital item has |not applicable | | +|s |of Strings | |been accessed by somebody. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.colle |String or Array |? |The date on which some item has been collected, |/codeBook/stdyDscr/stdyInfo/sumDscr/collDate/@date | | +|cted |of Strings | |for example the data gathered by means of | | | +| | | |questionnaires. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.copyr |String or Array |? |The date on which an entity has been |not applicable | | +|ight |of Strings | |copyrighted. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.corre |String or Array |? |The date on which something, for example a |not applicable | | +|ction |of Strings | |document, is corrected. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.creat |String or Array |? |The date on which an entity has been created. |/codeBook/stdyDscr/citation/prodStmt/prodDate/@date | | +|ion |of Strings | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.decis |String or Array |? |The date on which a particular endeavour, such |not applicable | | +|ion |of Strings | |as a grant application, has been or will be | | | +| | | |approved or rejected by somebody. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.depos |String or Array |? |The date on which an entity has been deposited, |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/depDate/@date | | +|it |of Strings | |for example in a library, repository, | | | +| | | |supplementary information archive, database or | | | +| | | |similar place of document or information | | | +| | | |storage. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.distr |String or Array |? |The date on which something is distributed, for |not applicable | | +|ibution |of Strings | |example the date on which a preprint of a | | | +| | | |document is e-mailed to colleagues and other | | | +| | | |academics by the author(s), or the date on which | | | +| | | |a printed announcement of forthcoming theatre | | | +| | | |events is mailed to those those on the theatre’s | | | +| | | |mailing list. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.embar |String or Array |? |The date before which an entity should not be |not supported | | +|go |of Strings | |published, or before which a press release | | | +| | | |should not be reported on. For open-access | | | +| | | |journal articles, the embargo date is the date | | | +| | | |before which availability of the open-access | | | +| | | |version of the article is restricted by the | | | +| | | |publisher, following subscription-access | | | +| | | |availability of the published work. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.modif |String or Array |? |The date on which an entity has been modified. |/codeBook/docDscr/citation/verStmt/version/@date | | +|ied |of Strings | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.publi |String or Array |? |The date of formal issuance of a resource (e.g. |/codeBook/stdyDscr/citation/distStmt/distDate/@date | | +|cation |of Strings | |a publication or a patent). | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.recei |String or Array |? |The date on which some item is received, for |not applicable | | +|ved |of Strings | |example a document being received by a | | | +| | | |publisher. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.reque |String or Array |? |The date on which an agent is requested to do |not applicable | | +|st |of Strings | |something, for example a reviewer is requested | | | +| | | |to write a review of a paper submitted to a | | | +| | | |journal for publication, or an author is | | | +| | | |requested to supply a revised version of the | | | +| | | |paper in response to the reviews received. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.retra |String or Array |? |The date on which something, for example a claim |not applicable | | +|ction |of Strings | |or a journal article, is retracted. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.valid |String or Array |? |Date of validity of a resource. |not applicable | | +|ity |of Strings | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.identifiers |Array of Objects |recommended |External identifiers of the manifestationt |structure, no need to map |This is not mandatory information. In the case of documenting just | +| | | | | |the most recent version of the dataset, this information already is | +| | | | | |documented in $.identifiers. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.identifiers |String |mandatory |The scheme for the external identifier. |/codeBook/stdyDscr/citation/titlStmt/IDNo/@agency |Only in the case that this attribute is used for the name of the PID | +|.scheme | | | | |e.g. DOI. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.identifiers |String |mandatory |The external identifier. |/codeBook/stdyDscr/citation/titlStmt/IDNo |Only in the case that this element is used for the PID e.g. | +|.value | | | | |10.17026/dans-xpf-5u9e | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.peer_review |Object |recommended |Whether the manifestation has undergone a peer |structure, no need to map | | +| | | |review. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.peer_review |String |mandatory |The status (reviewed or not yet) of the peer- |not applicable | | +|.status | | |review. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.peer_review |String |recommended |The type of peer review. Allowed values: single- |not applicable | | +|.description | | |blind peer review, double-blind peer review, | | | +| | | |open peer review. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.access_righ |Object |recommended |The access rights of this manifestation |structure, no need to map | | +|ts | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.access_righ |String |mandatory |Describes if the manifestation is open access |/codeBook/stdyDscr/dataAccs/useStmt/conditions |There is no perfect field for this in DDI2.5. All the "access | +|ts.status | | |(open), closed access (closed), under embargo | |information" fields are more like a free text fields. | +| | | |(embargoed), restricted access (restricted), or | | | +| | | |unavailable for some reason (unavailable). | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.access_righ |String |recommended |Describe and qualify the specific status |/codeBook/stdyDscr/dataAccs/useStmt/restrctn | | +|ts.description | | |selected. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.licence |String |recommended |The URL of the licence specific to the |not supported | | +| | | |manifestation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.version |String |recommended |The version for a software or research data |/codeBook/docDscr/citation/verStmt/version | | +| | | |product. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio |Object |optional |An object containing bibliographic information |structure, no need to map | | +| | | |about a manifestation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.issu |String |optional |Issue number |not applicable | | +|e | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.page |Object |optional |The pages (e.g. of the book or journal) where |not applicable | | +|s | | |the manifestation in defined | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.page |String |mandatory |The starting page |not applicable | | +|s.first | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.page |String |mandatory |The ending page |not applicable | | +|s.last | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.volu |String |optional |Volume number (for journals, books, conferences) |not applicable | | +|me | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.edit |String |optional |The edition (for journals and books) |not applicable | | +|ion | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.numb |String |optional |A number of the manifestation within Venue (e.g. |not applicable | | +|er | | |chapter number) | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.in |String |optional |A Venue identifier for the manifestation. |/codeBook/stdyDscr/citation/distStmt/distrbtr |DDI-C does not support references. Therefore there is no direct | +| | | | |The mapping of the field is dependent on the implementation. If metadata is harvested and published |mapping for this field. This mapping is based on the suitable | +| | | | |by a second party, then there is no mapping. |information content. Note that in SKG-IF the venue/publishing gateway | +| | | | | |is documented using Venue entity and the related Venue entities are | +| | | | | |only referenced here using their identifier. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.host |String |optional |A Data source identifier for the manifestation. |/codeBook/stdyDscr/citation/holdings/@location |DDI-C does not support references. Therefore there is no direct | +|ing_data_source | | | | |mapping for this field. This mapping is based on the suitable | +| | | | | |information content. Note that in SKG-IF the venue/publishing gateway | +| | | | | |is documented using Venue entity and the related Venue entities are | +| | | | | |only referenced here using their identifier. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.relevant_organisations |Array of Strings |optional |Relevant Organisation identifiers associated |not applicable | | +| | | |with a Research product, in case the individual | | | +| | | |affiliations of an Agent are not available. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.funding |Array of Strings |optional |Relevant Grant identifiers associated with a |/codeBook/stdyDscr/citation/prodStmt/grantNo |DDI-C does not support references. Therefore there is no direct | +| | | |Research product. | |mapping for this field. This mapping is based on the suitable | +| | | | | |information content. Note that in SKG-IF the grant is documented | +| | | | | |using Grant entity and the related Grant entities are only referenced | +| | | | | |here using their identifier. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products |Object |optional |Related Research products, where the semantics |structure, no need to map | | +| | | |of such relationships is specified as a key. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products.cites |Array of Strings |optional |Research products identifiers that are cited by |In SKG publication e.g. article using a dataset tells which datasets it cites. In DDI2.5 it is other | | +| | | |a given Research product. |way around, the dataset has the information which publications are related to (using) the dataset. | | +| | | | |Therefore mapping for this field is done with element "pointing" from dataset to the publication | | +| | | | |which cites the dataset. | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products.is_supple |Array of Strings |optional |Research products identifiers that are |/codeBook/otherMat |DDI-C does not support references. Therefore there is no direct | +|mented_by | | |supplement of a given Research product. | |mapping for this field. This mapping is based on the suitable | +| | | | | |information content. Note that in SKG-IF is_supplemented_by is | +| | | | | |documented using Research Product entity and the related Research | +| | | | | |Product entities are only referenced here using their identifier. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products.is_docume |Array of Strings |optional |Research products identifiers that documents a |/codeBook/stdyDscr/othrStdyMat/relMat |DDI-C does not support references. Therefore there is no direct | +|nted_by | | |given Research product. | |mapping for this field. This mapping is based on the suitable | +| | | | | |information content. Note that in SKG-IF is_documented_by is | +| | | | | |documented using Research Product entity and the related Research | +| | | | | |Product entities are only referenced here using their identifier. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products.is_new_ve |Array of Strings |optional |Research products identifiers that are prior |not applicable | | +|rsion_of | | |versions of a given Research product. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products.is_part_o |Array of Strings |optional |Research products identifiers that contain the |/codeBook/stdyDscr/citation/serStmt |DDI-C does not support references. Therefore there is no direct | +|f | | |current Research product. | |mapping for this field. This mapping is based on the suitable | +| | | | | |information content. Note that in SKG-IF is_part_of is documented | +| | | | | |using Research Product entity and the related Research Product | +| | | | | |entities are only referenced here using their identifier. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Related publications, related materials, other materials and series as research product ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | +| | |/mandatory | | | | ++==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | +| | | |use URL as identifier | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | +| | | |identifiers for the entity | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Publication citing (cites) the dataset (related publication): | | +| | | |system |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo/@agency | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo/@agency | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/titlStmt/IDNo/@agency | | +| | | | | | | +| | | | |Series information of the dataset (is_part_of): | | +| | | | |set value to "url" | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.identifiers.value |String |mandatory |The external identifier |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/titlStmt/IDNo | | +| | | | | | | +| | | | |Series information of the dataset (is_part_of): | | +| | | | |/codeBook/stdyDscr/citation/serStmt/@URI | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to product. |information can be generated because it is always “product” | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.titles |Object |optional |The titles of the entity |structure, no need to map | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.titles.ISO 639-1 language |name of the key |? |The name of the key, which must be ISO 639-1 |Publication citing (cites) the dataset (related publication): |If XML file is monolingual then /codeBook/@xml:lang my be used in | +|code | | |language code and be the language of the content |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/titl/@xml:lang |some cases | +| | | |of the value |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/parTitl/@xml:lang | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/titl/@xml:lang | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/parTitl/@xml:lang | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/titlStmt/titl/@xml:lang | | +| | | | |/codeBook/otherMat/citation/titlStmt/parTitl/@xml:lang | | +| | | | | | | +| | | | |Series information of the dataset (is_part_of): | | +| | | | |/codeBook/stdyDscr/citation/serStmt/serName/@xml:lang | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.titles.ISO 639-1 language |Array of Strings |? |The list of the titles in the given (ISO 639-1) |Publication citing (cites) the dataset (related publication): | | +|code | | |language, specified by the key name |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/titl | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/parTitl | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/titl | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/parTitl | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/titlStmt/titl | | +| | | | |/codeBook/otherMat/citation/titlStmt/parTitl | | +| | | | | | | +| | | | |Series information of the dataset (is_part_of): | | +| | | | |/codeBook/stdyDscr/citation/serStmt/serName | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.abstracts |Object |optional |The abstracts of the entity |structure, no need to map | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.abstracts.ISO 639-1 |name of the key |? |The name of the key, which must be ISO 639-1 |Series information of the dataset (is_part_of): |If XML file is monolingual then /codeBook/@xml:lang is used | +|language code | | |language code and be the language of the content |/codeBook/stdyDscr/citation/serStmt/serInfo/@xml:lang | | +| | | |of the value | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.abstracts.ISO 639-1 |Array of Strings |? |The list of the abstracts in the given (ISO |Series information of the dataset (is_part_of): | | +|language code | | |639-1) language, specified by the key name |/codeBook/stdyDscr/citation/serStmt/serInfo | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.product_type |String |optional |The type of the product , one of the values |information can be generated because it is either “literature” e.g. related publication or "other" | | +| | | |“research data”, “literature”, "research |e.g. other material, series information | | +| | | |software", "other" | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.topics |Array of Objects |optional |The array of the objects referring to entity |structure, no need to map | | +| | | |Topic | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.topics.term |String |mandatory |The reference, (local) identifier, of the topic |not applicable | | +| | | |relevant for this entity | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.topics.provenance |Array of Objects |recommended |The provanance information tracking the |structure, no need to map | | +| | | |software(s) used for adding topics and the trust | | | +| | | |in given relation . | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.topics.provenance.associat |String |mandatory |The reference, (local) identifier, of the Agent |not applicable | | +|ed_with | | |responsible for adding this term to this | | | +| | | |research product. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.topics.provenance.trust |Number (float) |mandatory |The trust given to the relation |not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions |Array of Objects |optional |The array of objects describing the contributors |structure, no need to map | | +| | | |and their contribution | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.by |String |mandatory |The reference (Identifier) of the agent |Publication citing (cites) the dataset (related publication): |DDI-C does not support references. Therefore there is no direct | +| | | |contributing to the research product |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty |mapping for this field. This mapping is based on the suitable | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId |information content. Note that in SKG-IF the contributors are | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer |documented using Agent entity and the related Agent entities are only | +| | | | | |referenced here using their identifier. | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.declared_aff |String |recommended |The reference (identifier) of the agent which is |Publication citing (cites) the dataset (related publication): |DDI-C does not support references. Therefore there is no direct | +|iliations | | |affiliation of the contributor. |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation |mapping for this field. This mapping is based on the suitable | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation |information content. Note that in SKG-IF the contributor affiliations | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation |are documented using Agent entity and the related Agent entities are | +| | | | | |only referenced here using their identifier. | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.rank |Number (integer) |recommended |The rank of the agent (order of appearance e.g. |not applicable | | +| | | |in the list of authors) | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.role |String |recommended |The role of the agent. The possible values are |information can be generated because it is always “author” | | +| | | |author, editor, publisher. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.contributions.contribution |Array of Strings |recommended |The contributions of the agent using CRediT |DDI-element mappings with CReciT taxonomy: | | +|_types | | |taxonomy |Publication citing (cites) the dataset (related publication): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty: the mapping must be done | | +| | | | |case by case depending of the role in this work | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId: the mapping must be done | | +| | | | |case by case depending of the role in this work | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer: "Project administration" | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty: the mapping must be done | | +| | | | |case by case depending of the role in this work | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId: the mapping must be done case | | +| | | | |by case depending of the role in this work | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer: "Project administration" | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty: the mapping must be done case by case | | +| | | | |depending of the role in this work | | +| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId: the mapping must be done case by case depending | | +| | | | |of the role in this work | | +| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer: "Project administration" | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations |Array of Objects |optional |Object representing different and multiple |structure, no need to map | | +| | | |manifestations of the same research product | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type |Object |recommended |The object representing the type of the |structure, no need to map | | +| | | |manifestation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type.class |String |recommended |The URL of the class identifying the entity |not applicable | | +| | | |(e.g., in an ontology) describing that type. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type.labels |Object |recommended |The object used for documenting the labels |not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type.labels |name of the key |? |The name of the key, which must be ISO 639-1 |No need to fill in, if there is just one manifestation for a research product. If different versions | | +|.ISO 639-1 language code | | |language code and be the language of the content |of the related publication / related material / other material are described as manifestations, use | | +| | | |of the value |e.g. "en" as the name of the key (language). | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type.labels |Array of Strings |? |The label describing the manifestation type. |No need to fill in, if there is just one manifestation for a research product. If different versions | | +|.ISO 639-1 language code | | | |of the related publication / related material / other material are described as manifestations, can | | +| | | | |be set to "Version" and use "en" as the name of the key. | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.type.define |String |recommended |The URL of the schema of the manifestation type, |not applicable | | +|d_in | | |e.g., a link to the vocabulary of allowed | | | +| | | |product types. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates |Object |recommended |The object is a dictionary, the keys represent |structure, no need to map | | +| | | |the type of date and the value is expressed as | | | +| | | |either a string or a list of string, where each | | | +| | | |string is compliant with the ISO 8601 datetime | | | +| | | |string. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.accep |String or Array |? |The date of acceptance |not applicable | | +|tance |of Strings | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.acces |String or Array |? |The date on which a particular digital item has |not applicable | | +|s |of Strings | |been accessed by somebody. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.colle |String or Array |? |The date on which some item has been collected, |not applicable | | +|cted |of Strings | |for example the data gathered by means of | | | +| | | |questionnaires. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.copyr |String or Array |? |The date on which an entity has been |not applicable | | +|ight |of Strings | |copyrighted. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.corre |String or Array |? |The date on which something, for example a |not applicable | | +|ction |of Strings | |document, is corrected. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.creat |String or Array |? |The date on which an entity has been created. |Publication citing (cites) the dataset (related publication): | | +|ion |of Strings | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/prodDate/@date | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/prodDate/@date | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/prodStmt/prodDate/@date | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.decis |String or Array |? |The date on which a particular endeavour, such |not applicable | | +|ion |of Strings | |as a grant application, has been or will be | | | +| | | |approved or rejected by somebody. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.depos |String or Array |? |The date on which an entity has been deposited, |Publication citing (cites) the dataset (related publication): | | +|it |of Strings | |for example in a library, repository, |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/depDate/@date | | +| | | |supplementary information archive, database or | | | +| | | |similar place of document or information |Material documenting (is_documented_by) the dataset (related material): | | +| | | |storage. |/codeBook/stdyDscr/othrStdyMat/relMat/citation/distStmt/depDate/@date | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/distStmt/depDate/@date | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.distr |String or Array |? |The date on which something is distributed, for |not applicable | | +|ibution |of Strings | |example the date on which a preprint of a | | | +| | | |document is e-mailed to colleagues and other | | | +| | | |academics by the author(s), or the date on which | | | +| | | |a printed announcement of forthcoming theatre | | | +| | | |events is mailed to those those on the theatre’s | | | +| | | |mailing list. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.embar |String or Array |? |The date before which an entity should not be |not applicable | | +|go |of Strings | |published, or before which a press release | | | +| | | |should not be reported on. For open-access | | | +| | | |journal articles, the embargo date is the date | | | +| | | |before which availability of the open-access | | | +| | | |version of the article is restricted by the | | | +| | | |publisher, following subscription-access | | | +| | | |availability of the published work. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.modif |String or Array |? |The date on which an entity has been modified. |Publication citing (cites) the dataset (related publication): | | +|ied |of Strings | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/verStmt/version/@date | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/verStmt/version/@date | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/verStmt/version/@date | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.publi |String or Array |? |The date of formal issuance of a resource (e.g. |Publication citing (cites) the dataset (related publication): | | +|cation |of Strings | |a publication or a patent). |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/distDate/@date | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/distStmt/distDate/@date | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/distStmt/distDate/@date | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.recei |String or Array |? |The date on which some item is received, for |not applicable | | +|ved |of Strings | |example a document being received by a | | | +| | | |publisher. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.reque |String or Array |? |The date on which an agent is requested to do |not applicable | | +|st |of Strings | |something, for example a reviewer is requested | | | +| | | |to write a review of a paper submitted to a | | | +| | | |journal for publication, or an author is | | | +| | | |requested to supply a revised version of the | | | +| | | |paper in response to the reviews received. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.retra |String or Array |? |The date on which something, for example a claim |not applicable | | +|ction |of Strings | |or a journal article, is retracted. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.dates.valid |String or Array |? |Date of validity of a resource. |not applicable | | +|ity |of Strings | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.identifiers |Array of Objects |recommended |External identifiers of the manifestationt |structure, no need to map | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.identifiers |String |mandatory |The scheme for the external identifier. |Publication citing (cites) the dataset (related publication): | | +|.scheme | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo/@agency | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo/@agency | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/titlStmt/IDNo/@agency | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.identifiers |String |mandatory |The external identifier. |Publication citing (cites) the dataset (related publication): | | +|.value | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/titlStmt/IDNo | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.peer_review |Object |recommended |Whether the manifestation has undergone a peer |structure, no need to map | | +| | | |review. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.peer_review |String |mandatory |The status (reviewed or not yet) of the |not applicable | | +|.status | | |peer-review. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.peer_review |String |recommended |The type of peer review. Allowed values: |not applicable | | +|.description | | |single-blind peer review, double-blind peer | | | +| | | |review, open peer review. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.access_righ |Object |recommended |The access rights of this manifestation |structure, no need to map | | +|ts | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.access_righ |String |mandatory |Describes if the manifestation is open access |not applicable | | +|ts.status | | |(open), closed access (closed), under embargo | | | +| | | |(embargoed), restricted access (restricted), or | | | +| | | |unavailable for some reason (unavailable). | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|manifestations.access_rights |String |recommended |Describe and qualify the specific status |not applicable | | +|.description | | |selected. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.licence |String |recommended |The URL of the licence specific to the |not applicable | | +| | | |manifestation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.version |String |recommended |The version for a software or research data |Publication citing (cites) the dataset (related publication): | | +| | | |product. |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/verStmt/version | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/verStmt/version | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/verStmt/version | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio |Object |optional |An object containing bibliographic information |structure, no need to map | | +| | | |about a manifestation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.issu |String |optional |Issue number |not supported | | +|e | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.page |Object |optional |The pages (e.g. of the book or journal) where |not supported | | +|s | | |the manifestation in defined | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.page |String |mandatory |The starting page |not supported | | +|s.first | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.page |String |mandatory |The ending page |not supported | | +|s.last | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.volu |String |optional |Volume number (for journals, books, conferences) |not supported | | +|me | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.edit |String |optional |The edition (for journals and books) |not supported | | +|ion | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.numb |String |optional |A number of the manifestation within Venue (e.g. |not supported | | +|er | | |chapter number) | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.in |String |optional |A Venue identifier for the manifestation. |not supported | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.manifestations.biblio.host |String |optional |A Data source identifier for the manifestation. |Publication citing (cites) the dataset (related publication): | | +|ing_data_source | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/holdings/@location | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/holdings/@location | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/holdings/@location | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.relevant_organisations |Array of Strings |optional |Relevant Organisation identifiers associated |not applicable | | +| | | |with a Research product, in case the individual | | | +| | | |affiliations of an Agent are not available. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.funding |Array of Strings |optional |Relevant Grant identifiers associated with a |Publication citing (cites) the dataset (related publication): | | +| | | |Research product. |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo | | +| | | | | | | +| | | | |Material documenting (is_documented_by) the dataset (related material): | | +| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo | | +| | | | | | | +| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | |/codeBook/otherMat/citation/prodStmt/grantNo | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products |Object |optional |Related Research products, where the semantics |structure, no need to map | | +| | | |of such relationships is specified as a key. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products.cites |Array of Strings |optional |Research products identifiers that are cited by |In SKG publication e.g. article using a dataset tells which datasets it cites. In DDI2.5 it is other | | +| | | |a given Research product. |way around, the dataset has the information which publications are related to (using) the dataset. | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products.is_supple |Array of Strings |optional |Research products identifiers that are |not applicable | | +|mented_by | | |supplement of a given Research product. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products.is_docume |Array of Strings |optional |Research products identifiers that documents a |not applicable | | +|nted_by | | |given Research product. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products.is_new_ve |Array of Strings |optional |Research products identifiers that are prior |not applicable | | +|rsion_of | | |versions of a given Research product. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +|$.related_products.is_part_o |Array of Strings |optional |Research products identifiers that contain the |not applicable | | +|f | | |current Research product. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Person From 44ec98683b6847691cec383355979fa432df849a Mon Sep 17 00:00:00 2001 From: Daniel Garijo Date: Sun, 14 Dec 2025 20:07:18 +0100 Subject: [PATCH 045/101] update UPM tools --- docs/commons/FAIR/FAIROS.rst | 8 -------- docs/tools/FAIR_tools/FAIROS.rst | 12 ++++++++++++ docs/tools/FAIR_tools/FOOPS.rst | 9 +++++---- 3 files changed, 17 insertions(+), 12 deletions(-) delete mode 100644 docs/commons/FAIR/FAIROS.rst create mode 100644 docs/tools/FAIR_tools/FAIROS.rst diff --git a/docs/commons/FAIR/FAIROS.rst b/docs/commons/FAIR/FAIROS.rst deleted file mode 100644 index fd302cb..0000000 --- a/docs/commons/FAIR/FAIROS.rst +++ /dev/null @@ -1,8 +0,0 @@ -FAIROS! Test and metric catalogue -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -FAIROs is a tool to assess the FAIRness of Research Objects. The tool used external tools such as F-UJI, FOOPS and RSFC to assess datasets, ontologies and software. The catalog contains the metrics and tests used to evaluate Research Objects. The source code with the FTR specification is in the branch dev-ostrails -- **Persistent identifier:** https://w3id.org/FAIROS/catalog -- **Code repository:** https://github.com/oeg-upm/FAIR-Research-Object -- **Version:** 0.0.2 -- **License:** Apache-2.0 diff --git a/docs/tools/FAIR_tools/FAIROS.rst b/docs/tools/FAIR_tools/FAIROS.rst new file mode 100644 index 0000000..fceac18 --- /dev/null +++ b/docs/tools/FAIR_tools/FAIROS.rst @@ -0,0 +1,12 @@ +FAIROS +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +FAIROs is a FAIR assessment tool for [Research Objects](https://www.researchobject.org/ro-crate/). The tool uses external tools such as [F-UJI](https://f-uji.net/), [FOOPS](https://w3id.org/foops/) and [RSFC](https://github.com/oeg-upm/rsfc) to assess datasets, ontologies and software. The catalog contains the metrics and tests used to evaluate Research Objects. The source code with the FTR specification is in the branch dev-ostrails. + +- Persistent identifier: https://w3id.org/FAIROS/ +- Zenodo link (latest release): https://doi.org/10.5281/zenodo.7795727 +- Code repository: https://github.com/oeg-upm/FAIR-Research-Object +- Version: 0.0.2 +- Release:https://github.com/oeg-upm/FAIR-Research-Object/releases/tag/v0.0.2 +- License: Apache-2.0 +- Test and metric catalogue: https://w3id.org/FAIROS/catalog diff --git a/docs/tools/FAIR_tools/FOOPS.rst b/docs/tools/FAIR_tools/FOOPS.rst index e94c9cc..ee7babe 100644 --- a/docs/tools/FAIR_tools/FOOPS.rst +++ b/docs/tools/FAIR_tools/FOOPS.rst @@ -1,11 +1,12 @@ -FOOPS! Test and metric catalogue +FOOPS! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The Ontology Pitfall Scanner for FAIR is a FAIR assessment tool for vocabularies and ontologies. In this release, FOOPS! has been adapted to comply with the FTR specification. A catalog of test descriptions has been made available in https://w3id.org/foops/catalogue. The release contains the source code of the tools, as well as the machine-readable and human-readable documentation of all tests, metrics and benchmarks associated with the tool. +The Ontology Pitfall Scanner for FAIR (FOOPS!) is a FAIR assessment tool for vocabularies and ontologies. In this release, FOOPS! has been adapted to comply with the [FTR specification](https://w3id.org/ftr/). A catalog of test descriptions and metrics has been made available in https://w3id.org/foops/catalogue. The release contains the source code of the tools, as well as the machine-readable and human-readable documentation of all tests, metrics and benchmarks associated with the tool. -- Persistent identifier: https://w3id.org/foops/catalogue +- Persistent identifier: https://w3id.org/foops/ - Zenodo link (latest release): https://doi.org/10.5281/zenodo.14767999 - Code repository: https://github.com/oeg-upm/fair_ontologies - Version: 0.2.0 - Release: https://github.com/oeg-upm/fair_ontologies/releases/tag/v0.2.0 -- License: Apache-2.0 \ No newline at end of file +- License: Apache-2.0 +- Catalog of tests and metrics: https://w3id.org/foops/catalogue From efda809aad8e1e95a46392225d9f036f40462ac0 Mon Sep 17 00:00:00 2001 From: Daniel Garijo Date: Sun, 14 Dec 2025 20:31:28 +0100 Subject: [PATCH 046/101] added API description --- .../FAIR/Assessment-Recommended-API.rst | 50 ++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index cb5be31..9d2828b 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -1,2 +1,50 @@ Assessment Recommended API ----------------------------- \ No newline at end of file +---------------------------- + +The FAIR-IF follows, as closely as possible, the REST standard; +however, unlike many REST architectures, not all identifiers in +the IF are “local”, and thus it is often necessary to pass the +full GUID of an identifier from one component to another, or from +client to server. For example, the GUID of a Benchmark is the +DOI of that Benchmark as recorded in the FAIRsharing registry, +and as such, it cannot become part of the URL of the REST interface. + +Nevertheless, there are two “types” of calls in the FAIR-IF. +Calls that are intended to retrieve information and calls that are +intended to trigger an activity (such as a test or assessment). +The latter kinds of calls are prefixed with /assess/. + +Please refer to the paragraphs below for API calls or implementation. +An OpenAPI yaml specification for FTR is available in the following [link](https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/api/open_api_description.yaml) including examples and +method calls. + + +GET calls +---------------------------- +Each of following methods will return metadata of the artifact in JSON-LD, +following the FAIR-IF Application Profile. The method MUST accept a GET +string with key/value as in the table below. The same method MAY accept a JSON +Body as in Table 1, via HTTP POST. + +| Method | Parameter | Returns | +|-------------|--------------|--------------------------| +| `/tests/` | `testid` | A list with all the test identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +| `/benchmarks/`| `bmid` | A list with all the benchmark identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +| `/metrics/` | `mid` | A list with all the metrics identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +| `/algorithms/`| `aid` | A list with all the algorithms identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | + + +POST calls +---------------------------- +All post requests must submit a body with the resource to assess as follows: +``` +{ + "resource_identifier": "https://w3id.org/example#" +} +``` + +| Method | Parameter | Returns | +|-------------|--------------|--------------------------| +|`/assess/test/`|testid and resource_identifier| Test result in JSON-LD | +|`/assess/benchmark/`|bmid and resource_identifier| Test result in JSON-LD | +|`/assess/algorithm/`|algoid and resource_identifier| Test result in JSON-LD | From 1ec9ab7f8a5356b509b7d8e16cd150481b23f2fa Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 09:57:51 +0100 Subject: [PATCH 047/101] docs: delete of Core Assessment Profile --- docs/commons/FAIR/Core-Assessment-Profile.rst | 2 -- docs/commons/FAIR/index_standards.rst | 2 -- 2 files changed, 4 deletions(-) delete mode 100644 docs/commons/FAIR/Core-Assessment-Profile.rst diff --git a/docs/commons/FAIR/Core-Assessment-Profile.rst b/docs/commons/FAIR/Core-Assessment-Profile.rst deleted file mode 100644 index 017db1e..0000000 --- a/docs/commons/FAIR/Core-Assessment-Profile.rst +++ /dev/null @@ -1,2 +0,0 @@ -Core Assessment Profile ----------------------------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/index_standards.rst b/docs/commons/FAIR/index_standards.rst index 389365c..da63740 100644 --- a/docs/commons/FAIR/index_standards.rst +++ b/docs/commons/FAIR/index_standards.rst @@ -8,8 +8,6 @@ The following resources in this section are part of the FAIR Commons component. :maxdepth: 1 :titlesonly: - - Core Assessment Profile Guidance Element Specification FAIR Test Results Vocabulary (FTR) Assessment Recommended API From 576b959bfc8e0312dfa3124f83d17f0b79a52b18 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 10:05:37 +0100 Subject: [PATCH 048/101] docs: delete the empty files --- docs/commons/FAIR/index_standards.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/commons/FAIR/index_standards.rst b/docs/commons/FAIR/index_standards.rst index da63740..2735e69 100644 --- a/docs/commons/FAIR/index_standards.rst +++ b/docs/commons/FAIR/index_standards.rst @@ -11,5 +11,4 @@ The following resources in this section are part of the FAIR Commons component. Guidance Element Specification FAIR Test Results Vocabulary (FTR) Assessment Recommended API - Thematic/DO-Specific Guidance Elements \ No newline at end of file From b7606426f5a7c9e9245daf6f374bbe31fe6ac9a8 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 10:05:49 +0100 Subject: [PATCH 049/101] docs: delete empty file --- docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst | 2 -- docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst | 2 -- 2 files changed, 4 deletions(-) delete mode 100644 docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst delete mode 100644 docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst diff --git a/docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst b/docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst deleted file mode 100644 index dd4c4b2..0000000 --- a/docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst +++ /dev/null @@ -1,2 +0,0 @@ -LifeWatch FAIR Assessment Profile and Guidance --------------------------------------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst b/docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst deleted file mode 100644 index b350f0a..0000000 --- a/docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst +++ /dev/null @@ -1,2 +0,0 @@ -Thematic/DO-Specific Guidance Elements ------------------------------------------------ \ No newline at end of file From 72ed112904d86fc6e961387d15cd1dfbb07572fb Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 11:05:00 +0100 Subject: [PATCH 050/101] docs: update structure of the page --- docs/commons/FAIR/Assessment-Recommended-API.rst | 12 ++++++------ docs/commons/FAIR/index_catalogs_registries.rst | 9 ++------- .../Austrian-FWF\342\200\223maDMP-mapping.rst" | 2 +- docs/tools/DMP.rst | 4 ---- docs/tools/FAIR.rst | 8 ++++++-- .../Catalogue-of-Benchmark-Scoring-Algorithms.rst | 10 +++++----- .../FAIR_tools}/Catalogue-of-Benchmarks.rst | 0 .../FAIR_tools}/Catalogue-of-Metrics.rst | 0 .../FAIR => tools/FAIR_tools}/Catalogue-of-Tests.rst | 2 +- .../FAIR_tools/FAIR-Assessment-Authoring-Tool.rst | 2 +- .../FAIR => tools/FAIR_tools}/FAIRsharing.rst | 2 +- docs/tools/SKG.rst | 1 - 12 files changed, 23 insertions(+), 29 deletions(-) rename docs/{commons/FAIR => tools/FAIR_tools}/Catalogue-of-Benchmark-Scoring-Algorithms.rst (89%) rename docs/{commons/FAIR => tools/FAIR_tools}/Catalogue-of-Benchmarks.rst (100%) rename docs/{commons/FAIR => tools/FAIR_tools}/Catalogue-of-Metrics.rst (100%) rename docs/{commons/FAIR => tools/FAIR_tools}/Catalogue-of-Tests.rst (97%) rename docs/{commons/FAIR => tools/FAIR_tools}/FAIRsharing.rst (97%) diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index 9d2828b..5fd019a 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -26,12 +26,12 @@ following the FAIR-IF Application Profile. The method MUST accept a GET string with key/value as in the table below. The same method MAY accept a JSON Body as in Table 1, via HTTP POST. -| Method | Parameter | Returns | -|-------------|--------------|--------------------------| -| `/tests/` | `testid` | A list with all the test identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/benchmarks/`| `bmid` | A list with all the benchmark identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/metrics/` | `mid` | A list with all the metrics identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/algorithms/`| `aid` | A list with all the algorithms identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +| Method | Parameter | Returns | +|------------- |------------ |-------------------------- | +| `/tests/` | `testid` | A list with all the test identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +| `/benchmarks/`| `bmid` | A list with all the benchmark identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +| `/metrics/` | `mid` | A list with all the metrics identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +| `/algorithms/`| `aid` | A list with all the algorithms identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | POST calls diff --git a/docs/commons/FAIR/index_catalogs_registries.rst b/docs/commons/FAIR/index_catalogs_registries.rst index cc96c47..6d6ae2c 100644 --- a/docs/commons/FAIR/index_catalogs_registries.rst +++ b/docs/commons/FAIR/index_catalogs_registries.rst @@ -5,12 +5,7 @@ The following resources in this section are part of the FAIR Commons component. .. toctree:: :caption: Catalogs and Registries - :maxdepth: 2 + :maxdepth: 1 :titlesonly: - Catalogue of Metrics - Catalogue of Benchmarks - Catalogue of Tests - Catalogue of Benchmark Acoring Algorithms - Assessment Component Application Profile - FAIRSharing + diff --git "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" index f32a724..5fd4b78 100644 --- "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" +++ "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" @@ -284,4 +284,4 @@ Section: V Legal and Ethical Aspects * - - Refers to relevant ethical guidelines and/or codes of conduct or alternatively provides a clear statement that explains why ethical issues have not been considered. - - -dmp/related_policy + - dmp/related_policy diff --git a/docs/tools/DMP.rst b/docs/tools/DMP.rst index 084905f..767eda1 100644 --- a/docs/tools/DMP.rst +++ b/docs/tools/DMP.rst @@ -1,8 +1,4 @@ OSTrails DMP Tools =================== - - - - The following resources in this section are part of the DMP Tools. diff --git a/docs/tools/FAIR.rst b/docs/tools/FAIR.rst index 0831f83..d90198c 100644 --- a/docs/tools/FAIR.rst +++ b/docs/tools/FAIR.rst @@ -9,8 +9,12 @@ The following resources in this section are part of the FAIR Tools component. :maxdepth: 1 :titlesonly: - FAIR Champion FOOPS + FAIROS FAIRsharing - FAIR Assessment Authoring Tool \ No newline at end of file + FAIR Assessment Authoring Tool + Catalogue of Benchmark Scoring Algorithms + Catalogue of Metrics + Catalogue of Benchmarks + Catalogue of Tests \ No newline at end of file diff --git a/docs/commons/FAIR/Catalogue-of-Benchmark-Scoring-Algorithms.rst b/docs/tools/FAIR_tools/Catalogue-of-Benchmark-Scoring-Algorithms.rst similarity index 89% rename from docs/commons/FAIR/Catalogue-of-Benchmark-Scoring-Algorithms.rst rename to docs/tools/FAIR_tools/Catalogue-of-Benchmark-Scoring-Algorithms.rst index 64262f2..2ef3d7a 100644 --- a/docs/commons/FAIR/Catalogue-of-Benchmark-Scoring-Algorithms.rst +++ b/docs/tools/FAIR_tools/Catalogue-of-Benchmark-Scoring-Algorithms.rst @@ -1,8 +1,8 @@ Catalogue-of-Benchmark-Scoring-Algorithms -================== +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ FAIR Data Point ---------------- +---------------- OSTrails has generated a federated metadata registry for publishing and indexing FAIR Scoring Algorithm descriptions. Every Algorithm intended to be discoverable @@ -20,13 +20,13 @@ and `FOOPS `_. Registering a Scoring Algorithm in the Catalogue ------------------------------------ +-------------------------------------------------- To register a Scoring Algorithm, you may use one of the following standardised procedures: Submitting an Existing Metadata Record via FAIR Champion -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Visit the FAIR Champion registration page: https://tests.ostrails.eu/tests/new @@ -43,7 +43,7 @@ may be displayed as **invalid**. tool or repository. The record **must** comply with the FTR model. Registering Metadata via the FAIR Assessment Authoring Tool -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The FAIR Assessment Authoring Tool, developed by the OSTrails team, supports the creation of FAIR assessment components such as Tests, diff --git a/docs/commons/FAIR/Catalogue-of-Benchmarks.rst b/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst similarity index 100% rename from docs/commons/FAIR/Catalogue-of-Benchmarks.rst rename to docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst diff --git a/docs/commons/FAIR/Catalogue-of-Metrics.rst b/docs/tools/FAIR_tools/Catalogue-of-Metrics.rst similarity index 100% rename from docs/commons/FAIR/Catalogue-of-Metrics.rst rename to docs/tools/FAIR_tools/Catalogue-of-Metrics.rst diff --git a/docs/commons/FAIR/Catalogue-of-Tests.rst b/docs/tools/FAIR_tools/Catalogue-of-Tests.rst similarity index 97% rename from docs/commons/FAIR/Catalogue-of-Tests.rst rename to docs/tools/FAIR_tools/Catalogue-of-Tests.rst index 54537c9..a00bddf 100644 --- a/docs/commons/FAIR/Catalogue-of-Tests.rst +++ b/docs/tools/FAIR_tools/Catalogue-of-Tests.rst @@ -26,7 +26,7 @@ To register a test, you may use one of the following standardised procedures: Submitting an Existing Metadata Record via FAIR Champion -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Visit the FAIR Champion registration page: https://tests.ostrails.eu/tests/new diff --git a/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst b/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst index 9c8c341..e2e4059 100644 --- a/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst +++ b/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst @@ -1,5 +1,5 @@ FAIR Assessment Authoring Tool -============================== +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A complete framework for **generating, registering, and authoring your FAIR assessment components** across different metadata repositories. diff --git a/docs/commons/FAIR/FAIRsharing.rst b/docs/tools/FAIR_tools/FAIRsharing.rst similarity index 97% rename from docs/commons/FAIR/FAIRsharing.rst rename to docs/tools/FAIR_tools/FAIRsharing.rst index b8aeae1..cb2c057 100644 --- a/docs/commons/FAIR/FAIRsharing.rst +++ b/docs/tools/FAIR_tools/FAIRsharing.rst @@ -1,5 +1,5 @@ FAIRsharing Registry -^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^ FAIRsharing is a registry of standards, databases, policies and FAIR assistance conceptual components. Registration of FAIR principles/dimensions, metrics, and benchmarks within FAIRsharing allows human- and machine-readable integration of the FAIR assessment components within the wider research landscape, and is key to discovery of these resources as well as for the implementation of the tests themselves via the rich metadata contained within the registry. Rather than being a specific tool release, it is the extension to FAIRsharing with the new FAIRassist registry which is relevant to the other Commons resources described in this section. diff --git a/docs/tools/SKG.rst b/docs/tools/SKG.rst index a394447..9251932 100644 --- a/docs/tools/SKG.rst +++ b/docs/tools/SKG.rst @@ -8,7 +8,6 @@ The following resources in this section are part of the FAIR Tools component. :maxdepth: 1 :titlesonly: - OpenAIRE Graph SKG-IF API RO-HUB SKG-IF API LifeWatch Eric KG \ No newline at end of file From f2779ab035c0220af1534257833dced5c77f799e Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 13:04:04 +0100 Subject: [PATCH 051/101] docs: fix format issue --- CONTRIBUTING.md | 4 ++-- CONTRIBUTORS.yml | 1 - .../FAIR/Assessment-Recommended-API.rst | 14 +++++------ .../FAIR/FAIR-Test-Results-Vocabulary-FTR.rst | 23 +++++++++---------- 4 files changed, 20 insertions(+), 22 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2683f65..b0ebe54 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,9 +39,9 @@ The code style is captured using [EditorConfig](https://editorconfig.org/), see ### Building the Documentation First, install the required dependencies (preferably in a virtual environment): -to activate the env in windows use the cmd and venv\Scripts\activate.bat +To activate the env in windows use the cmd and venv\Scripts\activate.bat ```bash -python -m venv venv +python -m venv venv source venv/bin/activate pip install -r requirements.txt ``` diff --git a/CONTRIBUTORS.yml b/CONTRIBUTORS.yml index f175f36..4e78415 100644 --- a/CONTRIBUTORS.yml +++ b/CONTRIBUTORS.yml @@ -40,7 +40,6 @@ Allyson Lister: orcid: 0000-0002-7702-4495 affiliation: University of Oxford - Katja Moilanen: first_name: Katja last_name: Moilanen diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index 5fd019a..c7cb1eb 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -1,13 +1,13 @@ Assessment Recommended API ---------------------------- -The FAIR-IF follows, as closely as possible, the REST standard; -however, unlike many REST architectures, not all identifiers in -the IF are “local”, and thus it is often necessary to pass the -full GUID of an identifier from one component to another, or from -client to server. For example, the GUID of a Benchmark is the -DOI of that Benchmark as recorded in the FAIRsharing registry, -and as such, it cannot become part of the URL of the REST interface. +The FAIR-IF follows, as closely as possible, the REST standard; +however, unlike many REST architectures, not all identifiers in +the IF are “local”, and thus it is often necessary to pass the +full GUID of an identifier from one component to another, or from +client to server. For example, the GUID of a Benchmark is the +DOI of that Benchmark as recorded in the FAIRsharing registry, +and as such, it cannot become part of the URL of the REST interface. Nevertheless, there are two “types” of calls in the FAIR-IF. Calls that are intended to retrieve information and calls that are diff --git a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst index 244b52f..b8a4c21 100644 --- a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst +++ b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst @@ -17,25 +17,24 @@ acting as a reference model that extends W3C standards such as and others to describe the different assessment components, such as: - **Test**: Service, formed by an API and associated piece of code - that implements a Metric, and is executed (by a FAIR assessment tool), - retrieving a particular and standardised result. + that implements a Metric, and is executed (by a FAIR assessment tool), + retrieving a particular and standardised result. - **TestResult**: Output of running a test over a resource. A test - result should also contain provenance metadata about the process - followed to create it. ``TestResult`` is represented as an extension - of ``prov:Entity``. A test result points to the corresponding test - through the ``ftr:outputFromTest`` property. + result should also contain provenance metadata about the process + followed to create it. ``TestResult`` is represented as an extension + of ``prov:Entity``. A test result points to the corresponding test + through the ``ftr:outputFromTest`` property. - **TestResultSet**: A set of FAIR test results, together with - their respective metadata. Common metadata may describe the set. For - example, if all results were run by a request to the same API. + their respective metadata. Common metadata may describe the set. For + example, if all results were run by a request to the same API. - **TestExecutionActivity**: The action carried out by an agent - calling an API in which a test (or set of tests) was run. The result - of this activity is either a ``TestResult`` or a ``TestResultSet``. + calling an API in which a test (or set of tests) was run. The result + of this activity is either a ``TestResult`` or a ``TestResultSet``. -- **Metric**: Narrative domain-agnostic description that a Test - must wholly implement. +- **Metric**: Narrative domain-agnostic description that a Test must wholly implement. - **Benchmark**: Community-specific groupings of a set of Metrics that provide a narrative describing how that community defines FAIR From 348091a72757f57f5102cf78f91b7bf3e3d9afae Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 13:32:46 +0100 Subject: [PATCH 052/101] docs: fix the format of files --- .../FAIR/FAIR-Test-Results-Vocabulary-FTR.rst | 34 +++++-------------- 1 file changed, 9 insertions(+), 25 deletions(-) diff --git a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst index b8a4c21..66012a7 100644 --- a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst +++ b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst @@ -16,41 +16,25 @@ acting as a reference model that extends W3C standards such as `PROV `_, and others to describe the different assessment components, such as: -- **Test**: Service, formed by an API and associated piece of code - that implements a Metric, and is executed (by a FAIR assessment tool), - retrieving a particular and standardised result. +- **Test**: Service, formed by an API and associated piece of code that implements a Metric, and is executed (by a FAIR assessment tool), retrieving a particular and standardised result. -- **TestResult**: Output of running a test over a resource. A test - result should also contain provenance metadata about the process - followed to create it. ``TestResult`` is represented as an extension - of ``prov:Entity``. A test result points to the corresponding test - through the ``ftr:outputFromTest`` property. +- **TestResult**: Output of running a test over a resource. A test result should also contain provenance metadata about the process followed to create it. ``TestResult`` is represented as an extension of ``prov:Entity``. A test result points to the corresponding test through the ``ftr:outputFromTest`` property. -- **TestResultSet**: A set of FAIR test results, together with - their respective metadata. Common metadata may describe the set. For - example, if all results were run by a request to the same API. +- **TestResultSet**: A set of FAIR test results, together with their respective metadata. Common metadata may describe the set. For example, if all results were run by a request to the same API. - **TestExecutionActivity**: The action carried out by an agent - calling an API in which a test (or set of tests) was run. The result - of this activity is either a ``TestResult`` or a ``TestResultSet``. +calling an API in which a test (or set of tests) was run. The result +of this activity is either a ``TestResult`` or a ``TestResultSet``. - **Metric**: Narrative domain-agnostic description that a Test must wholly implement. -- **Benchmark**: Community-specific groupings of a set of Metrics - that provide a narrative describing how that community defines FAIR - for assessment purposes. +- **Benchmark**: Community-specific groupings of a set of Metrics that provide a narrative describing how that community defines FAIR for assessment purposes. -- **ScoringAlgorithm**: Piece of code that contextualises the sum - of all test results for a given benchmark into a final quantitative - assessment result. +- **ScoringAlgorithm**: Piece of code that contextualises the sum of all test results for a given benchmark into a final quantitative assessment result. -- **ScoringAlgorithmActivity**: The action carried out by an agent - calling an API in which a ``ScoringAlgorithm`` was executed. The - result of this activity is a ``BenchmarkScore``. +- **ScoringAlgorithmActivity**: The action carried out by an agent calling an API in which a ``ScoringAlgorithm`` was executed. The result of this activity is a ``BenchmarkScore``. -- **BenchmarkScore**: Output of a Scoring Algorithm over a - resource, generating the final score and guidance for the whole - assessment. +- **BenchmarkScore**: Output of a Scoring Algorithm over a resource, generating the final score and guidance for the whole assessment. ---- From 5807a86b9acb52d86bf2e7b73dbd50041c3cdb80 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 13:35:41 +0100 Subject: [PATCH 053/101] docs: update format file --- docs/commons/FAIR/Assessment-Recommended-API.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index c7cb1eb..97daa71 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -9,10 +9,10 @@ client to server. For example, the GUID of a Benchmark is the DOI of that Benchmark as recorded in the FAIRsharing registry, and as such, it cannot become part of the URL of the REST interface. -Nevertheless, there are two “types” of calls in the FAIR-IF. -Calls that are intended to retrieve information and calls that are -intended to trigger an activity (such as a test or assessment). -The latter kinds of calls are prefixed with /assess/. +Nevertheless, there are two “types” of calls in the FAIR-IF. +Calls that are intended to retrieve information and calls that are +intended to trigger an activity (such as a test or assessment). +The latter kinds of calls are prefixed with /assess/. Please refer to the paragraphs below for API calls or implementation. An OpenAPI yaml specification for FTR is available in the following [link](https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/api/open_api_description.yaml) including examples and From 54ce98c6b7038b9d7bc39351ca454e9fcffc7665 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 14:19:54 +0100 Subject: [PATCH 054/101] docs: update to fix the format of the files --- docs/commons/FAIR/Assessment-Recommended-API.rst | 4 +--- .../FAIR/FAIR-Test-Results-Vocabulary-FTR.rst | 2 +- docs/commons/FAIR/FAIR-commons.rst | 15 +++++++-------- .../FAIR/Guidance-Element-Specification.rst | 12 ++++++------ docs/commons/FAIR/index_catalogs_registries.rst | 8 +++----- docs/commons/FAIR/index_standards.rst | 15 +++++++-------- 6 files changed, 25 insertions(+), 31 deletions(-) diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index 97daa71..670c9ba 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -38,9 +38,7 @@ POST calls ---------------------------- All post requests must submit a body with the resource to assess as follows: ``` -{ - "resource_identifier": "https://w3id.org/example#" -} +{"resource_identifier": "https://w3id.org/example#"} ``` | Method | Parameter | Returns | diff --git a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst index 66012a7..14c3a0e 100644 --- a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst +++ b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst @@ -39,7 +39,7 @@ of this activity is either a ``TestResult`` or a ``TestResultSet``. ---- .. image:: https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/img/FAIRTestResult_diagram_v12.drawio.png?raw=true - :align: center + :align: center Specification diff --git a/docs/commons/FAIR/FAIR-commons.rst b/docs/commons/FAIR/FAIR-commons.rst index 9944b6c..781d716 100644 --- a/docs/commons/FAIR/FAIR-commons.rst +++ b/docs/commons/FAIR/FAIR-commons.rst @@ -5,11 +5,10 @@ The following resources in this section are part of the FAIR Commons component. .. toctree:: - :caption: Commons - :maxdepth: 1 - :titlesonly: - - Standards - Catalogs and Registries - - + :caption: Commons + :maxdepth: 1 + :titlesonly: + + Guidance Element Specification + FAIR Test Results Vocabulary (FTR) + Assessment Recommended API diff --git a/docs/commons/FAIR/Guidance-Element-Specification.rst b/docs/commons/FAIR/Guidance-Element-Specification.rst index 22230ee..99cf024 100644 --- a/docs/commons/FAIR/Guidance-Element-Specification.rst +++ b/docs/commons/FAIR/Guidance-Element-Specification.rst @@ -1,14 +1,14 @@ FAIR Guidance Vocabulary Specification (FGV) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The **FAIR Guidance Vocabulary (FGV)** provides a machine-readable ontology that implements the FAIR Guidance Model described in the OSTrails Deliverable D1.3. It formalizes the structure of FAIR-enabling guidance by extending and aligning with standards such as `DCAT `__, `Schema.org `__, and the `Semanticscience Integrated Ontology (SIO) `__. +The **FAIR Guidance Vocabulary (FGV)** provides a machine-readable ontology that implements the FAIR Guidance Model described in the OSTrails Deliverable D1.3. It formalizes the structure of FAIR-enabling guidance by extending and aligning with standards such as `DCAT `__, `Schema.org `__, and the `Semanticscience Integrated Ontology (SIO) `__. **FGV** describes Guidance Entities—including their *typology* (e.g., FAQ, Best Practice), their links to *external resources* (such as webpages, annotations, or API responses), and their conceptual *focus areas* (e.g., How, Why, What). This enables consistent, interoperable, and machine-actionable representation of guidance across systems and services in a FAIR manner. The code release provides the ontology, including vocabularies, definitions, and specifications in machine-readable form. - - **Persistent identifier**: `https://w3id.org/fgv# `__ - - **Code Repository**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/ - - **Latest Release**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/releases/latest - - **Documentation**: https://ostrails.github.io/FAIR-Guidance-Vocabulary/ - - **License**: Creative Commons Attribution 4.0 International `CC-BY 4.0 `__ + - **Persistent identifier**: `https://w3id.org/fgv# `__ + - **Code Repository**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/ + - **Latest Release**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/releases/latest + - **Documentation**: https://ostrails.github.io/FAIR-Guidance-Vocabulary/ + - **License**: Creative Commons Attribution 4.0 International `CC-BY 4.0 `__ diff --git a/docs/commons/FAIR/index_catalogs_registries.rst b/docs/commons/FAIR/index_catalogs_registries.rst index 6d6ae2c..66f2e44 100644 --- a/docs/commons/FAIR/index_catalogs_registries.rst +++ b/docs/commons/FAIR/index_catalogs_registries.rst @@ -4,8 +4,6 @@ FAIR Catalog and Registry The following resources in this section are part of the FAIR Commons component. .. toctree:: - :caption: Catalogs and Registries - :maxdepth: 1 - :titlesonly: - - + :caption: Catalogs and Registries + :maxdepth: 1 + :titlesonly: \ No newline at end of file diff --git a/docs/commons/FAIR/index_standards.rst b/docs/commons/FAIR/index_standards.rst index 2735e69..e71f525 100644 --- a/docs/commons/FAIR/index_standards.rst +++ b/docs/commons/FAIR/index_standards.rst @@ -4,11 +4,10 @@ The following resources in this section are part of the FAIR Commons component. .. toctree:: - :caption: Standards - :maxdepth: 1 - :titlesonly: - - Guidance Element Specification - FAIR Test Results Vocabulary (FTR) - Assessment Recommended API - \ No newline at end of file + :caption: Standards + :maxdepth: 1 + :titlesonly: + + Guidance Element Specification + FAIR Test Results Vocabulary (FTR) + Assessment Recommended API \ No newline at end of file From 759326382e7a0ceb79a9fc648c454a1dee45f00a Mon Sep 17 00:00:00 2001 From: Katja Moilanen Date: Mon, 15 Dec 2025 15:27:06 +0200 Subject: [PATCH 055/101] docs: Update mapping between SKG-IF and DDI2.5 (Mapping-SKGIF-DDI.rst) --- .../skg/mappings/Mapping-SKGIF-DDI.rst | 2448 ++++++++--------- 1 file changed, 1220 insertions(+), 1228 deletions(-) diff --git a/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst b/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst index f5d55d5..d4ed6ae 100644 --- a/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst +++ b/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst @@ -1,11 +1,10 @@ -Mapping between SKG Interoperability Framework and DDI2.5 +Mapping between SKG Interoperability Framework and DDI 2.5 ---------------------------------------------------------- - .. page-authors:: Katja Moilanen -**The SKG-IF Interoperability Framework** enables to exchange data about six core entities and their relationships These entities are: +**The SKG Interoperability Framework** enables to exchange data about six core entities and their relationships These entities are: 1. Research Product – may be literature, data, software, or other 2. Agent – may represent a Person, an Organization, or a generic Agent linked to other entities 3. Grant – describes the funding of a project @@ -17,1287 +16,1284 @@ For more details, visit: https://skg-if.github.io/interoperability-framework/. **DDI 2.5** can be used to provide structured, descriptive documentation of a dataset’s content, meaning, provenance, and access. It includes metadata fields suitable for both quantitative and qualitative research data in the social, behavioral, economic, and health sciences. For more information, visit: https://ddialliance.org/ddi-codebook_v2.5 . + **The mapping between SKG Interoperability Framework and DDI2.5** is intended for individuals who are familiar with DDI 2.5 but new to SKG-IF. To support this, it provides four columns related to SKG-IF: Property name (JSONPath), Type, Optional/recommended/mandatory and Description. For DDI 2.5, there is a single column: DDI 2.5 XPath (excluding Dublin Core fields). Additionally, the Notes column contains miscellaneous information about both SKG-IF and DDI 2.5. Dataset as research product ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | -| | | |identifiers for the entity | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |/codeBook/stdyDscr/citation/titlStmt/IDNo/@agency |Only in the case that this attribute is used for the name of the PID | -| | | |system | |e.g. DOI | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |/codeBook/stdyDscr/citation/titlStmt/IDNo |Only in the case that this element is used for the PID e.g. | -| | | | | |10.17026/dans-xpf-5u9e | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to product. |information can be generated because it is always “product” | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles |Object |optional |The titles of the entity |structure, no need to map | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles.ISO 639-1 language |name of the key |? |The name of the key, which must be ISO 639-1 |/codeBook/stdyDscr/citation/titlStmt/titl/@xml:lang |If XML file is monolingual then /codeBook/@xml:lang is used | -|code | | |language code and be the language of the content |/codeBook/stdyDscr/citation/titlStmt/parTitl/@xml:lang | | -| | | |of the value | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles.ISO 639-1 language |Array of Strings |? |The list of the titles in the given (ISO 639-1) |/codeBook/stdyDscr/citation/titlStmt/titl |It also possible to map "titles" with the bibliographical citation if | -|code | | |language, specified by the key name |/codeBook/stdyDscr/citation/titlStmt/parTitl |needed: | -| | | | | |/codeBook/stdyDscr/citation/rspStmt/biblCit | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | +| | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts |Object |optional |The abstracts of the entity |structure, no need to map | | +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | /codeBook/stdyDscr/citation/titlStmt/IDNo/@agency | Only in the case that this attribute is used for the name of the PID | +| | | | system | | e.g. DOI | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts.ISO 639-1 |name of the key |? |The name of the key, which must be ISO 639-1 |/codeBook/stdyDscr/stdyInfo/abstract/@xml:lang |If XML file is monolingual then /codeBook/@xml:lang is used | -|language code | | |language code and be the language of the content | | | -| | | |of the value | | | +| $.identifiers[*].value | String | mandatory | The external identifier | /codeBook/stdyDscr/citation/titlStmt/IDNo | Only in the case that this element is used for the PID e.g. | +| | | | | | 10.17026/dans-xpf-5u9e | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts.ISO 639-1 |Array of Strings |? |The list of the abstracts in the given (ISO |/codeBook/stdyDscr/stdyInfo/abstract | | -|language code | | |639-1) language, specified by the key name | | | +| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to product. | information can be generated because it is always “product” | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.product_type |String |optional |The type of the product , one of the values |information can be generated because it is always “research data” | | -| | | |“research data”, “literature”, "research | | | -| | | |software", "other" | | | +| $.titles | Object | optional | The titles of the entity | structure, no need to map | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics |Array of Objects |optional |The array of the objects referring to entity |structure, no need to map | | -| | | |Topic | | | +| $.titles.ISO 639-1 language | name of the key | ? | The name of the key, which must be ISO 639-1 | /codeBook/stdyDscr/citation/titlStmt/titl/@xml:lang | If XML file is monolingual then /codeBook/@xml:lang is used | +| code | | | language code and be the language of the content | /codeBook/stdyDscr/citation/titlStmt/parTitl/@xml:lang | | +| | | | of the value | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.term |String |mandatory |The reference, (local) identifier, of the topic |/codeBook/stdyDscr/stdyInfo/subject/keyword |Even if keyword and topcClas are the best mappings, it is possible to | -| | | |relevant for this entity |/codeBook/stdyDscr/stdyInfo/subject/topcClas |map any "vocabulary field" to this e.g. | -| | | | | |/codeBook/stdyDscr/sumDscr/anlyUnit | -| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth | -| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc | -| | | | | |/codeBook/stdyDscr/method/dataColl/collMode | -| | | | | |/codeBook/stdyDscr/sumDscr/dataKind | -| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru | -| | | | | | | -| | | | | | | -| | | | | |DDI-C does not support references to topics (or more generally to | -| | | | | |vocabulary terms). Therefore there is no direct mapping for this | -| | | | | |field. This mapping is based on the suitable information content. | -| | | | | |Note that in SKG-IF the terms are documented using Topics entity and | -| | | | | |the related Topics entities are only referenced here using their | -| | | | | |identifier. | +| $.titles.ISO 639-1 language | Array of Strings | ? | The list of the titles in the given (ISO 639-1) | /codeBook/stdyDscr/citation/titlStmt/titl | It also possible to map "titles" with the bibliographical citation if | +| code[*] | | | language, specified by the key name | /codeBook/stdyDscr/citation/titlStmt/parTitl | needed: | +| | | | | | /codeBook/stdyDscr/citation/rspStmt/biblCit | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance |Array of Objects |recommended |The provanance information tracking the |structure, no need to map | | -| | | |software(s) used for adding topics and the trust | | | -| | | |in given relation . | | | +| $.abstracts | Object | optional | The abstracts of the entity | structure, no need to map | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance.associat |String |mandatory |The reference, (local) identifier, of the Agent |not supported | | -|ed_with | | |responsible for adding this term to this | | | -| | | |research product. | | | +| $.abstracts.ISO 639-1 | name of the key | ? | The name of the key, which must be ISO 639-1 | /codeBook/stdyDscr/stdyInfo/abstract/@xml:lang | If XML file is monolingual then /codeBook/@xml:lang is used | +| language code | | | language code and be the language of the content | | | +| | | | of the value | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance.trust |Number (float) |mandatory |The trust given to the relation |not supported | | +| $.abstracts.ISO 639-1 | Array of Strings | ? | The list of the abstracts in the given (ISO | /codeBook/stdyDscr/stdyInfo/abstract | | +| language code[*] | | | 639-1) language, specified by the key name | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions |Array of Objects |optional |The array of objects describing the contributors |structure, no need to map | | -| | | |and their contribution | | | +| $.product_type | String | optional | The type of the product , one of the values | information can be generated because it is always “research data” | | +| | | | “research data”, “literature”, "research | | | +| | | | software", "other" | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.by |String |mandatory |The reference (Identifier) of the agent |/codeBook/docDscr/citation/prodStmt/producer |DDI-C does not support references. Therefore there is no direct | -| | | |contributing to the research product |/codeBook/stdyDscr/citation/rspStmt/AuthEnty |mapping for this field. This mapping is based on the suitable | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId |information content. Note that in SKG-IF the contributors are | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer |documented using Agent entity and the related Agent entities are only | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector |referenced here using their identifier. | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | -| | | | | | | +| $.topics[*] | Array of Objects | optional | The array of the objects referring to entity | structure, no need to map | | +| | | | Topic | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.declared_aff |Array of Strings |recommended |The reference (identifier) of the agent which is |/codeBook/docDscr/citation/prodStmt/producer/@affiliation |DDI-C does not support references. Therefore there is no direct | -|iliations | | |affiliation of the contributor. |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation |mapping for this field. This mapping is based on the suitable | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation |information content. Note that in SKG-IF the contributor affiliations | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation |are documented using Agent entity and the related Agent entities are | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation |only referenced here using their identifier. | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| $.topics[*].term | String | mandatory | The reference, (local) identifier, of the topic | /codeBook/stdyDscr/stdyInfo/subject/keyword | Even if keyword and topcClas are the best mappings, it is possible to | +| | | | relevant for this entity | /codeBook/stdyDscr/stdyInfo/subject/topcClas | map any "vocabulary field" to this e.g. | +| | | | | | /codeBook/stdyDscr/sumDscr/anlyUnit | +| | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth | +| | | | | | /codeBook/stdyDscr/method/dataColl/sampProc | +| | | | | | /codeBook/stdyDscr/method/dataColl/collMode | +| | | | | | /codeBook/stdyDscr/sumDscr/dataKind | +| | | | | | /codeBook/stdyDscr/method/dataColl/resInstru | | | | | | | | | | | | | | | -| | | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.rank |Number (integer) |recommended |The rank of the agent (order of appearance e.g. |not supported | | -| | | |in the list of authors) | | | +| | | | | | DDI-C does not support references to topics (or more generally to | +| | | | | | vocabulary terms). Therefore there is no direct mapping for this | +| | | | | | field. This mapping is based on the suitable information content. | +| | | | | | Note that in SKG-IF the terms are documented using Topics entity and | +| | | | | | the related Topics entities are only referenced here using their | +| | | | | | identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.role |String |recommended |The role of the agent. The possible values are |information can be generated because it is always “author” | | -| | | |author, editor, publisher. | | | +| $.topics[*].provenance | Array of Objects | recommended | The provanance information tracking the | structure, no need to map | | +| | | | software(s) used for adding topics and the trust | | | +| | | | in given relation . | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.contribution |Array of Strings |recommended |The contributions of the agent using CRediT |DDI-element mappings with CReciT taxonomy: | | -|_types | | |taxonomy |/codeBook/docDscr/citation/prodStmt/producer: "Data curation" | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty: "Conceptualization", "Investigation", "Methodology", | | -| | | | |"Supervision" | | -| | | | |codeBook/stdyDscr/citation/rspStmt/othId: the mapping must be done case by case depending of the | | -| | | | |role in this work | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer: "Project administration" | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector: "Investigation" | | -| | | | |codeBook/stdyDscr/studyDevelopment/developmentActivity/participant: mapping depends of the | | -| | | | |development activity type of the participant | | +| $.topics[*].provenance.assoc | String | mandatory | The reference, (local) identifier, of the Agent | not supported | | +| iated_with | | | responsible for adding this term to this | | | +| | | | research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations |Array of Objects |optional |Object representing different and multiple |structure, no need to map |In the case of datasets, it is possible to only describe one | -| | | |manifestations of the same research product | |manifestation for the most recent version or the document all | -| | | | | |different versions of the same datasets as manifestations. | +| $.topics[*].provenance.trust | Number (float) | mandatory | The trust given to the relation | not supported | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type |Object |recommended |The object representing the type of the |structure, no need to map | | -| | | |manifestation. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.class |String |recommended |The URL of the class identifying the entity |not applicable | | -| | | |(e.g., in an ontology) describing that type. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |Object |recommended |The object used for documenting the labels |not applicable | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |name of the key |? |The name of the key, which must be ISO 639-1 |No need to fill in, if there is just one manifestation for a research product. If different versions | | -|.ISO 639-1 language code | | |language code and be the language of the content |of the dataset are described as manifestations, can be set to "Version" and use "en" as the name of | | -| | | |of the value |the key. | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |Array of Strings |? |The label describing the manifestation type. |No need to fill in, if there is just one manifestation for a research product. If different versions | | -|.ISO 639-1 language code | | | |of the dataset are described as manifestations, can be set to "Version". | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.define |String |recommended |The URL of the schema of the manifestation type, |not applicable | | -|d_in | | |e.g., a link to the vocabulary of allowed | | | -| | | |product types. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates |Object |recommended |The object is a dictionary, the keys represent |structure, no need to map |Choose the dates suitable for your own use case. | -| | | |the type of date and the value is expressed as | | | -| | | |either a string or a list of string, where each | | | -| | | |string is compliant with the ISO 8601 datetime | | | -| | | |string. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.accep |String or Array |? |The date of acceptance |not applicable | | -|tance |of Strings | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.acces |String or Array |? |The date on which a particular digital item has |not applicable | | -|s |of Strings | |been accessed by somebody. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.colle |String or Array |? |The date on which some item has been collected, |/codeBook/stdyDscr/stdyInfo/sumDscr/collDate/@date | | -|cted |of Strings | |for example the data gathered by means of | | | -| | | |questionnaires. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.copyr |String or Array |? |The date on which an entity has been |not applicable | | -|ight |of Strings | |copyrighted. | | | +| $.contributions[*] | Array of Objects | optional | The array of objects describing the contributors | structure, no need to map | | +| | | | and their contribution | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.corre |String or Array |? |The date on which something, for example a |not applicable | | -|ction |of Strings | |document, is corrected. | | | +| $.contributions[*].by | String | mandatory | The reference (Identifier) of the agent | /codeBook/docDscr/citation/prodStmt/producer | DDI-C does not support references. Therefore there is no direct | +| | | | contributing to the research product | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | mapping for this field. This mapping is based on the suitable | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId | information content. Note that in SKG-IF the contributors are | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer | documented using Agent entity and the related Agent entities are only | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector | referenced here using their identifier. | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].declared_ | Array of Strings | recommended | The reference (identifier) of the agent which is | /codeBook/docDscr/citation/prodStmt/producer/@affiliation | DDI-C does not support references. Therefore there is no direct | +| affiliations | | | affiliation of the contributor. | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | mapping for this field. This mapping is based on the suitable | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | information content. Note that in SKG-IF the contributor affiliations | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | are documented using Agent entity and the related Agent entities are | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | only referenced here using their identifier. | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].rank | Number (integer) | recommended | The rank of the agent (order of appearance e.g. | not supported | | +| | | | in the list of authors) | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].role | String | recommended | The role of the agent. The possible values are | information can be generated because it is always “author” | | +| | | | author, editor, publisher. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].contribut | Array of Strings | recommended | The contributions of the agent using CRediT | DDI-element mappings with CReciT taxonomy: | | +| ion_types[*] | | | taxonomy | /codeBook/docDscr/citation/prodStmt/producer: "Data curation" | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty: "Conceptualization", "Investigation", "Methodology", | | +| | | | | "Supervision" | | +| | | | | codeBook/stdyDscr/citation/rspStmt/othId: the mapping must be done case by case depending of the | | +| | | | | role in this work | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer: "Project administration" | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector: "Investigation" | | +| | | | | codeBook/stdyDscr/studyDevelopment/developmentActivity/participant: mapping depends of the | | +| | | | | development activity type of the participant | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*] | Array of Objects | optional | Object representing different and multiple | structure, no need to map | In the case of datasets, it is possible to only describe one | +| | | | manifestations of the same research product | | manifestation for the most recent version or the document all | +| | | | | | different versions of the same datasets as manifestations. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type | Object | recommended | The object representing the type of the | structure, no need to map | | +| | | | manifestation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.cla | String | recommended | The URL of the class identifying the entity | not applicable | | +| ss | | | (e.g., in an ontology) describing that type. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | Object | recommended | The object used for documenting the labels | not applicable | | +| els | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | name of the key | ? | The name of the key, which must be ISO 639-1 | No need to fill in, if there is just one manifestation for a research product. If different versions | | +| els.ISO 639-1 language code | | | language code and be the language of the content | of the dataset are described as manifestations, can be set to "Version" and use "en" as the name of | | +| | | | of the value | the key. | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | Array of Strings | ? | The label describing the manifestation type. | No need to fill in, if there is just one manifestation for a research product. If different versions | | +| els.ISO 639-1 language | | | | of the dataset are described as manifestations, can be set to "Version". | | +| code[*] | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.def | String | recommended | The URL of the schema of the manifestation type, | not applicable | | +| ined_in | | | e.g., a link to the vocabulary of allowed | | | +| | | | product types. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates | Object | recommended | The object is a dictionary, the keys represent | structure, no need to map | Choose the dates suitable for your own use case. | +| | | | the type of date and the value is expressed as | | | +| | | | either a string or a list of string, where each | | | +| | | | string is compliant with the ISO 8601 datetime | | | +| | | | string. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.ac | String or Array | ? | The date of acceptance | not applicable | | +| ceptance[*] | of Strings | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.ac | String or Array | ? | The date on which a particular digital item has | not applicable | | +| cess[*] | of Strings | | been accessed by somebody. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which some item has been collected, | /codeBook/stdyDscr/stdyInfo/sumDscr/collDate/@date | | +| llected[*] | of Strings | | for example the data gathered by means of | | | +| | | | questionnaires. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which an entity has been | not applicable | | +| pyright[*] | of Strings | | copyrighted. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which something, for example a | not applicable | | +| rrection[*] | of Strings | | document, is corrected. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.creat |String or Array |? |The date on which an entity has been created. |/codeBook/stdyDscr/citation/prodStmt/prodDate/@date | | -|ion |of Strings | | | | | +| $.manifestations[*].dates.cr | String or Array | ? | The date on which an entity has been created. | /codeBook/stdyDscr/citation/prodStmt/prodDate/@date | | +| eation[*] | of Strings | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.decis |String or Array |? |The date on which a particular endeavour, such |not applicable | | -|ion |of Strings | |as a grant application, has been or will be | | | -| | | |approved or rejected by somebody. | | | +| $.manifestations[*].dates.de | String or Array | ? | The date on which a particular endeavour, such | not applicable | | +| cision[*] | of Strings | | as a grant application, has been or will be | | | +| | | | approved or rejected by somebody. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.depos |String or Array |? |The date on which an entity has been deposited, |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/depDate/@date | | -|it |of Strings | |for example in a library, repository, | | | -| | | |supplementary information archive, database or | | | -| | | |similar place of document or information | | | -| | | |storage. | | | +| $.manifestations[*].dates.de | String or Array | ? | The date on which an entity has been deposited, | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/depDate/@date | | +| posit[*] | of Strings | | for example in a library, repository, | | | +| | | | supplementary information archive, database or | | | +| | | | similar place of document or information | | | +| | | | storage. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.distr |String or Array |? |The date on which something is distributed, for |not applicable | | -|ibution |of Strings | |example the date on which a preprint of a | | | -| | | |document is e-mailed to colleagues and other | | | -| | | |academics by the author(s), or the date on which | | | -| | | |a printed announcement of forthcoming theatre | | | -| | | |events is mailed to those those on the theatre’s | | | -| | | |mailing list. | | | +| $.manifestations[*].dates.di | String or Array | ? | The date on which something is distributed, for | not applicable | | +| stribution[*] | of Strings | | example the date on which a preprint of a | | | +| | | | document is e-mailed to colleagues and other | | | +| | | | academics by the author(s), or the date on which | | | +| | | | a printed announcement of forthcoming theatre | | | +| | | | events is mailed to those those on the theatre’s | | | +| | | | mailing list. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.embar |String or Array |? |The date before which an entity should not be |not supported | | -|go |of Strings | |published, or before which a press release | | | -| | | |should not be reported on. For open-access | | | -| | | |journal articles, the embargo date is the date | | | -| | | |before which availability of the open-access | | | -| | | |version of the article is restricted by the | | | -| | | |publisher, following subscription-access | | | -| | | |availability of the published work. | | | +| $.manifestations[*].dates.em | String or Array | ? | The date before which an entity should not be | not supported | | +| bargo[*] | of Strings | | published, or before which a press release | | | +| | | | should not be reported on. For open-access | | | +| | | | journal articles, the embargo date is the date | | | +| | | | before which availability of the open-access | | | +| | | | version of the article is restricted by the | | | +| | | | publisher, following subscription-access | | | +| | | | availability of the published work. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.modif |String or Array |? |The date on which an entity has been modified. |/codeBook/docDscr/citation/verStmt/version/@date | | -|ied |of Strings | | | | | +| $.manifestations[*].dates.mo | String or Array | ? | The date on which an entity has been modified. | /codeBook/docDscr/citation/verStmt/version/@date | | +| dified[*] | of Strings | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.publi |String or Array |? |The date of formal issuance of a resource (e.g. |/codeBook/stdyDscr/citation/distStmt/distDate/@date | | -|cation |of Strings | |a publication or a patent). | | | +| $.manifestations[*].dates.pu | String or Array | ? | The date of formal issuance of a resource (e.g. | /codeBook/stdyDscr/citation/distStmt/distDate/@date | | +| blication[*] | of Strings | | a publication or a patent). | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.recei |String or Array |? |The date on which some item is received, for |not applicable | | -|ved |of Strings | |example a document being received by a | | | -| | | |publisher. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which some item is received, for | not applicable | | +| ceived[*] | of Strings | | example a document being received by a | | | +| | | | publisher. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.reque |String or Array |? |The date on which an agent is requested to do |not applicable | | -|st |of Strings | |something, for example a reviewer is requested | | | -| | | |to write a review of a paper submitted to a | | | -| | | |journal for publication, or an author is | | | -| | | |requested to supply a revised version of the | | | -| | | |paper in response to the reviews received. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which an agent is requested to do | not applicable | | +| quest[*] | of Strings | | something, for example a reviewer is requested | | | +| | | | to write a review of a paper submitted to a | | | +| | | | journal for publication, or an author is | | | +| | | | requested to supply a revised version of the | | | +| | | | paper in response to the reviews received. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.retra |String or Array |? |The date on which something, for example a claim |not applicable | | -|ction |of Strings | |or a journal article, is retracted. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which something, for example a claim | not applicable | | +| traction[*] | of Strings | | or a journal article, is retracted. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.valid |String or Array |? |Date of validity of a resource. |not applicable | | -|ity |of Strings | | | | | +| $.manifestations[*].dates.va | String or Array | ? | Date of validity of a resource. | not applicable | | +| lidity[*] | of Strings | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |Array of Objects |recommended |External identifiers of the manifestationt |structure, no need to map |This is not mandatory information. In the case of documenting just | -| | | | | |the most recent version of the dataset, this information already is | -| | | | | |documented in $.identifiers. | +| $.manifestations[*].identifi | Array of Objects | recommended | External identifiers of the manifestationt | structure, no need to map | This is not mandatory information. In the case of documenting just | +| ers[*] | | | | | the most recent version of the dataset, this information already is | +| | | | | | documented in $.identifiers[*]. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |String |mandatory |The scheme for the external identifier. |/codeBook/stdyDscr/citation/titlStmt/IDNo/@agency |Only in the case that this attribute is used for the name of the PID | -|.scheme | | | | |e.g. DOI. | +| $.manifestations[*].identifi | String | mandatory | The scheme for the external identifier. | /codeBook/stdyDscr/citation/titlStmt/IDNo/@agency | Only in the case that this attribute is used for the name of the PID | +| ers[*].scheme | | | | | e.g. DOI. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |String |mandatory |The external identifier. |/codeBook/stdyDscr/citation/titlStmt/IDNo |Only in the case that this element is used for the PID e.g. | -|.value | | | | |10.17026/dans-xpf-5u9e | +| $.manifestations[*].identifi | String | mandatory | The external identifier. | /codeBook/stdyDscr/citation/titlStmt/IDNo | Only in the case that this element is used for the PID e.g. | +| ers[*].value | | | | | 10.17026/dans-xpf-5u9e | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |Object |recommended |Whether the manifestation has undergone a peer |structure, no need to map | | -| | | |review. | | | +| $.manifestations[*].peer_rev | Object | recommended | Whether the manifestation has undergone a peer | structure, no need to map | | +| iew | | | review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |String |mandatory |The status (reviewed or not yet) of the peer- |not applicable | | -|.status | | |review. | | | +| $.manifestations[*].peer_rev | String | mandatory | The status (reviewed or not yet) of the peer- | not applicable | | +| iew.status | | | review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |String |recommended |The type of peer review. Allowed values: single- |not applicable | | -|.description | | |blind peer review, double-blind peer review, | | | -| | | |open peer review. | | | +| $.manifestations[*].peer_rev | String | recommended | The type of peer review. Allowed values: single- | not applicable | | +| iew.description | | | blind peer review, double-blind peer review, | | | +| | | | open peer review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.access_righ |Object |recommended |The access rights of this manifestation |structure, no need to map | | -|ts | | | | | | +| $.manifestations[*].access_r | Object | recommended | The access rights of this manifestation | structure, no need to map | | +| ights | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.access_righ |String |mandatory |Describes if the manifestation is open access |/codeBook/stdyDscr/dataAccs/useStmt/conditions |There is no perfect field for this in DDI2.5. All the "access | -|ts.status | | |(open), closed access (closed), under embargo | |information" fields are more like a free text fields. | -| | | |(embargoed), restricted access (restricted), or | | | -| | | |unavailable for some reason (unavailable). | | | +| $.manifestations[*].access_r | String | mandatory | Describes if the manifestation is open access | /codeBook/stdyDscr/dataAccs/useStmt/conditions | There is no perfect field for this in DDI2.5. All the "access | +| ights.status | | | (open), closed access (closed), under embargo | | information" fields are more like a free text fields. | +| | | | (embargoed), restricted access (restricted), or | | | +| | | | unavailable for some reason (unavailable). | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.access_righ |String |recommended |Describe and qualify the specific status |/codeBook/stdyDscr/dataAccs/useStmt/restrctn | | -|ts.description | | |selected. | | | +| $.manifestations[*].access_r | String | recommended | Describe and qualify the specific status | /codeBook/stdyDscr/dataAccs/useStmt/restrctn | | +| ights.description | | | selected. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.licence |String |recommended |The URL of the licence specific to the |not supported | | -| | | |manifestation. | | | +| $.manifestations[*].licence | String | recommended | The URL of the licence specific to the | not supported | | +| | | | manifestation. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.version |String |recommended |The version for a software or research data |/codeBook/docDscr/citation/verStmt/version | | -| | | |product. | | | +| $.manifestations[*].version | String | recommended | The version for a software or research data | /codeBook/docDscr/citation/verStmt/version | | +| | | | product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio |Object |optional |An object containing bibliographic information |structure, no need to map | | -| | | |about a manifestation. | | | +| $.manifestations[*].biblio | Object | optional | An object containing bibliographic information | structure, no need to map | | +| | | | about a manifestation. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.issu |String |optional |Issue number |not applicable | | -|e | | | | | | +| $.manifestations[*].biblio.i | String | optional | Issue number | not applicable | | +| ssue | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |Object |optional |The pages (e.g. of the book or journal) where |not applicable | | -|s | | |the manifestation in defined | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |String |mandatory |The starting page |not applicable | | -|s.first | | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |String |mandatory |The ending page |not applicable | | -|s.last | | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.volu |String |optional |Volume number (for journals, books, conferences) |not applicable | | -|me | | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.edit |String |optional |The edition (for journals and books) |not applicable | | -|ion | | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.numb |String |optional |A number of the manifestation within Venue (e.g. |not applicable | | -|er | | |chapter number) | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.in |String |optional |A Venue identifier for the manifestation. |/codeBook/stdyDscr/citation/distStmt/distrbtr |DDI-C does not support references. Therefore there is no direct | -| | | | |The mapping of the field is dependent on the implementation. If metadata is harvested and published |mapping for this field. This mapping is based on the suitable | -| | | | |by a second party, then there is no mapping. |information content. Note that in SKG-IF the venue/publishing gateway | -| | | | | |is documented using Venue entity and the related Venue entities are | -| | | | | |only referenced here using their identifier. | +| $.manifestations[*].biblio.p | Object | optional | The pages (e.g. of the book or journal) where | not applicable | | +| ages | | | the manifestation in defined | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.p | String | mandatory | The starting page | not applicable | | +| ages.first | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.p | String | mandatory | The ending page | not applicable | | +| ages.last | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.v | String | optional | Volume number (for journals, books, conferences) | not applicable | | +| olume | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.e | String | optional | The edition (for journals and books) | not applicable | | +| dition | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.n | String | optional | A number of the manifestation within Venue (e.g. | not applicable | | +| umber | | | chapter number) | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.i | String | optional | A Venue identifier for the manifestation. | /codeBook/stdyDscr/citation/distStmt/distrbtr | DDI-C does not support references. Therefore there is no direct | +| n | | | | The mapping of the field is dependent on the implementation. If metadata is harvested and published | mapping for this field. This mapping is based on the suitable | +| | | | | by a second party, then there is no mapping. | information content. Note that in SKG-IF the venue/publishing gateway | +| | | | | | is documented using Venue entity and the related Venue entities are | +| | | | | | only referenced here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.host |String |optional |A Data source identifier for the manifestation. |/codeBook/stdyDscr/citation/holdings/@location |DDI-C does not support references. Therefore there is no direct | -|ing_data_source | | | | |mapping for this field. This mapping is based on the suitable | -| | | | | |information content. Note that in SKG-IF the venue/publishing gateway | -| | | | | |is documented using Venue entity and the related Venue entities are | -| | | | | |only referenced here using their identifier. | +| $.manifestations[*].biblio.h | String | optional | A Data source identifier for the manifestation. | /codeBook/stdyDscr/citation/holdings/@location | DDI-C does not support references. Therefore there is no direct | +| osting_data_source | | | | | mapping for this field. This mapping is based on the suitable | +| | | | | | information content. Note that in SKG-IF the venue/publishing gateway | +| | | | | | is documented using Venue entity and the related Venue entities are | +| | | | | | only referenced here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.relevant_organisations |Array of Strings |optional |Relevant Organisation identifiers associated |not applicable | | -| | | |with a Research product, in case the individual | | | -| | | |affiliations of an Agent are not available. | | | +| $.relevant_organisations[*] | Array of Strings | optional | Relevant Organisation identifiers associated | not applicable | | +| | | | with a Research product, in case the individual | | | +| | | | affiliations of an Agent are not available. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.funding |Array of Strings |optional |Relevant Grant identifiers associated with a |/codeBook/stdyDscr/citation/prodStmt/grantNo |DDI-C does not support references. Therefore there is no direct | -| | | |Research product. | |mapping for this field. This mapping is based on the suitable | -| | | | | |information content. Note that in SKG-IF the grant is documented | -| | | | | |using Grant entity and the related Grant entities are only referenced | -| | | | | |here using their identifier. | +| $.funding[*] | Array of Strings | optional | Relevant Grant identifiers associated with a | /codeBook/stdyDscr/citation/prodStmt/grantNo | DDI-C does not support references. Therefore there is no direct | +| | | | Research product. | | mapping for this field. This mapping is based on the suitable | +| | | | | | information content. Note that in SKG-IF the grant is documented | +| | | | | | using Grant entity and the related Grant entities are only referenced | +| | | | | | here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products |Object |optional |Related Research products, where the semantics |structure, no need to map | | -| | | |of such relationships is specified as a key. | | | +| $.related_products | Object | optional | Related Research products, where the semantics | structure, no need to map | | +| | | | of such relationships is specified as a key. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.cites |Array of Strings |optional |Research products identifiers that are cited by |In SKG publication e.g. article using a dataset tells which datasets it cites. In DDI2.5 it is other | | -| | | |a given Research product. |way around, the dataset has the information which publications are related to (using) the dataset. | | -| | | | |Therefore mapping for this field is done with element "pointing" from dataset to the publication | | -| | | | |which cites the dataset. | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl | | +| $.related_products.cites[*] | Array of Strings | optional | Research products identifiers that are cited by | In SKG publication e.g. article using a dataset tells which datasets it cites. In DDI2.5 it is other | | +| | | | a given Research product. | way around, the dataset has the information which publications are related to (using) the dataset. | | +| | | | | Therefore mapping for this field is done with element "pointing" from dataset to the publication | | +| | | | | which cites the dataset. | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_supple |Array of Strings |optional |Research products identifiers that are |/codeBook/otherMat |DDI-C does not support references. Therefore there is no direct | -|mented_by | | |supplement of a given Research product. | |mapping for this field. This mapping is based on the suitable | -| | | | | |information content. Note that in SKG-IF is_supplemented_by is | -| | | | | |documented using Research Product entity and the related Research | -| | | | | |Product entities are only referenced here using their identifier. | +| $.related_products.is_supple | Array of Strings | optional | Research products identifiers that are | /codeBook/otherMat | DDI-C does not support references. Therefore there is no direct | +| mented_by[*] | | | supplement of a given Research product. | | mapping for this field. This mapping is based on the suitable | +| | | | | | information content. Note that in SKG-IF is_supplemented_by is | +| | | | | | documented using Research Product entity and the related Research | +| | | | | | Product entities are only referenced here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_docume |Array of Strings |optional |Research products identifiers that documents a |/codeBook/stdyDscr/othrStdyMat/relMat |DDI-C does not support references. Therefore there is no direct | -|nted_by | | |given Research product. | |mapping for this field. This mapping is based on the suitable | -| | | | | |information content. Note that in SKG-IF is_documented_by is | -| | | | | |documented using Research Product entity and the related Research | -| | | | | |Product entities are only referenced here using their identifier. | +| $.related_products.is_docume | Array of Strings | optional | Research products identifiers that documents a | /codeBook/stdyDscr/othrStdyMat/relMat | DDI-C does not support references. Therefore there is no direct | +| nted_by[*] | | | given Research product. | | mapping for this field. This mapping is based on the suitable | +| | | | | | information content. Note that in SKG-IF is_documented_by is | +| | | | | | documented using Research Product entity and the related Research | +| | | | | | Product entities are only referenced here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_new_ve |Array of Strings |optional |Research products identifiers that are prior |not applicable | | -|rsion_of | | |versions of a given Research product. | | | +| $.related_products.is_new_ve | Array of Strings | optional | Research products identifiers that are prior | not applicable | | +| rsion_of[*] | | | versions of a given Research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_part_o |Array of Strings |optional |Research products identifiers that contain the |/codeBook/stdyDscr/citation/serStmt |DDI-C does not support references. Therefore there is no direct | -|f | | |current Research product. | |mapping for this field. This mapping is based on the suitable | -| | | | | |information content. Note that in SKG-IF is_part_of is documented | -| | | | | |using Research Product entity and the related Research Product | -| | | | | |entities are only referenced here using their identifier. | +| $.related_products.is_part_o | Array of Strings | optional | Research products identifiers that contain the | /codeBook/stdyDscr/citation/serStmt | DDI-C does not support references. Therefore there is no direct | +| f[*] | | | current Research product. | | mapping for this field. This mapping is based on the suitable | +| | | | | | information content. Note that in SKG-IF is_part_of is documented | +| | | | | | using Research Product entity and the related Research Product | +| | | | | | entities are only referenced here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ - Related publications, related materials, other materials and series as research product ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | -| | | |identifiers for the entity | | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | +| | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Publication citing (cites) the dataset (related publication): | | -| | | |system |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo/@agency | | +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | Publication citing (cites) the dataset (related publication): | | +| | | | system | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo/@agency | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo/@agency | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo/@agency | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/IDNo/@agency | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/IDNo/@agency | | | | | | | | | -| | | | |Series information of the dataset (is_part_of): | | -| | | | |set value to "url" | | +| | | | | Series information of the dataset (is_part_of): | | +| | | | | set value to "url" | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo | | +| $.identifiers[*].value | String | mandatory | The external identifier | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/IDNo | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/IDNo | | | | | | | | | -| | | | |Series information of the dataset (is_part_of): | | -| | | | |/codeBook/stdyDscr/citation/serStmt/@URI | | +| | | | | Series information of the dataset (is_part_of): | | +| | | | | /codeBook/stdyDscr/citation/serStmt/@URI | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to product. |information can be generated because it is always “product” | | +| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to product. | information can be generated because it is always “product” | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles |Object |optional |The titles of the entity |structure, no need to map | | +| $.titles | Object | optional | The titles of the entity | structure, no need to map | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles.ISO 639-1 language |name of the key |? |The name of the key, which must be ISO 639-1 |Publication citing (cites) the dataset (related publication): |If XML file is monolingual then /codeBook/@xml:lang my be used in | -|code | | |language code and be the language of the content |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/titl/@xml:lang |some cases | -| | | |of the value |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/parTitl/@xml:lang | | +| $.titles.ISO 639-1 language | name of the key | ? | The name of the key, which must be ISO 639-1 | Publication citing (cites) the dataset (related publication): | If XML file is monolingual then /codeBook/@xml:lang may be used in | +| code | | | language code and be the language of the content | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/titl/@xml:lang | some cases | +| | | | of the value | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/parTitl/@xml:lang | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/titl/@xml:lang | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/parTitl/@xml:lang | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/titl/@xml:lang | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/parTitl/@xml:lang | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/titl/@xml:lang | | -| | | | |/codeBook/otherMat/citation/titlStmt/parTitl/@xml:lang | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/titl/@xml:lang | | +| | | | | /codeBook/otherMat/citation/titlStmt/parTitl/@xml:lang | | | | | | | | | -| | | | |Series information of the dataset (is_part_of): | | -| | | | |/codeBook/stdyDscr/citation/serStmt/serName/@xml:lang | | +| | | | | Series information of the dataset (is_part_of): | | +| | | | | /codeBook/stdyDscr/citation/serStmt/serName/@xml:lang | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles.ISO 639-1 language |Array of Strings |? |The list of the titles in the given (ISO 639-1) |Publication citing (cites) the dataset (related publication): | | -|code | | |language, specified by the key name |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/titl | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/parTitl | | +| $.titles.ISO 639-1 language | Array of Strings | ? | The list of the titles in the given (ISO 639-1) | Publication citing (cites) the dataset (related publication): | | +| code[*] | | | language, specified by the key name | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/titl | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/parTitl | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/titl | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/parTitl | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/titl | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/parTitl | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/titl | | -| | | | |/codeBook/otherMat/citation/titlStmt/parTitl | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/titl | | +| | | | | /codeBook/otherMat/citation/titlStmt/parTitl | | | | | | | | | -| | | | |Series information of the dataset (is_part_of): | | -| | | | |/codeBook/stdyDscr/citation/serStmt/serName | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts |Object |optional |The abstracts of the entity |structure, no need to map | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts.ISO 639-1 |name of the key |? |The name of the key, which must be ISO 639-1 |Series information of the dataset (is_part_of): |If XML file is monolingual then /codeBook/@xml:lang is used | -|language code | | |language code and be the language of the content |/codeBook/stdyDscr/citation/serStmt/serInfo/@xml:lang | | -| | | |of the value | | | +| | | | | Series information of the dataset (is_part_of): | | +| | | | | /codeBook/stdyDscr/citation/serStmt/serName | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts.ISO 639-1 |Array of Strings |? |The list of the abstracts in the given (ISO |Series information of the dataset (is_part_of): | | -|language code | | |639-1) language, specified by the key name |/codeBook/stdyDscr/citation/serStmt/serInfo | | +| $.abstracts | Object | optional | The abstracts of the entity | structure, no need to map | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.product_type |String |optional |The type of the product , one of the values |information can be generated because it is either “literature” e.g. related publication or "other" | | -| | | |“research data”, “literature”, "research |e.g. other material, series information | | -| | | |software", "other" | | | +| $.abstracts.ISO 639-1 | name of the key | ? | The name of the key, which must be ISO 639-1 | Series information of the dataset (is_part_of): | If XML file is monolingual then /codeBook/@xml:lang is used | +| language code | | | language code and be the language of the content | /codeBook/stdyDscr/citation/serStmt/serInfo/@xml:lang | | +| | | | of the value | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics |Array of Objects |optional |The array of the objects referring to entity |structure, no need to map | | -| | | |Topic | | | +| $.abstracts.ISO 639-1 | Array of Strings | ? | The list of the abstracts in the given (ISO | Series information of the dataset (is_part_of): | | +| language code[*] | | | 639-1) language, specified by the key name | /codeBook/stdyDscr/citation/serStmt/serInfo | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.term |String |mandatory |The reference, (local) identifier, of the topic |not applicable | | -| | | |relevant for this entity | | | +| $.product_type | String | optional | The type of the product , one of the values | information can be generated because it is either “literature” e.g. related publication or "other" | | +| | | | “research data”, “literature”, "research | e.g. other material, series information | | +| | | | software", "other" | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance |Array of Objects |recommended |The provanance information tracking the |structure, no need to map | | -| | | |software(s) used for adding topics and the trust | | | -| | | |in given relation . | | | +| $.topics[*] | Array of Objects | optional | The array of the objects referring to entity | structure, no need to map | | +| | | | Topic | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance.associat |String |mandatory |The reference, (local) identifier, of the Agent |not applicable | | -|ed_with | | |responsible for adding this term to this | | | -| | | |research product. | | | +| $.topics[*].term | String | mandatory | The reference, (local) identifier, of the topic | not applicable | | +| | | | relevant for this entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance.trust |Number (float) |mandatory |The trust given to the relation |not applicable | | +| $.topics[*].provenance | Array of Objects | recommended | The provanance information tracking the | structure, no need to map | | +| | | | software(s) used for adding topics and the trust | | | +| | | | in given relation . | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions |Array of Objects |optional |The array of objects describing the contributors |structure, no need to map | | -| | | |and their contribution | | | +| $.topics[*].provenance.assoc | String | mandatory | The reference, (local) identifier, of the Agent | not applicable | | +| iated_with | | | responsible for adding this term to this | | | +| | | | research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.by |String |mandatory |The reference (Identifier) of the agent |Publication citing (cites) the dataset (related publication): |DDI-C does not support references. Therefore there is no direct | -| | | |contributing to the research product |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty |mapping for this field. This mapping is based on the suitable | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId |information content. Note that in SKG-IF the contributors are | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer |documented using Agent entity and the related Agent entities are only | -| | | | | |referenced here using their identifier. | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | +| $.topics[*].provenance.trust | Number (float) | mandatory | The trust given to the relation | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.declared_aff |String |recommended |The reference (identifier) of the agent which is |Publication citing (cites) the dataset (related publication): |DDI-C does not support references. Therefore there is no direct | -|iliations | | |affiliation of the contributor. |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation |mapping for this field. This mapping is based on the suitable | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation |information content. Note that in SKG-IF the contributor affiliations | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation |are documented using Agent entity and the related Agent entities are | -| | | | | |only referenced here using their identifier. | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.rank |Number (integer) |recommended |The rank of the agent (order of appearance e.g. |not applicable | | -| | | |in the list of authors) | | | +| $.contributions[*] | Array of Objects | optional | The array of objects describing the contributors | structure, no need to map | | +| | | | and their contribution | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.role |String |recommended |The role of the agent. The possible values are |information can be generated because it is always “author” | | -| | | |author, editor, publisher. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.contribution |Array of Strings |recommended |The contributions of the agent using CRediT |DDI-element mappings with CReciT taxonomy: | | -|_types | | |taxonomy |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty: the mapping must be done | | -| | | | |case by case depending of the role in this work | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId: the mapping must be done | | -| | | | |case by case depending of the role in this work | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer: "Project administration" | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty: the mapping must be done | | -| | | | |case by case depending of the role in this work | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId: the mapping must be done case | | -| | | | |by case depending of the role in this work | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer: "Project administration" | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty: the mapping must be done case by case | | -| | | | |depending of the role in this work | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId: the mapping must be done case by case depending | | -| | | | |of the role in this work | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer: "Project administration" | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations |Array of Objects |optional |Object representing different and multiple |structure, no need to map | | -| | | |manifestations of the same research product | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type |Object |recommended |The object representing the type of the |structure, no need to map | | -| | | |manifestation. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.class |String |recommended |The URL of the class identifying the entity |not applicable | | -| | | |(e.g., in an ontology) describing that type. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |Object |recommended |The object used for documenting the labels |not applicable | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |name of the key |? |The name of the key, which must be ISO 639-1 |No need to fill in, if there is just one manifestation for a research product. If different versions | | -|.ISO 639-1 language code | | |language code and be the language of the content |of the related publication / related material / other material are described as manifestations, use | | -| | | |of the value |e.g. "en" as the name of the key (language). | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |Array of Strings |? |The label describing the manifestation type. |No need to fill in, if there is just one manifestation for a research product. If different versions | | -|.ISO 639-1 language code | | | |of the related publication / related material / other material are described as manifestations, can | | -| | | | |be set to "Version" and use "en" as the name of the key. | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.define |String |recommended |The URL of the schema of the manifestation type, |not applicable | | -|d_in | | |e.g., a link to the vocabulary of allowed | | | -| | | |product types. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates |Object |recommended |The object is a dictionary, the keys represent |structure, no need to map | | -| | | |the type of date and the value is expressed as | | | -| | | |either a string or a list of string, where each | | | -| | | |string is compliant with the ISO 8601 datetime | | | -| | | |string. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.accep |String or Array |? |The date of acceptance |not applicable | | -|tance |of Strings | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.acces |String or Array |? |The date on which a particular digital item has |not applicable | | -|s |of Strings | |been accessed by somebody. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.colle |String or Array |? |The date on which some item has been collected, |not applicable | | -|cted |of Strings | |for example the data gathered by means of | | | -| | | |questionnaires. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.copyr |String or Array |? |The date on which an entity has been |not applicable | | -|ight |of Strings | |copyrighted. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.corre |String or Array |? |The date on which something, for example a |not applicable | | -|ction |of Strings | |document, is corrected. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.creat |String or Array |? |The date on which an entity has been created. |Publication citing (cites) the dataset (related publication): | | -|ion |of Strings | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/prodDate/@date | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/prodDate/@date | | +| $.contributions[*].by | String | mandatory | The reference (Identifier) of the agent | Publication citing (cites) the dataset (related publication): | DDI-C does not support references. Therefore there is no direct | +| | | | contributing to the research product | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | mapping for this field. This mapping is based on the suitable | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | information content. Note that in SKG-IF the contributors are | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | documented using Agent entity and the related Agent entities are only | +| | | | | | referenced here using their identifier. | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].declared_ | String | recommended | The reference (identifier) of the agent which is | Publication citing (cites) the dataset (related publication): | DDI-C does not support references. Therefore there is no direct | +| affiliations | | | affiliation of the contributor. | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | mapping for this field. This mapping is based on the suitable | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | information content. Note that in SKG-IF the contributor affiliations | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | are documented using Agent entity and the related Agent entities are | +| | | | | | only referenced here using their identifier. | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].rank | Number (integer) | recommended | The rank of the agent (order of appearance e.g. | not applicable | | +| | | | in the list of authors) | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].role | String | recommended | The role of the agent. The possible values are | information can be generated because it is always “author” | | +| | | | author, editor, publisher. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].contribut | Array of Strings | recommended | The contributions of the agent using CRediT | DDI-element mappings with CReciT taxonomy: | | +| ion_types[*] | | | taxonomy | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty: the mapping must be done | | +| | | | | case by case depending of the role in this work | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId: the mapping must be done | | +| | | | | case by case depending of the role in this work | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer: "Project administration" | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty: the mapping must be done | | +| | | | | case by case depending of the role in this work | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId: the mapping must be done case | | +| | | | | by case depending of the role in this work | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer: "Project administration" | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty: the mapping must be done case by case | | +| | | | | depending of the role in this work | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId: the mapping must be done case by case depending | | +| | | | | of the role in this work | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer: "Project administration" | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*] | Array of Objects | optional | Object representing different and multiple | structure, no need to map | | +| | | | manifestations of the same research product | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type | Object | recommended | The object representing the type of the | structure, no need to map | | +| | | | manifestation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.cla | String | recommended | The URL of the class identifying the entity | not applicable | | +| ss | | | (e.g., in an ontology) describing that type. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | Object | recommended | The object used for documenting the labels | not applicable | | +| els | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | name of the key | ? | The name of the key, which must be ISO 639-1 | No need to fill in, if there is just one manifestation for a research product. If different versions | | +| els.ISO 639-1 language code | | | language code and be the language of the content | of the related publication / related material / other material are described as manifestations, use | | +| | | | of the value | e.g. "en" as the name of the key (language). | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | Array of Strings | ? | The label describing the manifestation type. | No need to fill in, if there is just one manifestation for a research product. If different versions | | +| els.ISO 639-1 language | | | | of the related publication / related material / other material are described as manifestations, can | | +| code[*] | | | | be set to "Version" and use "en" as the name of the key. | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.def | String | recommended | The URL of the schema of the manifestation type, | not applicable | | +| ined_in | | | e.g., a link to the vocabulary of allowed | | | +| | | | product types. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates | Object | recommended | The object is a dictionary, the keys represent | structure, no need to map | | +| | | | the type of date and the value is expressed as | | | +| | | | either a string or a list of string, where each | | | +| | | | string is compliant with the ISO 8601 datetime | | | +| | | | string. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.ac | String or Array | ? | The date of acceptance | not applicable | | +| ceptance[*] | of String | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.ac | String or Array | ? | The date on which a particular digital item has | not applicable | | +| cess[*] | of String | | been accessed by somebody. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which some item has been collected, | not applicable | | +| llected[*] | of String | | for example the data gathered by means of | | | +| | | | questionnaires. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which an entity has been | not applicable | | +| pyright[*] | of String | | copyrighted. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which something, for example a | not applicable | | +| rrection[*] | of String | | document, is corrected. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.cr | String or Array | ? | The date on which an entity has been created. | Publication citing (cites) the dataset (related publication): | | +| eation[*] | of String | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/prodDate/@date | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/prodDate/@date | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/prodStmt/prodDate/@date | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/prodStmt/prodDate/@date | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.decis |String or Array |? |The date on which a particular endeavour, such |not applicable | | -|ion |of Strings | |as a grant application, has been or will be | | | -| | | |approved or rejected by somebody. | | | +| $.manifestations[*].dates.de | String or Array | ? | The date on which a particular endeavour, such | not applicable | | +| cision[*] | of String | | as a grant application, has been or will be | | | +| | | | approved or rejected by somebody. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.depos |String or Array |? |The date on which an entity has been deposited, |Publication citing (cites) the dataset (related publication): | | -|it |of Strings | |for example in a library, repository, |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/depDate/@date | | -| | | |supplementary information archive, database or | | | -| | | |similar place of document or information |Material documenting (is_documented_by) the dataset (related material): | | -| | | |storage. |/codeBook/stdyDscr/othrStdyMat/relMat/citation/distStmt/depDate/@date | | +| $.manifestations[*].dates.de | String or Array | ? | The date on which an entity has been deposited, | Publication citing (cites) the dataset (related publication): | | +| posit[*] | of String | | for example in a library, repository, | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/depDate/@date | | +| | | | supplementary information archive, database or | | | +| | | | similar place of document or information | Material documenting (is_documented_by) the dataset (related material): | | +| | | | storage. | /codeBook/stdyDscr/othrStdyMat/relMat/citation/distStmt/depDate/@date | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/distStmt/depDate/@date | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/distStmt/depDate/@date | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.distr |String or Array |? |The date on which something is distributed, for |not applicable | | -|ibution |of Strings | |example the date on which a preprint of a | | | -| | | |document is e-mailed to colleagues and other | | | -| | | |academics by the author(s), or the date on which | | | -| | | |a printed announcement of forthcoming theatre | | | -| | | |events is mailed to those those on the theatre’s | | | -| | | |mailing list. | | | +| $.manifestations[*].dates.di | String or Array | ? | The date on which something is distributed, for | not applicable | | +| stribution[*] | of String | | example the date on which a preprint of a | | | +| | | | document is e-mailed to colleagues and other | | | +| | | | academics by the author(s), or the date on which | | | +| | | | a printed announcement of forthcoming theatre | | | +| | | | events is mailed to those those on the theatre’s | | | +| | | | mailing list. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.embar |String or Array |? |The date before which an entity should not be |not applicable | | -|go |of Strings | |published, or before which a press release | | | -| | | |should not be reported on. For open-access | | | -| | | |journal articles, the embargo date is the date | | | -| | | |before which availability of the open-access | | | -| | | |version of the article is restricted by the | | | -| | | |publisher, following subscription-access | | | -| | | |availability of the published work. | | | +| $.manifestations[*].dates.em | String or Array | ? | The date before which an entity should not be | not applicable | | +| bargo[*] | of String | | published, or before which a press release | | | +| | | | should not be reported on. For open-access | | | +| | | | journal articles, the embargo date is the date | | | +| | | | before which availability of the open-access | | | +| | | | version of the article is restricted by the | | | +| | | | publisher, following subscription-access | | | +| | | | availability of the published work. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.modif |String or Array |? |The date on which an entity has been modified. |Publication citing (cites) the dataset (related publication): | | -|ied |of Strings | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/verStmt/version/@date | | +| $.manifestations[*].dates.mo | String or Array | ? | The date on which an entity has been modified. | Publication citing (cites) the dataset (related publication): | | +| dified[*] | of String | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/verStmt/version/@date | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/verStmt/version/@date | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/verStmt/version/@date | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/verStmt/version/@date | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/verStmt/version/@date | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.publi |String or Array |? |The date of formal issuance of a resource (e.g. |Publication citing (cites) the dataset (related publication): | | -|cation |of Strings | |a publication or a patent). |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/distDate/@date | | +| $.manifestations[*].dates.pu | String or Array | ? | The date of formal issuance of a resource (e.g. | Publication citing (cites) the dataset (related publication): | | +| blication[*] | of String | | a publication or a patent). | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/distDate/@date | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/distStmt/distDate/@date | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/distStmt/distDate/@date | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/distStmt/distDate/@date | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/distStmt/distDate/@date | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.recei |String or Array |? |The date on which some item is received, for |not applicable | | -|ved |of Strings | |example a document being received by a | | | -| | | |publisher. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which some item is received, for | not applicable | | +| ceived[*] | of String | | example a document being received by a | | | +| | | | publisher. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.reque |String or Array |? |The date on which an agent is requested to do |not applicable | | -|st |of Strings | |something, for example a reviewer is requested | | | -| | | |to write a review of a paper submitted to a | | | -| | | |journal for publication, or an author is | | | -| | | |requested to supply a revised version of the | | | -| | | |paper in response to the reviews received. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which an agent is requested to do | not applicable | | +| quest[*] | of String | | something, for example a reviewer is requested | | | +| | | | to write a review of a paper submitted to a | | | +| | | | journal for publication, or an author is | | | +| | | | requested to supply a revised version of the | | | +| | | | paper in response to the reviews received. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.retra |String or Array |? |The date on which something, for example a claim |not applicable | | -|ction |of Strings | |or a journal article, is retracted. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which something, for example a claim | not applicable | | +| traction[*] | of String | | or a journal article, is retracted. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.valid |String or Array |? |Date of validity of a resource. |not applicable | | -|ity |of Strings | | | | | +| $.manifestations[*].dates.va | String or Array | ? | Date of validity of a resource. | not applicable | | +| lidity[*] | of String | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |Array of Objects |recommended |External identifiers of the manifestationt |structure, no need to map | | +| $.manifestations[*].identifi | Array of Objects | recommended | External identifiers of the manifestationt | structure, no need to map | | +| ers[*] | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |String |mandatory |The scheme for the external identifier. |Publication citing (cites) the dataset (related publication): | | -|.scheme | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo/@agency | | +| $.manifestations[*].identifi | String | mandatory | The scheme for the external identifier. | Publication citing (cites) the dataset (related publication): | | +| ers.scheme | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo/@agency | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo/@agency | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo/@agency | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/IDNo/@agency | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/IDNo/@agency | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |String |mandatory |The external identifier. |Publication citing (cites) the dataset (related publication): | | -|.value | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo | | +| $.manifestations[*].identifi | String | mandatory | The external identifier. | Publication citing (cites) the dataset (related publication): | | +| ers.value | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/IDNo | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/IDNo | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |Object |recommended |Whether the manifestation has undergone a peer |structure, no need to map | | -| | | |review. | | | +| $.manifestations[*].peer_rev | Object | recommended | Whether the manifestation has undergone a peer | structure, no need to map | | +| iew | | | review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |String |mandatory |The status (reviewed or not yet) of the |not applicable | | -|.status | | |peer-review. | | | +| $.manifestations[*].peer_rev | String | mandatory | The status (reviewed or not yet) of the | not applicable | | +| iew.status | | | peer-review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |String |recommended |The type of peer review. Allowed values: |not applicable | | -|.description | | |single-blind peer review, double-blind peer | | | -| | | |review, open peer review. | | | +| $.manifestations[*].peer_rev | String | recommended | The type of peer review. Allowed values: | not applicable | | +| iew.description | | | single-blind peer review, double-blind peer | | | +| | | | review, open peer review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.access_righ |Object |recommended |The access rights of this manifestation |structure, no need to map | | -|ts | | | | | | +| $.manifestations[*].access_r | Object | recommended | The access rights of this manifestation | structure, no need to map | | +| ights | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.access_righ |String |mandatory |Describes if the manifestation is open access |not applicable | | -|ts.status | | |(open), closed access (closed), under embargo | | | -| | | |(embargoed), restricted access (restricted), or | | | -| | | |unavailable for some reason (unavailable). | | | +| $.manifestations[*].access_r | String | mandatory | Describes if the manifestation is open access | not applicable | | +| ights.status | | | (open), closed access (closed), under embargo | | | +| | | | (embargoed), restricted access (restricted), or | | | +| | | | unavailable for some reason (unavailable). | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|manifestations.access_rights |String |recommended |Describe and qualify the specific status |not applicable | | -|.description | | |selected. | | | +| $.manifestations[*].access_r | String | recommended | Describe and qualify the specific status | not applicable | | +| ights.description | | | selected. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.licence |String |recommended |The URL of the licence specific to the |not applicable | | -| | | |manifestation. | | | +| $.manifestations[*].licence | String | recommended | The URL of the licence specific to the | not applicable | | +| | | | manifestation. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.version |String |recommended |The version for a software or research data |Publication citing (cites) the dataset (related publication): | | -| | | |product. |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/verStmt/version | | +| $.manifestations[*].version | String | recommended | The version for a software or research data | Publication citing (cites) the dataset (related publication): | | +| | | | product. | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/verStmt/version | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/verStmt/version | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/verStmt/version | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/verStmt/version | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/verStmt/version | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio |Object |optional |An object containing bibliographic information |structure, no need to map | | -| | | |about a manifestation. | | | +| $.manifestations[*].biblio | Object | optional | An object containing bibliographic information | structure, no need to map | | +| | | | about a manifestation. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.issu |String |optional |Issue number |not supported | | -|e | | | | | | +| $.manifestations[*].biblio.i | String | optional | Issue number | not supported | | +| ssue | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |Object |optional |The pages (e.g. of the book or journal) where |not supported | | -|s | | |the manifestation in defined | | | +| $.manifestations[*].biblio.p | Object | optional | The pages (e.g. of the book or journal) where | not supported | | +| ages | | | the manifestation in defined | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |String |mandatory |The starting page |not supported | | -|s.first | | | | | | +| $.manifestations[*].biblio.p | String | mandatory | The starting page | not supported | | +| ages.first | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |String |mandatory |The ending page |not supported | | -|s.last | | | | | | +| $.manifestations[*].biblio.p | String | mandatory | The ending page | not supported | | +| ages.last | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.volu |String |optional |Volume number (for journals, books, conferences) |not supported | | -|me | | | | | | +| $.manifestations[*].biblio.v | String | optional | Volume number (for journals, books, conferences) | not supported | | +| olume | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.edit |String |optional |The edition (for journals and books) |not supported | | -|ion | | | | | | +| $.manifestations[*].biblio.e | String | optional | The edition (for journals and books) | not supported | | +| dition | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.numb |String |optional |A number of the manifestation within Venue (e.g. |not supported | | -|er | | |chapter number) | | | +| $.manifestations[*].biblio.n | String | optional | A number of the manifestation within Venue (e.g. | not supported | | +| umber | | | chapter number) | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.in |String |optional |A Venue identifier for the manifestation. |not supported | | +| $.manifestations[*].biblio.i | String | optional | A Venue identifier for the manifestation. | not supported | | +| n | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.host |String |optional |A Data source identifier for the manifestation. |Publication citing (cites) the dataset (related publication): | | -|ing_data_source | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/holdings/@location | | +| $.manifestations[*].biblio.h | String | optional | A Data source identifier for the manifestation. | Publication citing (cites) the dataset (related publication): | | +| osting_data_source | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/holdings/@location | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/holdings/@location | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/holdings/@location | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/holdings/@location | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/holdings/@location | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.relevant_organisations |Array of Strings |optional |Relevant Organisation identifiers associated |not applicable | | -| | | |with a Research product, in case the individual | | | -| | | |affiliations of an Agent are not available. | | | +| $.relevant_organisations[*] | Array of Strings | optional | Relevant Organisation identifiers associated | not applicable | | +| | | | with a Research product, in case the individual | | | +| | | | affiliations of an Agent are not available. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.funding |Array of Strings |optional |Relevant Grant identifiers associated with a |Publication citing (cites) the dataset (related publication): | | -| | | |Research product. |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo | | +| $.funding[*] | Array of Strings | optional | Relevant Grant identifiers associated with a | Publication citing (cites) the dataset (related publication): | | +| | | | Research product. | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/prodStmt/grantNo | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/prodStmt/grantNo | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products |Object |optional |Related Research products, where the semantics |structure, no need to map | | -| | | |of such relationships is specified as a key. | | | +| $.related_products | Object | optional | Related Research products, where the semantics | structure, no need to map | | +| | | | of such relationships is specified as a key. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.cites |Array of Strings |optional |Research products identifiers that are cited by |In SKG publication e.g. article using a dataset tells which datasets it cites. In DDI2.5 it is other | | -| | | |a given Research product. |way around, the dataset has the information which publications are related to (using) the dataset. | | +| $.related_products.cites[*] | Array of Strings | optional | Research products identifiers that are cited by | In SKG publication e.g. article using a dataset tells which datasets it cites. In DDI2.5 it is other | | +| | | | a given Research product. | way around, the dataset has the information which publications are related to (using) the dataset. | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_supple |Array of Strings |optional |Research products identifiers that are |not applicable | | -|mented_by | | |supplement of a given Research product. | | | +| $.related_products.is_supple | Array of Strings | optional | Research products identifiers that are | not applicable | | +| mented_by[*] | | | supplement of a given Research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_docume |Array of Strings |optional |Research products identifiers that documents a |not applicable | | -|nted_by | | |given Research product. | | | +| $.related_products.is_docume | Array of Strings | optional | Research products identifiers that documents a | not applicable | | +| nted_by[*] | | | given Research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_new_ve |Array of Strings |optional |Research products identifiers that are prior |not applicable | | -|rsion_of | | |versions of a given Research product. | | | +| $.related_products.is_new_ve | Array of Strings | optional | Research products identifiers that are prior | not applicable | | +| rsion_of[*] | | | versions of a given Research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_part_o |Array of Strings |optional |Research products identifiers that contain the |not applicable | | -|f | | |current Research product. | | | +| $.related_products.is_part_o | Array of Strings | optional | Research products identifiers that contain the | not applicable | | +| f[*] | | | current Research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ - Person ^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | ++==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | -| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | | |DDI2.5. | -| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | | |does not include ExtLink | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@title | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@title | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “person” |DDI2.5 do not have field stating if an agent is a person or an | -| | | |(generic), person or organisation | |organization. It is possible to separate person and organisation only | -| | | | | |if considered that AuthEnty (or other contributor field) is a person | -| | | | | |when it has affiliation attribute attached. | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | -| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.given_name |String |optional |The given name of a Person. |not supported | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.family_name |String |optional |The family name of a Person. |not supported | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations |Array of Objects |optional |All the affiliations of a Person |structure, no need to map | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.affiliation |String |mandatory |The identifier of an Organisation a Person is |Dataset: |DDI-C does not support references. Therefore there is no direct | -| | | |affiliated with. |/codeBook/docDscr/citation/prodStmt/producer/@affiliation |mapping for this field. This mapping is based on the suitable | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation |information content. Note that in SKG-IF the contributor affiliations | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation |are documented using Agent entity and the related Agent entities are | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation |only referenced here using their identifier. | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role |String |recommended |The role that a Person had in the context of an |information can be generated because it is always “affiliate” | | -| | | |Organisation. Needed for parsing purposes; fixed | | | -| | | |to affiliate. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role.period |Object |recommended |The time period where the Person was affiliated |not applicable | | -| | | |with an Organisation. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role.period.s |String |recommended |The start datetime of the affiliation with an |not applicable | | -|tart | | |Organisation. The string should be compliant | | | -| | | |with the ISO 8601 datetime string. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role.period.e |String |recommended |The end datetime (if any) of the affiliation |not applicable | | -|nd | | |with an Organisation. The string should be | | | -| | | |compliant with the ISO 8601 datetime string. | | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | Using ExtLink element is a workaround, there is not actually a field | +| | | | identifiers for the entity | | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | | DDI2.5. | +| | | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | | does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | system | /codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@title | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].value | String | mandatory | The external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/ExtLink | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Field stating the kind of entity, can be agent | information can be generated because it is always “person” | DDI2.5 do not have field stating if an agent is a person or an | +| | | | (generic), person or organisation | | organization. It is possible to separate person and organisation only | +| | | | | | if considered that AuthEnty (or other contributor field) is a person | +| | | | | | when it has affiliation attribute attached. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.name | String | optional | The string containing whatever concatenation of | Dataset: | | +| | | | an Agent name(s). | /codeBook/docDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.given_name | String | optional | The given name of a Person. | not supported | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.family_name | String | optional | The family name of a Person. | not supported | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*] | Array of Objects | optional | All the affiliations of a Person | structure, no need to map | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*].affiliatio | String | mandatory | The identifier of an Organisation a Person is | Dataset: | DDI-C does not support references. Therefore there is no direct | +| n | | | affiliated with. | /codeBook/docDscr/citation/prodStmt/producer/@affiliation | mapping for this field. This mapping is based on the suitable | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | information content. Note that in SKG-IF the contributor affiliations | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | are documented using Agent entity and the related Agent entities are | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | only referenced here using their identifier. | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*].role | String | recommended | The role that a Person had in the context of an | information can be generated because it is always “affiliate” | | +| | | | Organisation. Needed for parsing purposes; fixed | | | +| | | | to affiliate. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*].role.perio | Object | recommended | The time period where the Person was affiliated | not applicable | | +| d | | | with an Organisation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*].role.perio | String | recommended | The start datetime of the affiliation with an | not applicable | | +| d.start | | | Organisation. The string should be compliant | | | +| | | | with the ISO 8601 datetime string. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*].role.perio | String | recommended | The end datetime (if any) of the affiliation | not applicable | | +| d.end | | | with an Organisation. The string should be | | | +| | | | compliant with the ISO 8601 datetime string. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Affiliation of a person as Organisation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | -| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | | |DDI2.5. | -| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | | |does not include ExtLink | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@title | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@title | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “person” |DDI2.5 do not have field stating if an agent is a person or an | -| | | |(generic), person or organisation | |organization. It is possible to separate person and organisation only | -| | | | | |if considered that AuthEnty (or other contributor field) is a person | -| | | | | |when it has affiliation attribute attached. | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | -| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.short_name |String |optional |The short name/acronym for an Organisation. |Dataset: |These fields do not support abbreviation | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/@abbr |Dataset: | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@abbr |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@abbr |/codeBook/stdyDscr/citation/rspStmt/othId | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@abbr | | -| | | | | |Publication citing (cites) the dataset (related publication): | -| | | | |Publication citing (cites) the dataset (related publication): |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/Auth | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@abbr |Enty | -| | | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othI | -| | | | |Material documenting (is_documented_by) the dataset (related material): |d | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@abbr | | -| | | | | |Material documenting (is_documented_by) the dataset (related | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): |material): | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@abbr |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthE | -| | | | | |nty | -| | | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | -| | | | | | | -| | | | | |Material supplementing (is_supplemented_by) the dataset (other | -| | | | | |material): | -| | | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | -| | | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.other_names |Array of Strings |optional |Other names, perhaps in different languages, |DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these | | -| | | |identifying an Organisation. |fields: | | -| | | | |Dataset: | | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.website |String |optional |The website URL for an Organisation. |not supported | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.country |String |optional |The country code of an Organisation |not applicable | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.type |String |optional |The types of an Organisation. |not applicable | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | Using ExtLink element is a workaround, there is not actually a field | +| | | | identifiers for the entity | | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | | DDI2.5. | +| | | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | | does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | system | /codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@title | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].value | String | mandatory | The external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/ExtLink | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Field stating the kind of entity, can be agent | information can be generated because it is always “person” | DDI2.5 do not have field stating if an agent is a person or an | +| | | | (generic), person or organisation | | organization. It is possible to separate person and organisation only | +| | | | | | if considered that AuthEnty (or other contributor field) is a person | +| | | | | | when it has affiliation attribute attached. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.name | String | optional | The string containing whatever concatenation of | Dataset: | | +| | | | an Agent name(s). | /codeBook/docDscr/citation/prodStmt/producer/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.short_name | String | optional | The short name/acronym for an Organisation. | Dataset: | These fields do not support abbreviation | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/@abbr | Dataset: | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@abbr | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@abbr | /codeBook/stdyDscr/citation/rspStmt/othId | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@abbr | | +| | | | | | Publication citing (cites) the dataset (related publication): | +| | | | | Publication citing (cites) the dataset (related publication): | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/Auth | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@abbr | Enty | +| | | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othI | +| | | | | Material documenting (is_documented_by) the dataset (related material): | d | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@abbr | | +| | | | | | Material documenting (is_documented_by) the dataset (related | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | material): | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@abbr | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthE | +| | | | | | nty | +| | | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | +| | | | | | | +| | | | | | Material supplementing (is_supplemented_by) the dataset (other | +| | | | | | material): | +| | | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | +| | | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.other_names[*] | Array of Strings | optional | Other names, perhaps in different languages, | DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these | | +| | | | identifying an Organisation. | fields: | | +| | | | | Dataset: | | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.website | String | optional | The website URL for an Organisation. | not supported | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.country | String | optional | The country code of an Organisation | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.type | String | optional | The types of an Organisation. | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Organisation ^^^^^^^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | -| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | | |DDI2.5. | -| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | | |does not include ExtLink | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/ExtLink/@title | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/ExtLink/@title | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/ExtLink/@title | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty/@title | | -| | | | |/codeBook/otherMat/citation/rspStmt/othId/@title | | -| | | | |/codeBook/otherMat/citation/prodStmt/producer/@title | | -| | | | |/codeBook/otherMat/citation/prodStmt/fundAg/ExtLink/@title | | -| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/ExtLink/@title | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg/ExtLink | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/ExtLink | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/ExtLink | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/ExtLink | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/prodStmt/producer | | -| | | | |/codeBook/otherMat/citation/prodStmt/fundAg/ExtLink | | -| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/ExtLink | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “organisation” |DDI2.5 do not have field stating if an agent is a person or an | -| | | |(generic), person or organisation | |organization. It is possible to separate person and organisation only | -| | | | | |if considered that AuthEnty (or other contributor field) is a person | -| | | | | |when it has affiliation attribute attached. | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | -| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/prodStmt/producer | | -| | | | |/codeBook/otherMat/citation/prodStmt/fundAg | | -| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/@agency | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.short_name |String |optional |The short name/acronym for an Organisation. |Dataset: | | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/@abbr | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@abbr | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@abbr | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@abbr | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg/@abbr | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@abbr | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/@abbr | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@abbr | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/@abbr | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@abbr | | -| | | | |/codeBook/otherMat/citation/prodStmt/fundAg/@abbr | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.other_names |Array of Strings |optional |Other names, perhaps in different languages, |DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these | | -| | | |identifying an Organisation. |fields: | | -| | | | |Dataset: | | -| | | | |/codeBook/docDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/prodStmt/producer | | -| | | | |/codeBook/otherMat/citation/prodStmt/fundAg | | -| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/@agency | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.website |String |optional |The website URL for an Organisation. |not supported | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.country |String |optional |The country code of an Organisation |not applicable | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.type |String |optional |The types of an Organisation. |not applicable | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | Using ExtLink element is a workaround, there is not actually a field | +| | | | identifiers for the entity | | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | | DDI2.5. | +| | | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | | does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | system | /codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/grantNo/ExtLink/@title | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/ExtLink/@title | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/ExtLink/@title | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/rspStmt/AuthEnty/@title | | +| | | | | /codeBook/otherMat/citation/rspStmt/othId/@title | | +| | | | | /codeBook/otherMat/citation/prodStmt/producer/@title | | +| | | | | /codeBook/otherMat/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | | /codeBook/otherMat/citation/prodStmt/grantNo/ExtLink/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].value | String | mandatory | The external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/ExtLink | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/fundAg/ExtLink | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/grantNo/ExtLink | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/ExtLink | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/ExtLink | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/prodStmt/producer | | +| | | | | /codeBook/otherMat/citation/prodStmt/fundAg/ExtLink | | +| | | | | /codeBook/otherMat/citation/prodStmt/grantNo/ExtLink | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Field stating the kind of entity, can be agent | information can be generated because it is always “organisation” | DDI2.5 do not have field stating if an agent is a person or an | +| | | | (generic), person or organisation | | organization. It is possible to separate person and organisation only | +| | | | | | if considered that AuthEnty (or other contributor field) is a person | +| | | | | | when it has affiliation attribute attached. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.name | String | optional | The string containing whatever concatenation of | Dataset: | | +| | | | an Agent name(s). | /codeBook/docDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/prodStmt/producer | | +| | | | | /codeBook/otherMat/citation/prodStmt/fundAg | | +| | | | | /codeBook/otherMat/citation/prodStmt/grantNo/@agency | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.short_name | String | optional | The short name/acronym for an Organisation. | Dataset: | | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/@abbr | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@abbr | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@abbr | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@abbr | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/fundAg/@abbr | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@abbr | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/@abbr | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@abbr | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/@abbr | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@abbr | | +| | | | | /codeBook/otherMat/citation/prodStmt/fundAg/@abbr | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.other_names[*] | Array of Strings | optional | Other names, perhaps in different languages, | DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these | | +| | | | identifying an Organisation. | fields: | | +| | | | | Dataset: | | +| | | | | /codeBook/docDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/prodStmt/producer | | +| | | | | /codeBook/otherMat/citation/prodStmt/fundAg | | +| | | | | /codeBook/otherMat/citation/prodStmt/grantNo/@agency | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.website | String | optional | The website URL for an Organisation. | not supported | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.country | String | optional | The country code of an Organisation | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.type | String | optional | The types of an Organisation. | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Agent (not known if it is Person or Organization) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |nan | -| | | |use URL as identifier | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | -| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | | |DDI2.5. | -| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | | |does not include ExtLink | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@title | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@title | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “agent” | | -| | | |(generic), person or organisation | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | -| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | Using ExtLink element is a workaround, there is not actually a field | +| | | | identifiers for the entity | | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | | DDI2.5. | +| | | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | | does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | system | /codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@title | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].value | String | mandatory | The external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/ExtLink | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Field stating the kind of entity, can be agent | information can be generated because it is always “agent” | | +| | | | (generic), person or organisation | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.name | String | optional | The string containing whatever concatenation of | Dataset: | | +| | | | an Agent name(s). | /codeBook/docDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ + Grant ^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| Entity / Property name | Type | optional/recommended | Description | DDI 2.5 (Dublin Core fields excluded) | Notes | -| | | /mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ | $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | | | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.grant_number | String | recommended | Unique code identifying the Grant at the funder. | /codeBook/stdyDscr/citation/prodStmt/grantNo | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | | | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers.scheme | String | mandatory | The scheme/name of the external identifier | not supported | | +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | not supported | | | | | | system | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers.value | String | mandatory | The external identifier | not supported | | +| $.identifiers[*].value | String | mandatory | The external identifier | not supported | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.entity_type | String | mandatory | Needed for parsing purposes; fixed to grant. | information can be generated because it is always “grant” | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -1307,8 +1303,8 @@ Grant | code | | | language code and be the language of the content | | | | | | | of the value | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.titles.ISO 639-1 language | Array of Strings | ? | The list of the titles in the given (ISO 639-1) | not applicable | | -| code | | | language, specified by the key name | | | +| $.titles.ISO 639-1 language | Array of Strings | ? | The list of the titles in the given (ISO 639-1) | not applicable | | +| code[*] | | | language, specified by the key name | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.abstracts | Object | optional | The abstracts of the entity | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -1317,7 +1313,7 @@ Grant | | | | of the value | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.abstracts.ISO 639-1 | Array of Strings | ? | The list of the abstracts in the given (ISO | not applicable | | -| language code | | | 639-1) language, specified by the key name | | | +| language code[*] | | | 639-1) language, specified by the key name | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.acronym | String | optional | The acronym of the grant | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -1332,7 +1328,7 @@ Grant +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.funded_amount | Numeric | optional | Amount funded | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.keywords | Array of Strings | optional | Keywords | not applicable | | +| $.keywords[*] | Array of Strings | optional | Keywords | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.duration | Object | optional | Duration of the Grant | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -1342,204 +1338,200 @@ Grant +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.website | String | optional | The URL of the funded project website. | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.beneficiaries | Array of Strings | optional | The references (identifiers) of the Organization | not applicable | | +| $.beneficiaries[*] | Array of Strings | optional | The references (identifiers) of the Organization | not applicable | | | | | | Agents funded by the Grant | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.contributions | Array of Objects | optional | The array of objects describing the contributors | structure, no need to map | | +| $.contributions[*] | Array of Objects | optional | The array of objects describing the contributors | structure, no need to map | | | | | | and their contribution | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.contributions.by | String | mandatory | The reference (Identifier) of the agent | not applicable | | +| $.contributions[*].by | String | mandatory | The reference (Identifier) of the agent | not applicable | | | | | | contributing to the grant | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.contributions.declared_aff | Array of Strings | recommended | The reference (identifier) of the agent which is | not applicable | | -| iliations | | | affiliation of the contributor. | | | +| $.contributions[*].declared_ | Array of Strings | recommended | The reference (identifier) of the agent which is | not applicable | | +| affiliations[*] | | | affiliation of the contributor. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.contributions.role | Array of Strings | recommended | The role of the agent. SCoro project roles: co- | not applicable | | -| | | | applicant, lead applican, project leader, | | | +| $.contributions[*].role[*] | Array of Strings | recommended | The role of the agent. SCoro project roles: | not applicable | | +| | | | co-applicant, lead applican, project leader, | | | | | | | project manager, project member, workpackage | | | | | | | leader | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ - Venue ^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. |   | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | -| | | |identifiers for the entity | | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map |   | +| | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |If the contents of the URI attribute are used as the identifier then this should be set to "url" | | -| | | |system | | | +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | If the contents of the URI attribute are used as the identifier then this should be set to "url" |   | +| | | | system | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |/codeBook/stdyDscr/citation/distStmt/distrbtr/@URI | | +| $.identifiers[*].value | String | mandatory | The external identifier | /codeBook/stdyDscr/citation/distStmt/distrbtr/@URI |   | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to venue |information can be generated because it is always “venue” | | +| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to venue | information can be generated because it is always “venue” |   | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The name of a Venue. |/codeBook/stdyDscr/citation/distStmt/distrbtr | | +| $.name | String | optional | The name of a Venue. | /codeBook/stdyDscr/citation/distStmt/distrbtr |   | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.acronym |String |optional |Acronym used by a Venue. |/codeBook/stdyDscr/citation/distStmt/distrbtr/@abbr | | +| $.acronym | String | optional | Acronym used by a Venue. | /codeBook/stdyDscr/citation/distStmt/distrbtr/@abbr |   | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.type |String |optional |The type of a Venue. Allowed values: journal, |Most of the times this value would be set to "repository" | | -| | | |conference, book, repository, other, unknown | | | +| $.type | String | optional | The type of a Venue. Allowed values: journal, | Most of the times this value would be set to "repository" |   | +| | | | conference, book, repository, other, unknown | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.series |String |optional |The name of the conference or book series. |not applicable |The desciption of the field says that it is meant for the venues of | -| | | | | |type "conference" or "book" | +| $.series | String | optional | The name of the conference or book series. | not applicable | The desciption of the field says that it is meant for the venues of | +| | | | | | type "conference" or "book" | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.access_rights |Object |recommended |The access right for the specific journal. |not applicable |The desciption of the field says that it is meant for the venues of | -| | | | | |type "journal" | +| $.access_rights | Object | recommended | The access right for the specific journal. | not applicable | The desciption of the field says that it is meant for the venues of | +| | | | | | type "journal" | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.access_rights.status |String |mandatory |The description if the journal is open access |not applicable |The desciption of the field says that it is meant for the venues of | -| | | |(open), closed access (closed), or hybrid | |type "journal" | +| $.access_rights.status | String | mandatory | The description if the journal is open access | not applicable | The desciption of the field says that it is meant for the venues of | +| | | | (open), closed access (closed), or hybrid | | type "journal" | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.access_rights.description |String |recommended |Describe and qualify the specific status |not applicable |The desciption of the field says that it is meant for the venues of | -| | | |selected. | |type "journal" | +| $.access_rights.description | String | recommended | Describe and qualify the specific status | not applicable | The desciption of the field says that it is meant for the venues of | +| | | | selected. | | type "journal" | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.creation_date |String |optional |The date of creation of a Venue. |not applicable | | +| $.creation_date | String | optional | The date of creation of a Venue. | not applicable |   | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions |Array of Objects |optional |The array of objects describing the contributors |not applicable | | -| | | |and their contribution | | | +| $.contributions[*] | Array of Objects | optional | The array of objects describing the contributors | not applicable |   | +| | | | and their contribution | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.by |String |mandatory |The reference (Identifier) of the agent |not applicable | | -| | | |contributing to the research Venue. | | | +| $.contributions[*].by | String | mandatory | The reference (Identifier) of the agent | not applicable |   | +| | | | contributing to the research Venue. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.role |String |recommended |The role of the agent. The possible values are |not applicable | | -| | | |editor, publisher. | | | +| $.contributions[*].role | String | recommended | The role of the agent. The possible values are | not applicable |   | +| | | | editor, publisher. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Topic when collected from DDI2.5 files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |When topic information is collected from DDI2.5, it is quite likely | -| | | |use URL as identifier | |that "on-the-fly" local identifiers will be used. | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | When topic information is collected from DDI2.5, it is quite likely | +| | | | use URL as identifier | | that "on-the-fly" local identifiers will be used. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | -| | | |identifiers for the entity | | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map |   | +| | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |/codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink/@title |Using ExtLink element is a workaround, there is not actually a field | -| | | |system |/codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink/@title |for (Persistent) Identifiers | -| | | | | |Even if keyword and topcClas are the best mappings, it is possible to | -| | | | | | map any "vocabulary field" to this e.g. | -| | | | | |/codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink/@title | -| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink/@title | -| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc/ExtLink/@title | -| | | | | |/codeBook/stdyDscr/method/dataColl/collMode/ExtLink/@title | -| | | | | |/codeBook/stdyDscr/sumDscr/dataKind/ExtLink/@title | -| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru/ExtLink/@title | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |/codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink |Even if keyword and topcClas are the best mappings, it is possible to | -| | | | |/codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink | map any "vocabulary field" to this e.g. | -| | | | | |/codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink | -| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink | -| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc/ExtLink | -| | | | | |/codeBook/stdyDscr/method/dataColl/collMode/ExtLink | -| | | | | |/codeBook/stdyDscr/sumDscr/dataKind/ExtLink | -| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru/ExtLink | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to topic. |information can be generated because it is always “topic” | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.labels |Object |optional |Labels (terms) |structure, no need to map | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.labels.ISO 639-1 language |name of the key |? |The name of the key, which must be ISO 639-1 |/codeBook/stdyDscr/stdyInfo/subject/keyword/@xml:lang |Even if keyword and topcClas are the best mappings, it is possible to | -|code | | |language code and be the language of the content |/codeBook/stdyDscr/stdyInfo/subject/topcClas/@xml:lang | map any "vocabulary field" to this e.g. | -| | | | of the value | |/codeBook/stdyDscr/sumDscr/anlyUnit/@xml:lang | -| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/@xml:lang | -| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc/@xml:lang | -| | | | | |/codeBook/stdyDscr/method/dataColl/collMode/@xml:lang | -| | | | | |/codeBook/stdyDscr/sumDscr/dataKind/@xml:lang | -| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru/@xml:lang | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.labels.ISO 639-1 language |Array of Strings |? |Label describing a Topic in the given (ISO | |Even if keyword and topcClas are the best mappings, it is possible to | -|code | | |639-1) language, specified by the key name |/codeBook/stdyDscr/stdyInfo/subject/keyword | map any "vocabulary field" to this e.g. | -| | | | |/codeBook/stdyDscr/stdyInfo/subject/topcClas |/codeBook/stdyDscr/sumDscr/anlyUnit | -| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth | -| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc | -| | | | | |/codeBook/stdyDscr/method/dataColl/collMode | -| | | | | |/codeBook/stdyDscr/sumDscr/dataKind | -| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru | +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | | Using ExtLink element is a workaround, there is not actually a field | +| | | | system | /codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink/@title | for (Persistent) Identifiers | +| | | | | /codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink/@title | Even if keyword and topcClas are the best mappings, it is possible to | +| | | | | | map any "vocabulary field" to this e.g. | +| | | | | | /codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink/@title | +| | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink/@title | +| | | | | | /codeBook/stdyDscr/method/dataColl/sampProc/ExtLink/@title | +| | | | | | /codeBook/stdyDscr/method/dataColl/collMode/ExtLink/@title | +| | | | | | /codeBook/stdyDscr/sumDscr/dataKind/ExtLink/@title | +| | | | | | /codeBook/stdyDscr/method/dataColl/resInstru/ExtLink/@title | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].value | String | mandatory | The external identifier | | Even if keyword and topcClas are the best mappings, it is possible to | +| | | | | /codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink | map any "vocabulary field" to this e.g. | +| | | | | /codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink | /codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink | +| | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink | +| | | | | | /codeBook/stdyDscr/method/dataColl/sampProc/ExtLink | +| | | | | | /codeBook/stdyDscr/method/dataColl/collMode/ExtLink | +| | | | | | /codeBook/stdyDscr/sumDscr/dataKind/ExtLink | +| | | | | | /codeBook/stdyDscr/method/dataColl/resInstru/ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to topic. | information can be generated because it is always “topic” |   | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.labels | Object | optional | Labels (terms) | structure, no need to map |   | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.labels.ISO 639-1 language | name of the key | ? | The name of the key, which must be ISO 639-1 | | Even if keyword and topcClas are the best mappings, it is possible to | +| code | | | language code and be the language of the content | /codeBook/stdyDscr/stdyInfo/subject/keyword/@xml:lang | map any "vocabulary field" to this e.g. | +| | | | of the value | /codeBook/stdyDscr/stdyInfo/subject/topcClas/@xml:lang | /codeBook/stdyDscr/sumDscr/anlyUnit/@xml:lang | +| | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth/@xml:lang | +| | | | | | /codeBook/stdyDscr/method/dataColl/sampProc/@xml:lang | +| | | | | | /codeBook/stdyDscr/method/dataColl/collMode/@xml:lang | +| | | | | | /codeBook/stdyDscr/sumDscr/dataKind/@xml:lang | +| | | | | | /codeBook/stdyDscr/method/dataColl/resInstru/@xml:lang | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.labels.ISO 639-1 language | Array of Strings | ? | Label describing a Topic in the given (ISO | | Even if keyword and topcClas are the best mappings, it is possible to | +| code[*] | | | 639-1) language, specified by the key name | /codeBook/stdyDscr/stdyInfo/subject/keyword | map any "vocabulary field" to this e.g. | +| | | | | /codeBook/stdyDscr/stdyInfo/subject/topcClas | /codeBook/stdyDscr/sumDscr/anlyUnit | +| | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth | +| | | | | | /codeBook/stdyDscr/method/dataColl/sampProc | +| | | | | | /codeBook/stdyDscr/method/dataColl/collMode | +| | | | | | /codeBook/stdyDscr/sumDscr/dataKind | +| | | | | | /codeBook/stdyDscr/method/dataColl/resInstru | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ - Data source ^^^^^^^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | -| | | | use URL as identifier | | | +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | +| | | |use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | -| | | | identifiers for the entity | | | +|$.identifiers[*] |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | +| | | |identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers.scheme | String | mandatory | The scheme/name of the external identifier | /codeBook/stdyDscr/citation/holdings/ExtLink/@title | Using ExtLink element is a workaround, there is not actually a field | -| | | | system | | for identifier/URL pointing to the organization (data source) | +|$.identifiers[*].scheme |String |mandatory |The scheme/name of the external identifier |/codeBook/stdyDscr/citation/holdings/ExtLink/@title |Using ExtLink element is a workaround, there is not actually a field | +| | | |system | |for identifier/URL pointing to the organization (data source) | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers.value | String | mandatory | The external identifier | /codeBook/stdyDscr/citation/holdings/ExtLink/@URI | | +|$.identifiers[*].value |String |mandatory |The external identifier |/codeBook/stdyDscr/citation/holdings/ExtLink/@URI | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to datasource | information can be generated because it is always “datasource” | | +|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to datasource |information can be generated because it is always “datasource” | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.name | String | optional | The name of a Venue. | /codeBook/stdyDscr/citation/holdings/@location | | +|$.name |String |optional |The name of a Data source. |/codeBook/stdyDscr/citation/holdings/@location | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.persistent_identity_system | Array of Objects | optional | The persistent identifier systems that are used | not applicable | | -| s | | | by a Data source to identify the ProductType it | | | -| | | | supports. | | | +|$.persistent_identity_system |Array of Objects |optional |The persistent identifier systems that are used |not applicable | | +|s[*] | | |by a Data source to identify the ProductType it | | | +| | | |supports. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.persistent_identity_system | ? | mandatory | The Product type to which the persistent | not applicable | | -| s.for | | | identifier is referring to. Allowed values: | | | -| | | | literature, research data, software, metadata, | | | -| | | | any | | | +|$.persistent_identity_system |? |mandatory |The Product type to which the persistent |not applicable | | +|s[*].for | | |identifier is referring to. Allowed values: | | | +| | | |literature, research data, software, metadata, | | | +| | | |any | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.persistent_identity_system | Array of Strings | mandatory | Persistent identifier schemes used to refer to | not applicable | | -| s.pid_schemes | | | ProductTypes. | | | +|$.persistent_identity_system |Array of Strings |mandatory |Persistent identifier schemes used to refer to |not applicable | | +|s[*].pid_schemes[*] | | |ProductTypes. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.audience | Array of Objects | optional | The property defines the target audiences of the | not applicable | | -| | | | users of a Data source. | | | +|$.audience[*] |Array of Objects |optional |The property defines the target audiences of the |not applicable | | +| | | |users of a Data source. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.audience.audience_type | String | mandatory | The type of the audience based on the vocabulary | not applicable | | -| | | | "Jurisdiction". Allowed values "Global", | | | -| | | | "National", "Regional", "Institution", "Research | | | -| | | | infrastructure", "e-infrastructure" | | | +|$.audience[*].audience_type |String |mandatory |The type of the audience based on the vocabulary |not applicable | | +| | | |"Jurisdiction". Allowed values "Global", | | | +| | | |"National", "Regional", "Institution", "Research | | | +| | | |infrastructure", "e-infrastructure" | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.data_source_classification | String | optional | The specific type of a Data source, based on the | not applicable | | -| | | | vocabulary Data source Classification. It can be | | | -| | | | chosen among the following values: repository, | | | -| | | | aggregator, scientific database, journal | | | -| | | | archive, publisher archive, cris system | | | +|$.data_source_classification |String |optional |The specific type of a Data source, based on the |not applicable | | +| | | |vocabulary Data source Classification. It can be | | | +| | | |chosen among the following values: repository, | | | +| | | |aggregator, scientific database, journal | | | +| | | |archive, publisher archive, cris system | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.research_product_type | Array of Strings | optional | The types of entities managed by a Data source. | not applicable | | -| | | | Each item in the list should be compliant with | | | -| | | | the following terms: metadata, research data, | | | -| | | | literature, software, any | | | +|$.research_product_type[*] |Array of Strings |optional |The types of entities managed by a Data source. |not applicable | | +| | | |Each item in the list should be compliant with | | | +| | | |the following terms: metadata, research data, | | | +| | | |literature, software, any | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.disciplines | Array of Strings | optional | The disciplines for which a Data source is | not applicable | | -| | | | dedicated - specified using the Library of | | | -| | | | Congress Classification codes, available at | | | -| | | | https://id.loc.gov/authorities/classification | | | -| | | | (e.g. PA3000-PA3049 for classical literature). | | | -| | | | In case a Data source is discipline agnostic, | | | -| | | | the string all should be specified. | | | +|$.disciplines[*] |Array of Strings |optional |The disciplines for which a Data source is |not applicable | | +| | | |dedicated - specified using the Library of | | | +| | | |Congress Classification codes, available at | | | +| | | |https://id.loc.gov/authorities/classification | | | +| | | |(e.g. PA3000-PA3049 for classical literature). | | | +| | | |In case a Data source is discipline agnostic, | | | +| | | |the string all should be specified. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.policies | Array of Objects | optional | The policies followed by a Data source. | not applicable | | +|$.policies[*] |Array of Objects |optional |The policies followed by a Data source. |not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.policies.about | String | mandatory | The type of policy to consider. | not applicable | | +|$.policies.about |String |mandatory |The type of policy to consider. |not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.policies.target | Array of Strings | recommended | The types of resources to which the policy | not applicable | | -| | | | applies to, allowed values: : metadata, research | | | -| | | | data, literature, software, any | | | +|$.policies.target[*] |Array of Strings |recommended |The types of resources to which the policy |not applicable | | +| | | |applies to, allowed values: : metadata, research | | | +| | | |data, literature, software, any | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.policies.documented_at | String | recommended | The URL of the document that describes the | not applicable | | -| | | | policy. | | | +|$.policies.documented_at |String |recommended |The URL of the document that describes the |not applicable | | +| | | |policy. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.policies.description | String | recommended | Describe the type of policy, if necessary. | not applicable | | +|$.policies.description |String |recommended |Describe the type of policy, if necessary. |not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ From 4cb80eb9f18be3e08b0a8c7eb8548dbfccfcc218 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 15:21:47 +0100 Subject: [PATCH 056/101] docs: fixing the format of files --- docs/commons/FAIR/Assessment-Recommended-API.rst | 12 ++++++------ docs/commons/FAIR/Guidance-Element-Specification.rst | 6 +++--- docs/commons/FAIR/index_catalogs_registries.rst | 3 ++- docs/commons/FAIR/index_standards.rst | 3 ++- docs/commons/dmp/API-specification.rst | 6 +----- docs/commons/dmp/application-profile.rst | 3 ++- docs/commons/dmp/dmp-commons.rst | 12 ++++++------ .../mappings/LifeWatch-maDMP-mapping-template.rst | 3 --- .../SOCIB-Coastal-marine-maDMP-mapping-template.rst | 2 -- 9 files changed, 22 insertions(+), 28 deletions(-) delete mode 100644 docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst delete mode 100644 docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index 670c9ba..f6b2148 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -14,17 +14,17 @@ Calls that are intended to retrieve information and calls that are intended to trigger an activity (such as a test or assessment). The latter kinds of calls are prefixed with /assess/. -Please refer to the paragraphs below for API calls or implementation. -An OpenAPI yaml specification for FTR is available in the following [link](https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/api/open_api_description.yaml) including examples and +Please refer to the paragraphs below for API calls or implementation. +An OpenAPI yaml specification for FTR is available in the following [link](https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/api/open_api_description.yaml) including examples and method calls. GET calls ---------------------------- -Each of following methods will return metadata of the artifact in JSON-LD, -following the FAIR-IF Application Profile. The method MUST accept a GET -string with key/value as in the table below. The same method MAY accept a JSON -Body as in Table 1, via HTTP POST. +Each of following methods will return metadata of the artifact in JSON-LD, +following the FAIR-IF Application Profile. The method MUST accept a GET +string with key/value as in the table below. The same method MAY accept a JSON +Body as in Table 1, via HTTP POST. | Method | Parameter | Returns | |------------- |------------ |-------------------------- | diff --git a/docs/commons/FAIR/Guidance-Element-Specification.rst b/docs/commons/FAIR/Guidance-Element-Specification.rst index 99cf024..d911828 100644 --- a/docs/commons/FAIR/Guidance-Element-Specification.rst +++ b/docs/commons/FAIR/Guidance-Element-Specification.rst @@ -8,7 +8,7 @@ The **FAIR Guidance Vocabulary (FGV)** provides a machine-readable ontology that The code release provides the ontology, including vocabularies, definitions, and specifications in machine-readable form. - **Persistent identifier**: `https://w3id.org/fgv# `__ - - **Code Repository**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/ - - **Latest Release**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/releases/latest - - **Documentation**: https://ostrails.github.io/FAIR-Guidance-Vocabulary/ + - **Code Repository**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/ + - **Latest Release**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/releases/latest + - **Documentation**: https://ostrails.github.io/FAIR-Guidance-Vocabulary/ - **License**: Creative Commons Attribution 4.0 International `CC-BY 4.0 `__ diff --git a/docs/commons/FAIR/index_catalogs_registries.rst b/docs/commons/FAIR/index_catalogs_registries.rst index 66f2e44..d3b5798 100644 --- a/docs/commons/FAIR/index_catalogs_registries.rst +++ b/docs/commons/FAIR/index_catalogs_registries.rst @@ -6,4 +6,5 @@ The following resources in this section are part of the FAIR Commons component. .. toctree:: :caption: Catalogs and Registries :maxdepth: 1 - :titlesonly: \ No newline at end of file + :titlesonly: + diff --git a/docs/commons/FAIR/index_standards.rst b/docs/commons/FAIR/index_standards.rst index e71f525..0e4bca4 100644 --- a/docs/commons/FAIR/index_standards.rst +++ b/docs/commons/FAIR/index_standards.rst @@ -10,4 +10,5 @@ The following resources in this section are part of the FAIR Commons component. Guidance Element Specification FAIR Test Results Vocabulary (FTR) - Assessment Recommended API \ No newline at end of file + Assessment Recommended API + diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst index 4ea383c..3887f5c 100644 --- a/docs/commons/dmp/API-specification.rst +++ b/docs/commons/dmp/API-specification.rst @@ -4,11 +4,7 @@ OSTrails maDMP API Specification .. page-authors:: Tomasz Miksa -The API is developed jointly with the `Research Data Alliance maDMP API working group `_. - - - - +The API is developed jointly with the `Research Data Alliance maDMP API working group `_. The charter of the group can be found `here `_. diff --git a/docs/commons/dmp/application-profile.rst b/docs/commons/dmp/application-profile.rst index bfcc717..a06553f 100644 --- a/docs/commons/dmp/application-profile.rst +++ b/docs/commons/dmp/application-profile.rst @@ -3,4 +3,5 @@ OSTrails Application Profile for maDMPs OSTrails Application Profile (AP) as a tailored extension of the `RDA DMP Common Standard (DCS) for maDMPs `_ will be designed to enhance interoperability while addressing various requirements (e.g. funders). Technically, the specification of the application profile will be done as prescribed by the DCS (which will support such extensions) and will be part of the Commons as the description of data structure. -- *Planned resource to be developed* \ No newline at end of file +- *Planned resource to be developed* + diff --git a/docs/commons/dmp/dmp-commons.rst b/docs/commons/dmp/dmp-commons.rst index 9d19188..4c94962 100644 --- a/docs/commons/dmp/dmp-commons.rst +++ b/docs/commons/dmp/dmp-commons.rst @@ -4,13 +4,13 @@ DMP Commons The following resources in this section are part of the DMP Commons component. .. toctree:: - :caption: Commons Resources - :maxdepth: 1 - :titlesonly: + :caption: Commons Resources + :maxdepth: 1 + :titlesonly: - OSTrails Application Profile for maDMPs - OSTrails maDMP API Specification - maDMP mappings + OSTrails Application Profile for maDMPs + OSTrails maDMP API Specification + maDMP mappings diff --git a/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst b/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst deleted file mode 100644 index 59821a0..0000000 --- a/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst +++ /dev/null @@ -1,3 +0,0 @@ -LifeWatch maDMP mapping/template -======================================= - diff --git a/docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst b/docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst deleted file mode 100644 index c8e50e6..0000000 --- a/docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst +++ /dev/null @@ -1,2 +0,0 @@ -SOCIB/Coastal marine maDMP mapping/template -============================================= \ No newline at end of file From 9882f2b5b093ac9e0fc150d3d09542c53a88d75c Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 15:53:44 +0100 Subject: [PATCH 057/101] docs: fix --- docs/commons/dmp/mappings/index.rst | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/commons/dmp/mappings/index.rst b/docs/commons/dmp/mappings/index.rst index abb2ec7..8575f5a 100644 --- a/docs/commons/dmp/mappings/index.rst +++ b/docs/commons/dmp/mappings/index.rst @@ -9,5 +9,3 @@ maDMP mappings Science Europe maDMP mapping Austrian FWF – maDMP mapping - LifeWatch maDMP mapping/template - SOCIB/Coastal marine maDMP mapping/template From 5da4d85d689b3869f2141fbfece5d7edcf6923a7 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 16:41:26 +0100 Subject: [PATCH 058/101] docs: fixing the table --- .../FAIR/Assessment-Recommended-API.rst | 98 ++++++++++++------- 1 file changed, 64 insertions(+), 34 deletions(-) diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index f6b2148..2a3370a 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -1,48 +1,78 @@ Assessment Recommended API ---------------------------- -The FAIR-IF follows, as closely as possible, the REST standard; -however, unlike many REST architectures, not all identifiers in -the IF are “local”, and thus it is often necessary to pass the -full GUID of an identifier from one component to another, or from -client to server. For example, the GUID of a Benchmark is the -DOI of that Benchmark as recorded in the FAIRsharing registry, -and as such, it cannot become part of the URL of the REST interface. - -Nevertheless, there are two “types” of calls in the FAIR-IF. -Calls that are intended to retrieve information and calls that are -intended to trigger an activity (such as a test or assessment). -The latter kinds of calls are prefixed with /assess/. - -Please refer to the paragraphs below for API calls or implementation. -An OpenAPI yaml specification for FTR is available in the following [link](https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/api/open_api_description.yaml) including examples and +The FAIR-IF follows, as closely as possible, the REST standard; +however, unlike many REST architectures, not all identifiers in +the IF are “local”, and thus it is often necessary to pass the +full GUID of an identifier from one component to another, or from +client to server. For example, the GUID of a Benchmark is the +DOI of that Benchmark as recorded in the FAIRsharing registry, +and as such, it cannot become part of the URL of the REST interface. + +Nevertheless, there are two “types” of calls in the FAIR-IF. +Calls that are intended to retrieve information and calls that are +intended to trigger an activity (such as a test or assessment). +The latter kinds of calls are prefixed with /assess/. + +Please refer to the paragraphs below for API calls or implementation. +An OpenAPI yaml specification for FTR is available in the following [link](https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/api/open_api_description.yaml) including examples and method calls. GET calls ---------------------------- -Each of following methods will return metadata of the artifact in JSON-LD, -following the FAIR-IF Application Profile. The method MUST accept a GET -string with key/value as in the table below. The same method MAY accept a JSON -Body as in Table 1, via HTTP POST. +Each of following methods will return metadata of the artifact in JSON-LD, +following the FAIR-IF Application Profile. The method MUST accept a GET +string with key/value as in the table below. The same method MAY accept a JSON +Body as in Table 1, via HTTP POST. -| Method | Parameter | Returns | -|------------- |------------ |-------------------------- | -| `/tests/` | `testid` | A list with all the test identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/benchmarks/`| `bmid` | A list with all the benchmark identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/metrics/` | `mid` | A list with all the metrics identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/algorithms/`| `aid` | A list with all the algorithms identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +.. list-table:: GET endpoints + :header-rows: 1 + :widths: 20 20 60 + * - Method + - Parameter + - Returns + * - ``/tests/`` + - ``testid`` + - A list with all the test identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. + * - ``/benchmarks/`` + - ``bmid`` + - A list with all the benchmark identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. + * - ``/metrics/`` + - ``mid`` + - A list with all the metrics identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. + * - ``/algorithms/`` + - ``aid`` + - A list with all the algorithms identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. POST calls ---------------------------- All post requests must submit a body with the resource to assess as follows: -``` -{"resource_identifier": "https://w3id.org/example#"} -``` - -| Method | Parameter | Returns | -|-------------|--------------|--------------------------| -|`/assess/test/`|testid and resource_identifier| Test result in JSON-LD | -|`/assess/benchmark/`|bmid and resource_identifier| Test result in JSON-LD | -|`/assess/algorithm/`|algoid and resource_identifier| Test result in JSON-LD | + +.. code-block:: json + + { + "resource_identifier": "https://w3id.org/example#" + } + +.. list-table:: POST endpoints + :header-rows: 1 + :widths: 30 40 30 + + * - Method + - Parameter + - Returns + * - ``/assess/test/`` + - ``testid`` and ``resource_identifier`` + - Test result in JSON-LD + * - ``/assess/benchmark/`` + - ``bmid`` and ``resource_identifier`` + - Test result in JSON-LD + * - ``/assess/algorithm/`` + - ``algoid`` and ``resource_identifier`` + - Test result in JSON-LD From 8063fc9ff8db42d22996877bac6fabd7b23d5339 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 16:43:41 +0100 Subject: [PATCH 059/101] docs : fixing table size --- docs/commons/FAIR/Assessment-Recommended-API.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index 2a3370a..8db1263 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -62,7 +62,7 @@ All post requests must submit a body with the resource to assess as follows: .. list-table:: POST endpoints :header-rows: 1 - :widths: 30 40 30 + :widths: 20 20 60 * - Method - Parameter From 33f64f016e9da03e9f1f3d11ad355b0f5495e383 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 09:57:51 +0100 Subject: [PATCH 060/101] docs: update to fix the format of the files, update format file, fix the format of files, fix format issue, delete the empty files --- CONTRIBUTING.md | 4 +- CONTRIBUTORS.yml | 1 - .../FAIR/Assessment-Recommended-API.rst | 40 +++++++++---------- docs/commons/FAIR/Core-Assessment-Profile.rst | 2 - .../FAIR/FAIR-Test-Results-Vocabulary-FTR.rst | 39 +++++------------- docs/commons/FAIR/FAIR-commons.rst | 15 ++++--- .../FAIR/Guidance-Element-Specification.rst | 12 +++--- .../LifeWatch-FAIR-Assessment-Profile.rst | 2 - ...Thematic-DO-Specific-Guidance-Elements.rst | 2 - .../FAIR/index_catalogs_registries.rst | 13 ++---- docs/commons/FAIR/index_standards.rst | 18 ++++----- ...Austrian-FWF\342\200\223maDMP-mapping.rst" | 2 +- docs/tools/DMP.rst | 4 -- docs/tools/FAIR.rst | 8 +++- ...alogue-of-Benchmark-Scoring-Algorithms.rst | 10 ++--- .../FAIR_tools}/Catalogue-of-Benchmarks.rst | 0 .../FAIR_tools}/Catalogue-of-Metrics.rst | 0 .../FAIR_tools}/Catalogue-of-Tests.rst | 2 +- .../FAIR-Assessment-Authoring-Tool.rst | 2 +- .../FAIR => tools/FAIR_tools}/FAIRsharing.rst | 2 +- docs/tools/SKG.rst | 1 - 21 files changed, 70 insertions(+), 109 deletions(-) delete mode 100644 docs/commons/FAIR/Core-Assessment-Profile.rst delete mode 100644 docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst delete mode 100644 docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst rename docs/{commons/FAIR => tools/FAIR_tools}/Catalogue-of-Benchmark-Scoring-Algorithms.rst (89%) rename docs/{commons/FAIR => tools/FAIR_tools}/Catalogue-of-Benchmarks.rst (100%) rename docs/{commons/FAIR => tools/FAIR_tools}/Catalogue-of-Metrics.rst (100%) rename docs/{commons/FAIR => tools/FAIR_tools}/Catalogue-of-Tests.rst (97%) rename docs/{commons/FAIR => tools/FAIR_tools}/FAIRsharing.rst (97%) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2683f65..b0ebe54 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,9 +39,9 @@ The code style is captured using [EditorConfig](https://editorconfig.org/), see ### Building the Documentation First, install the required dependencies (preferably in a virtual environment): -to activate the env in windows use the cmd and venv\Scripts\activate.bat +To activate the env in windows use the cmd and venv\Scripts\activate.bat ```bash -python -m venv venv +python -m venv venv source venv/bin/activate pip install -r requirements.txt ``` diff --git a/CONTRIBUTORS.yml b/CONTRIBUTORS.yml index f175f36..4e78415 100644 --- a/CONTRIBUTORS.yml +++ b/CONTRIBUTORS.yml @@ -40,7 +40,6 @@ Allyson Lister: orcid: 0000-0002-7702-4495 affiliation: University of Oxford - Katja Moilanen: first_name: Katja last_name: Moilanen diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index 9d2828b..670c9ba 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -1,18 +1,18 @@ Assessment Recommended API ---------------------------- -The FAIR-IF follows, as closely as possible, the REST standard; -however, unlike many REST architectures, not all identifiers in -the IF are “local”, and thus it is often necessary to pass the -full GUID of an identifier from one component to another, or from -client to server. For example, the GUID of a Benchmark is the -DOI of that Benchmark as recorded in the FAIRsharing registry, -and as such, it cannot become part of the URL of the REST interface. - -Nevertheless, there are two “types” of calls in the FAIR-IF. -Calls that are intended to retrieve information and calls that are -intended to trigger an activity (such as a test or assessment). -The latter kinds of calls are prefixed with /assess/. +The FAIR-IF follows, as closely as possible, the REST standard; +however, unlike many REST architectures, not all identifiers in +the IF are “local”, and thus it is often necessary to pass the +full GUID of an identifier from one component to another, or from +client to server. For example, the GUID of a Benchmark is the +DOI of that Benchmark as recorded in the FAIRsharing registry, +and as such, it cannot become part of the URL of the REST interface. + +Nevertheless, there are two “types” of calls in the FAIR-IF. +Calls that are intended to retrieve information and calls that are +intended to trigger an activity (such as a test or assessment). +The latter kinds of calls are prefixed with /assess/. Please refer to the paragraphs below for API calls or implementation. An OpenAPI yaml specification for FTR is available in the following [link](https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/api/open_api_description.yaml) including examples and @@ -26,21 +26,19 @@ following the FAIR-IF Application Profile. The method MUST accept a GET string with key/value as in the table below. The same method MAY accept a JSON Body as in Table 1, via HTTP POST. -| Method | Parameter | Returns | -|-------------|--------------|--------------------------| -| `/tests/` | `testid` | A list with all the test identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/benchmarks/`| `bmid` | A list with all the benchmark identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/metrics/` | `mid` | A list with all the metrics identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/algorithms/`| `aid` | A list with all the algorithms identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +| Method | Parameter | Returns | +|------------- |------------ |-------------------------- | +| `/tests/` | `testid` | A list with all the test identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +| `/benchmarks/`| `bmid` | A list with all the benchmark identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +| `/metrics/` | `mid` | A list with all the metrics identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +| `/algorithms/`| `aid` | A list with all the algorithms identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | POST calls ---------------------------- All post requests must submit a body with the resource to assess as follows: ``` -{ - "resource_identifier": "https://w3id.org/example#" -} +{"resource_identifier": "https://w3id.org/example#"} ``` | Method | Parameter | Returns | diff --git a/docs/commons/FAIR/Core-Assessment-Profile.rst b/docs/commons/FAIR/Core-Assessment-Profile.rst deleted file mode 100644 index 017db1e..0000000 --- a/docs/commons/FAIR/Core-Assessment-Profile.rst +++ /dev/null @@ -1,2 +0,0 @@ -Core Assessment Profile ----------------------------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst index 244b52f..14c3a0e 100644 --- a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst +++ b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst @@ -16,47 +16,30 @@ acting as a reference model that extends W3C standards such as `PROV `_, and others to describe the different assessment components, such as: -- **Test**: Service, formed by an API and associated piece of code - that implements a Metric, and is executed (by a FAIR assessment tool), - retrieving a particular and standardised result. +- **Test**: Service, formed by an API and associated piece of code that implements a Metric, and is executed (by a FAIR assessment tool), retrieving a particular and standardised result. -- **TestResult**: Output of running a test over a resource. A test - result should also contain provenance metadata about the process - followed to create it. ``TestResult`` is represented as an extension - of ``prov:Entity``. A test result points to the corresponding test - through the ``ftr:outputFromTest`` property. +- **TestResult**: Output of running a test over a resource. A test result should also contain provenance metadata about the process followed to create it. ``TestResult`` is represented as an extension of ``prov:Entity``. A test result points to the corresponding test through the ``ftr:outputFromTest`` property. -- **TestResultSet**: A set of FAIR test results, together with - their respective metadata. Common metadata may describe the set. For - example, if all results were run by a request to the same API. +- **TestResultSet**: A set of FAIR test results, together with their respective metadata. Common metadata may describe the set. For example, if all results were run by a request to the same API. - **TestExecutionActivity**: The action carried out by an agent - calling an API in which a test (or set of tests) was run. The result - of this activity is either a ``TestResult`` or a ``TestResultSet``. +calling an API in which a test (or set of tests) was run. The result +of this activity is either a ``TestResult`` or a ``TestResultSet``. -- **Metric**: Narrative domain-agnostic description that a Test - must wholly implement. +- **Metric**: Narrative domain-agnostic description that a Test must wholly implement. -- **Benchmark**: Community-specific groupings of a set of Metrics - that provide a narrative describing how that community defines FAIR - for assessment purposes. +- **Benchmark**: Community-specific groupings of a set of Metrics that provide a narrative describing how that community defines FAIR for assessment purposes. -- **ScoringAlgorithm**: Piece of code that contextualises the sum - of all test results for a given benchmark into a final quantitative - assessment result. +- **ScoringAlgorithm**: Piece of code that contextualises the sum of all test results for a given benchmark into a final quantitative assessment result. -- **ScoringAlgorithmActivity**: The action carried out by an agent - calling an API in which a ``ScoringAlgorithm`` was executed. The - result of this activity is a ``BenchmarkScore``. +- **ScoringAlgorithmActivity**: The action carried out by an agent calling an API in which a ``ScoringAlgorithm`` was executed. The result of this activity is a ``BenchmarkScore``. -- **BenchmarkScore**: Output of a Scoring Algorithm over a - resource, generating the final score and guidance for the whole - assessment. +- **BenchmarkScore**: Output of a Scoring Algorithm over a resource, generating the final score and guidance for the whole assessment. ---- .. image:: https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/img/FAIRTestResult_diagram_v12.drawio.png?raw=true - :align: center + :align: center Specification diff --git a/docs/commons/FAIR/FAIR-commons.rst b/docs/commons/FAIR/FAIR-commons.rst index 9944b6c..781d716 100644 --- a/docs/commons/FAIR/FAIR-commons.rst +++ b/docs/commons/FAIR/FAIR-commons.rst @@ -5,11 +5,10 @@ The following resources in this section are part of the FAIR Commons component. .. toctree:: - :caption: Commons - :maxdepth: 1 - :titlesonly: - - Standards - Catalogs and Registries - - + :caption: Commons + :maxdepth: 1 + :titlesonly: + + Guidance Element Specification + FAIR Test Results Vocabulary (FTR) + Assessment Recommended API diff --git a/docs/commons/FAIR/Guidance-Element-Specification.rst b/docs/commons/FAIR/Guidance-Element-Specification.rst index 22230ee..99cf024 100644 --- a/docs/commons/FAIR/Guidance-Element-Specification.rst +++ b/docs/commons/FAIR/Guidance-Element-Specification.rst @@ -1,14 +1,14 @@ FAIR Guidance Vocabulary Specification (FGV) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -The **FAIR Guidance Vocabulary (FGV)** provides a machine-readable ontology that implements the FAIR Guidance Model described in the OSTrails Deliverable D1.3. It formalizes the structure of FAIR-enabling guidance by extending and aligning with standards such as `DCAT `__, `Schema.org `__, and the `Semanticscience Integrated Ontology (SIO) `__. +The **FAIR Guidance Vocabulary (FGV)** provides a machine-readable ontology that implements the FAIR Guidance Model described in the OSTrails Deliverable D1.3. It formalizes the structure of FAIR-enabling guidance by extending and aligning with standards such as `DCAT `__, `Schema.org `__, and the `Semanticscience Integrated Ontology (SIO) `__. **FGV** describes Guidance Entities—including their *typology* (e.g., FAQ, Best Practice), their links to *external resources* (such as webpages, annotations, or API responses), and their conceptual *focus areas* (e.g., How, Why, What). This enables consistent, interoperable, and machine-actionable representation of guidance across systems and services in a FAIR manner. The code release provides the ontology, including vocabularies, definitions, and specifications in machine-readable form. - - **Persistent identifier**: `https://w3id.org/fgv# `__ - - **Code Repository**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/ - - **Latest Release**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/releases/latest - - **Documentation**: https://ostrails.github.io/FAIR-Guidance-Vocabulary/ - - **License**: Creative Commons Attribution 4.0 International `CC-BY 4.0 `__ + - **Persistent identifier**: `https://w3id.org/fgv# `__ + - **Code Repository**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/ + - **Latest Release**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/releases/latest + - **Documentation**: https://ostrails.github.io/FAIR-Guidance-Vocabulary/ + - **License**: Creative Commons Attribution 4.0 International `CC-BY 4.0 `__ diff --git a/docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst b/docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst deleted file mode 100644 index dd4c4b2..0000000 --- a/docs/commons/FAIR/LifeWatch-FAIR-Assessment-Profile.rst +++ /dev/null @@ -1,2 +0,0 @@ -LifeWatch FAIR Assessment Profile and Guidance --------------------------------------------------- \ No newline at end of file diff --git a/docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst b/docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst deleted file mode 100644 index b350f0a..0000000 --- a/docs/commons/FAIR/Thematic-DO-Specific-Guidance-Elements.rst +++ /dev/null @@ -1,2 +0,0 @@ -Thematic/DO-Specific Guidance Elements ------------------------------------------------ \ No newline at end of file diff --git a/docs/commons/FAIR/index_catalogs_registries.rst b/docs/commons/FAIR/index_catalogs_registries.rst index cc96c47..66f2e44 100644 --- a/docs/commons/FAIR/index_catalogs_registries.rst +++ b/docs/commons/FAIR/index_catalogs_registries.rst @@ -4,13 +4,6 @@ FAIR Catalog and Registry The following resources in this section are part of the FAIR Commons component. .. toctree:: - :caption: Catalogs and Registries - :maxdepth: 2 - :titlesonly: - - Catalogue of Metrics - Catalogue of Benchmarks - Catalogue of Tests - Catalogue of Benchmark Acoring Algorithms - Assessment Component Application Profile - FAIRSharing + :caption: Catalogs and Registries + :maxdepth: 1 + :titlesonly: \ No newline at end of file diff --git a/docs/commons/FAIR/index_standards.rst b/docs/commons/FAIR/index_standards.rst index 389365c..e71f525 100644 --- a/docs/commons/FAIR/index_standards.rst +++ b/docs/commons/FAIR/index_standards.rst @@ -4,14 +4,10 @@ The following resources in this section are part of the FAIR Commons component. .. toctree:: - :caption: Standards - :maxdepth: 1 - :titlesonly: - - - Core Assessment Profile - Guidance Element Specification - FAIR Test Results Vocabulary (FTR) - Assessment Recommended API - Thematic/DO-Specific Guidance Elements - \ No newline at end of file + :caption: Standards + :maxdepth: 1 + :titlesonly: + + Guidance Element Specification + FAIR Test Results Vocabulary (FTR) + Assessment Recommended API \ No newline at end of file diff --git "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" index f32a724..5fd4b78 100644 --- "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" +++ "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" @@ -284,4 +284,4 @@ Section: V Legal and Ethical Aspects * - - Refers to relevant ethical guidelines and/or codes of conduct or alternatively provides a clear statement that explains why ethical issues have not been considered. - - -dmp/related_policy + - dmp/related_policy diff --git a/docs/tools/DMP.rst b/docs/tools/DMP.rst index 084905f..767eda1 100644 --- a/docs/tools/DMP.rst +++ b/docs/tools/DMP.rst @@ -1,8 +1,4 @@ OSTrails DMP Tools =================== - - - - The following resources in this section are part of the DMP Tools. diff --git a/docs/tools/FAIR.rst b/docs/tools/FAIR.rst index 0831f83..d90198c 100644 --- a/docs/tools/FAIR.rst +++ b/docs/tools/FAIR.rst @@ -9,8 +9,12 @@ The following resources in this section are part of the FAIR Tools component. :maxdepth: 1 :titlesonly: - FAIR Champion FOOPS + FAIROS FAIRsharing - FAIR Assessment Authoring Tool \ No newline at end of file + FAIR Assessment Authoring Tool + Catalogue of Benchmark Scoring Algorithms + Catalogue of Metrics + Catalogue of Benchmarks + Catalogue of Tests \ No newline at end of file diff --git a/docs/commons/FAIR/Catalogue-of-Benchmark-Scoring-Algorithms.rst b/docs/tools/FAIR_tools/Catalogue-of-Benchmark-Scoring-Algorithms.rst similarity index 89% rename from docs/commons/FAIR/Catalogue-of-Benchmark-Scoring-Algorithms.rst rename to docs/tools/FAIR_tools/Catalogue-of-Benchmark-Scoring-Algorithms.rst index 64262f2..2ef3d7a 100644 --- a/docs/commons/FAIR/Catalogue-of-Benchmark-Scoring-Algorithms.rst +++ b/docs/tools/FAIR_tools/Catalogue-of-Benchmark-Scoring-Algorithms.rst @@ -1,8 +1,8 @@ Catalogue-of-Benchmark-Scoring-Algorithms -================== +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ FAIR Data Point ---------------- +---------------- OSTrails has generated a federated metadata registry for publishing and indexing FAIR Scoring Algorithm descriptions. Every Algorithm intended to be discoverable @@ -20,13 +20,13 @@ and `FOOPS `_. Registering a Scoring Algorithm in the Catalogue ------------------------------------ +-------------------------------------------------- To register a Scoring Algorithm, you may use one of the following standardised procedures: Submitting an Existing Metadata Record via FAIR Champion -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Visit the FAIR Champion registration page: https://tests.ostrails.eu/tests/new @@ -43,7 +43,7 @@ may be displayed as **invalid**. tool or repository. The record **must** comply with the FTR model. Registering Metadata via the FAIR Assessment Authoring Tool -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The FAIR Assessment Authoring Tool, developed by the OSTrails team, supports the creation of FAIR assessment components such as Tests, diff --git a/docs/commons/FAIR/Catalogue-of-Benchmarks.rst b/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst similarity index 100% rename from docs/commons/FAIR/Catalogue-of-Benchmarks.rst rename to docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst diff --git a/docs/commons/FAIR/Catalogue-of-Metrics.rst b/docs/tools/FAIR_tools/Catalogue-of-Metrics.rst similarity index 100% rename from docs/commons/FAIR/Catalogue-of-Metrics.rst rename to docs/tools/FAIR_tools/Catalogue-of-Metrics.rst diff --git a/docs/commons/FAIR/Catalogue-of-Tests.rst b/docs/tools/FAIR_tools/Catalogue-of-Tests.rst similarity index 97% rename from docs/commons/FAIR/Catalogue-of-Tests.rst rename to docs/tools/FAIR_tools/Catalogue-of-Tests.rst index 54537c9..a00bddf 100644 --- a/docs/commons/FAIR/Catalogue-of-Tests.rst +++ b/docs/tools/FAIR_tools/Catalogue-of-Tests.rst @@ -26,7 +26,7 @@ To register a test, you may use one of the following standardised procedures: Submitting an Existing Metadata Record via FAIR Champion -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Visit the FAIR Champion registration page: https://tests.ostrails.eu/tests/new diff --git a/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst b/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst index 9c8c341..e2e4059 100644 --- a/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst +++ b/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst @@ -1,5 +1,5 @@ FAIR Assessment Authoring Tool -============================== +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A complete framework for **generating, registering, and authoring your FAIR assessment components** across different metadata repositories. diff --git a/docs/commons/FAIR/FAIRsharing.rst b/docs/tools/FAIR_tools/FAIRsharing.rst similarity index 97% rename from docs/commons/FAIR/FAIRsharing.rst rename to docs/tools/FAIR_tools/FAIRsharing.rst index b8aeae1..cb2c057 100644 --- a/docs/commons/FAIR/FAIRsharing.rst +++ b/docs/tools/FAIR_tools/FAIRsharing.rst @@ -1,5 +1,5 @@ FAIRsharing Registry -^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^ FAIRsharing is a registry of standards, databases, policies and FAIR assistance conceptual components. Registration of FAIR principles/dimensions, metrics, and benchmarks within FAIRsharing allows human- and machine-readable integration of the FAIR assessment components within the wider research landscape, and is key to discovery of these resources as well as for the implementation of the tests themselves via the rich metadata contained within the registry. Rather than being a specific tool release, it is the extension to FAIRsharing with the new FAIRassist registry which is relevant to the other Commons resources described in this section. diff --git a/docs/tools/SKG.rst b/docs/tools/SKG.rst index a394447..9251932 100644 --- a/docs/tools/SKG.rst +++ b/docs/tools/SKG.rst @@ -8,7 +8,6 @@ The following resources in this section are part of the FAIR Tools component. :maxdepth: 1 :titlesonly: - OpenAIRE Graph SKG-IF API RO-HUB SKG-IF API LifeWatch Eric KG \ No newline at end of file From 90120fdf6f63538e5d76e1f7e41d693b5603cfc7 Mon Sep 17 00:00:00 2001 From: Katja Moilanen Date: Mon, 15 Dec 2025 15:27:06 +0200 Subject: [PATCH 061/101] docs: Update mapping between SKG-IF and DDI2.5 (Mapping-SKGIF-DDI.rst) --- .../skg/mappings/Mapping-SKGIF-DDI.rst | 2448 ++++++++--------- 1 file changed, 1220 insertions(+), 1228 deletions(-) diff --git a/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst b/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst index f5d55d5..d4ed6ae 100644 --- a/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst +++ b/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst @@ -1,11 +1,10 @@ -Mapping between SKG Interoperability Framework and DDI2.5 +Mapping between SKG Interoperability Framework and DDI 2.5 ---------------------------------------------------------- - .. page-authors:: Katja Moilanen -**The SKG-IF Interoperability Framework** enables to exchange data about six core entities and their relationships These entities are: +**The SKG Interoperability Framework** enables to exchange data about six core entities and their relationships These entities are: 1. Research Product – may be literature, data, software, or other 2. Agent – may represent a Person, an Organization, or a generic Agent linked to other entities 3. Grant – describes the funding of a project @@ -17,1287 +16,1284 @@ For more details, visit: https://skg-if.github.io/interoperability-framework/. **DDI 2.5** can be used to provide structured, descriptive documentation of a dataset’s content, meaning, provenance, and access. It includes metadata fields suitable for both quantitative and qualitative research data in the social, behavioral, economic, and health sciences. For more information, visit: https://ddialliance.org/ddi-codebook_v2.5 . + **The mapping between SKG Interoperability Framework and DDI2.5** is intended for individuals who are familiar with DDI 2.5 but new to SKG-IF. To support this, it provides four columns related to SKG-IF: Property name (JSONPath), Type, Optional/recommended/mandatory and Description. For DDI 2.5, there is a single column: DDI 2.5 XPath (excluding Dublin Core fields). Additionally, the Notes column contains miscellaneous information about both SKG-IF and DDI 2.5. Dataset as research product ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | -| | | |identifiers for the entity | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |/codeBook/stdyDscr/citation/titlStmt/IDNo/@agency |Only in the case that this attribute is used for the name of the PID | -| | | |system | |e.g. DOI | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |/codeBook/stdyDscr/citation/titlStmt/IDNo |Only in the case that this element is used for the PID e.g. | -| | | | | |10.17026/dans-xpf-5u9e | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to product. |information can be generated because it is always “product” | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles |Object |optional |The titles of the entity |structure, no need to map | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles.ISO 639-1 language |name of the key |? |The name of the key, which must be ISO 639-1 |/codeBook/stdyDscr/citation/titlStmt/titl/@xml:lang |If XML file is monolingual then /codeBook/@xml:lang is used | -|code | | |language code and be the language of the content |/codeBook/stdyDscr/citation/titlStmt/parTitl/@xml:lang | | -| | | |of the value | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles.ISO 639-1 language |Array of Strings |? |The list of the titles in the given (ISO 639-1) |/codeBook/stdyDscr/citation/titlStmt/titl |It also possible to map "titles" with the bibliographical citation if | -|code | | |language, specified by the key name |/codeBook/stdyDscr/citation/titlStmt/parTitl |needed: | -| | | | | |/codeBook/stdyDscr/citation/rspStmt/biblCit | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | +| | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts |Object |optional |The abstracts of the entity |structure, no need to map | | +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | /codeBook/stdyDscr/citation/titlStmt/IDNo/@agency | Only in the case that this attribute is used for the name of the PID | +| | | | system | | e.g. DOI | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts.ISO 639-1 |name of the key |? |The name of the key, which must be ISO 639-1 |/codeBook/stdyDscr/stdyInfo/abstract/@xml:lang |If XML file is monolingual then /codeBook/@xml:lang is used | -|language code | | |language code and be the language of the content | | | -| | | |of the value | | | +| $.identifiers[*].value | String | mandatory | The external identifier | /codeBook/stdyDscr/citation/titlStmt/IDNo | Only in the case that this element is used for the PID e.g. | +| | | | | | 10.17026/dans-xpf-5u9e | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts.ISO 639-1 |Array of Strings |? |The list of the abstracts in the given (ISO |/codeBook/stdyDscr/stdyInfo/abstract | | -|language code | | |639-1) language, specified by the key name | | | +| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to product. | information can be generated because it is always “product” | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.product_type |String |optional |The type of the product , one of the values |information can be generated because it is always “research data” | | -| | | |“research data”, “literature”, "research | | | -| | | |software", "other" | | | +| $.titles | Object | optional | The titles of the entity | structure, no need to map | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics |Array of Objects |optional |The array of the objects referring to entity |structure, no need to map | | -| | | |Topic | | | +| $.titles.ISO 639-1 language | name of the key | ? | The name of the key, which must be ISO 639-1 | /codeBook/stdyDscr/citation/titlStmt/titl/@xml:lang | If XML file is monolingual then /codeBook/@xml:lang is used | +| code | | | language code and be the language of the content | /codeBook/stdyDscr/citation/titlStmt/parTitl/@xml:lang | | +| | | | of the value | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.term |String |mandatory |The reference, (local) identifier, of the topic |/codeBook/stdyDscr/stdyInfo/subject/keyword |Even if keyword and topcClas are the best mappings, it is possible to | -| | | |relevant for this entity |/codeBook/stdyDscr/stdyInfo/subject/topcClas |map any "vocabulary field" to this e.g. | -| | | | | |/codeBook/stdyDscr/sumDscr/anlyUnit | -| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth | -| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc | -| | | | | |/codeBook/stdyDscr/method/dataColl/collMode | -| | | | | |/codeBook/stdyDscr/sumDscr/dataKind | -| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru | -| | | | | | | -| | | | | | | -| | | | | |DDI-C does not support references to topics (or more generally to | -| | | | | |vocabulary terms). Therefore there is no direct mapping for this | -| | | | | |field. This mapping is based on the suitable information content. | -| | | | | |Note that in SKG-IF the terms are documented using Topics entity and | -| | | | | |the related Topics entities are only referenced here using their | -| | | | | |identifier. | +| $.titles.ISO 639-1 language | Array of Strings | ? | The list of the titles in the given (ISO 639-1) | /codeBook/stdyDscr/citation/titlStmt/titl | It also possible to map "titles" with the bibliographical citation if | +| code[*] | | | language, specified by the key name | /codeBook/stdyDscr/citation/titlStmt/parTitl | needed: | +| | | | | | /codeBook/stdyDscr/citation/rspStmt/biblCit | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance |Array of Objects |recommended |The provanance information tracking the |structure, no need to map | | -| | | |software(s) used for adding topics and the trust | | | -| | | |in given relation . | | | +| $.abstracts | Object | optional | The abstracts of the entity | structure, no need to map | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance.associat |String |mandatory |The reference, (local) identifier, of the Agent |not supported | | -|ed_with | | |responsible for adding this term to this | | | -| | | |research product. | | | +| $.abstracts.ISO 639-1 | name of the key | ? | The name of the key, which must be ISO 639-1 | /codeBook/stdyDscr/stdyInfo/abstract/@xml:lang | If XML file is monolingual then /codeBook/@xml:lang is used | +| language code | | | language code and be the language of the content | | | +| | | | of the value | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance.trust |Number (float) |mandatory |The trust given to the relation |not supported | | +| $.abstracts.ISO 639-1 | Array of Strings | ? | The list of the abstracts in the given (ISO | /codeBook/stdyDscr/stdyInfo/abstract | | +| language code[*] | | | 639-1) language, specified by the key name | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions |Array of Objects |optional |The array of objects describing the contributors |structure, no need to map | | -| | | |and their contribution | | | +| $.product_type | String | optional | The type of the product , one of the values | information can be generated because it is always “research data” | | +| | | | “research data”, “literature”, "research | | | +| | | | software", "other" | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.by |String |mandatory |The reference (Identifier) of the agent |/codeBook/docDscr/citation/prodStmt/producer |DDI-C does not support references. Therefore there is no direct | -| | | |contributing to the research product |/codeBook/stdyDscr/citation/rspStmt/AuthEnty |mapping for this field. This mapping is based on the suitable | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId |information content. Note that in SKG-IF the contributors are | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer |documented using Agent entity and the related Agent entities are only | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector |referenced here using their identifier. | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | -| | | | | | | +| $.topics[*] | Array of Objects | optional | The array of the objects referring to entity | structure, no need to map | | +| | | | Topic | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.declared_aff |Array of Strings |recommended |The reference (identifier) of the agent which is |/codeBook/docDscr/citation/prodStmt/producer/@affiliation |DDI-C does not support references. Therefore there is no direct | -|iliations | | |affiliation of the contributor. |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation |mapping for this field. This mapping is based on the suitable | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation |information content. Note that in SKG-IF the contributor affiliations | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation |are documented using Agent entity and the related Agent entities are | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation |only referenced here using their identifier. | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| $.topics[*].term | String | mandatory | The reference, (local) identifier, of the topic | /codeBook/stdyDscr/stdyInfo/subject/keyword | Even if keyword and topcClas are the best mappings, it is possible to | +| | | | relevant for this entity | /codeBook/stdyDscr/stdyInfo/subject/topcClas | map any "vocabulary field" to this e.g. | +| | | | | | /codeBook/stdyDscr/sumDscr/anlyUnit | +| | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth | +| | | | | | /codeBook/stdyDscr/method/dataColl/sampProc | +| | | | | | /codeBook/stdyDscr/method/dataColl/collMode | +| | | | | | /codeBook/stdyDscr/sumDscr/dataKind | +| | | | | | /codeBook/stdyDscr/method/dataColl/resInstru | | | | | | | | | | | | | | | -| | | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.rank |Number (integer) |recommended |The rank of the agent (order of appearance e.g. |not supported | | -| | | |in the list of authors) | | | +| | | | | | DDI-C does not support references to topics (or more generally to | +| | | | | | vocabulary terms). Therefore there is no direct mapping for this | +| | | | | | field. This mapping is based on the suitable information content. | +| | | | | | Note that in SKG-IF the terms are documented using Topics entity and | +| | | | | | the related Topics entities are only referenced here using their | +| | | | | | identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.role |String |recommended |The role of the agent. The possible values are |information can be generated because it is always “author” | | -| | | |author, editor, publisher. | | | +| $.topics[*].provenance | Array of Objects | recommended | The provanance information tracking the | structure, no need to map | | +| | | | software(s) used for adding topics and the trust | | | +| | | | in given relation . | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.contribution |Array of Strings |recommended |The contributions of the agent using CRediT |DDI-element mappings with CReciT taxonomy: | | -|_types | | |taxonomy |/codeBook/docDscr/citation/prodStmt/producer: "Data curation" | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty: "Conceptualization", "Investigation", "Methodology", | | -| | | | |"Supervision" | | -| | | | |codeBook/stdyDscr/citation/rspStmt/othId: the mapping must be done case by case depending of the | | -| | | | |role in this work | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer: "Project administration" | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector: "Investigation" | | -| | | | |codeBook/stdyDscr/studyDevelopment/developmentActivity/participant: mapping depends of the | | -| | | | |development activity type of the participant | | +| $.topics[*].provenance.assoc | String | mandatory | The reference, (local) identifier, of the Agent | not supported | | +| iated_with | | | responsible for adding this term to this | | | +| | | | research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations |Array of Objects |optional |Object representing different and multiple |structure, no need to map |In the case of datasets, it is possible to only describe one | -| | | |manifestations of the same research product | |manifestation for the most recent version or the document all | -| | | | | |different versions of the same datasets as manifestations. | +| $.topics[*].provenance.trust | Number (float) | mandatory | The trust given to the relation | not supported | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type |Object |recommended |The object representing the type of the |structure, no need to map | | -| | | |manifestation. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.class |String |recommended |The URL of the class identifying the entity |not applicable | | -| | | |(e.g., in an ontology) describing that type. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |Object |recommended |The object used for documenting the labels |not applicable | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |name of the key |? |The name of the key, which must be ISO 639-1 |No need to fill in, if there is just one manifestation for a research product. If different versions | | -|.ISO 639-1 language code | | |language code and be the language of the content |of the dataset are described as manifestations, can be set to "Version" and use "en" as the name of | | -| | | |of the value |the key. | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |Array of Strings |? |The label describing the manifestation type. |No need to fill in, if there is just one manifestation for a research product. If different versions | | -|.ISO 639-1 language code | | | |of the dataset are described as manifestations, can be set to "Version". | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.define |String |recommended |The URL of the schema of the manifestation type, |not applicable | | -|d_in | | |e.g., a link to the vocabulary of allowed | | | -| | | |product types. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates |Object |recommended |The object is a dictionary, the keys represent |structure, no need to map |Choose the dates suitable for your own use case. | -| | | |the type of date and the value is expressed as | | | -| | | |either a string or a list of string, where each | | | -| | | |string is compliant with the ISO 8601 datetime | | | -| | | |string. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.accep |String or Array |? |The date of acceptance |not applicable | | -|tance |of Strings | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.acces |String or Array |? |The date on which a particular digital item has |not applicable | | -|s |of Strings | |been accessed by somebody. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.colle |String or Array |? |The date on which some item has been collected, |/codeBook/stdyDscr/stdyInfo/sumDscr/collDate/@date | | -|cted |of Strings | |for example the data gathered by means of | | | -| | | |questionnaires. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.copyr |String or Array |? |The date on which an entity has been |not applicable | | -|ight |of Strings | |copyrighted. | | | +| $.contributions[*] | Array of Objects | optional | The array of objects describing the contributors | structure, no need to map | | +| | | | and their contribution | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.corre |String or Array |? |The date on which something, for example a |not applicable | | -|ction |of Strings | |document, is corrected. | | | +| $.contributions[*].by | String | mandatory | The reference (Identifier) of the agent | /codeBook/docDscr/citation/prodStmt/producer | DDI-C does not support references. Therefore there is no direct | +| | | | contributing to the research product | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | mapping for this field. This mapping is based on the suitable | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId | information content. Note that in SKG-IF the contributors are | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer | documented using Agent entity and the related Agent entities are only | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector | referenced here using their identifier. | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].declared_ | Array of Strings | recommended | The reference (identifier) of the agent which is | /codeBook/docDscr/citation/prodStmt/producer/@affiliation | DDI-C does not support references. Therefore there is no direct | +| affiliations | | | affiliation of the contributor. | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | mapping for this field. This mapping is based on the suitable | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | information content. Note that in SKG-IF the contributor affiliations | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | are documented using Agent entity and the related Agent entities are | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | only referenced here using their identifier. | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].rank | Number (integer) | recommended | The rank of the agent (order of appearance e.g. | not supported | | +| | | | in the list of authors) | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].role | String | recommended | The role of the agent. The possible values are | information can be generated because it is always “author” | | +| | | | author, editor, publisher. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].contribut | Array of Strings | recommended | The contributions of the agent using CRediT | DDI-element mappings with CReciT taxonomy: | | +| ion_types[*] | | | taxonomy | /codeBook/docDscr/citation/prodStmt/producer: "Data curation" | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty: "Conceptualization", "Investigation", "Methodology", | | +| | | | | "Supervision" | | +| | | | | codeBook/stdyDscr/citation/rspStmt/othId: the mapping must be done case by case depending of the | | +| | | | | role in this work | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer: "Project administration" | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector: "Investigation" | | +| | | | | codeBook/stdyDscr/studyDevelopment/developmentActivity/participant: mapping depends of the | | +| | | | | development activity type of the participant | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*] | Array of Objects | optional | Object representing different and multiple | structure, no need to map | In the case of datasets, it is possible to only describe one | +| | | | manifestations of the same research product | | manifestation for the most recent version or the document all | +| | | | | | different versions of the same datasets as manifestations. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type | Object | recommended | The object representing the type of the | structure, no need to map | | +| | | | manifestation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.cla | String | recommended | The URL of the class identifying the entity | not applicable | | +| ss | | | (e.g., in an ontology) describing that type. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | Object | recommended | The object used for documenting the labels | not applicable | | +| els | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | name of the key | ? | The name of the key, which must be ISO 639-1 | No need to fill in, if there is just one manifestation for a research product. If different versions | | +| els.ISO 639-1 language code | | | language code and be the language of the content | of the dataset are described as manifestations, can be set to "Version" and use "en" as the name of | | +| | | | of the value | the key. | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | Array of Strings | ? | The label describing the manifestation type. | No need to fill in, if there is just one manifestation for a research product. If different versions | | +| els.ISO 639-1 language | | | | of the dataset are described as manifestations, can be set to "Version". | | +| code[*] | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.def | String | recommended | The URL of the schema of the manifestation type, | not applicable | | +| ined_in | | | e.g., a link to the vocabulary of allowed | | | +| | | | product types. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates | Object | recommended | The object is a dictionary, the keys represent | structure, no need to map | Choose the dates suitable for your own use case. | +| | | | the type of date and the value is expressed as | | | +| | | | either a string or a list of string, where each | | | +| | | | string is compliant with the ISO 8601 datetime | | | +| | | | string. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.ac | String or Array | ? | The date of acceptance | not applicable | | +| ceptance[*] | of Strings | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.ac | String or Array | ? | The date on which a particular digital item has | not applicable | | +| cess[*] | of Strings | | been accessed by somebody. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which some item has been collected, | /codeBook/stdyDscr/stdyInfo/sumDscr/collDate/@date | | +| llected[*] | of Strings | | for example the data gathered by means of | | | +| | | | questionnaires. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which an entity has been | not applicable | | +| pyright[*] | of Strings | | copyrighted. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which something, for example a | not applicable | | +| rrection[*] | of Strings | | document, is corrected. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.creat |String or Array |? |The date on which an entity has been created. |/codeBook/stdyDscr/citation/prodStmt/prodDate/@date | | -|ion |of Strings | | | | | +| $.manifestations[*].dates.cr | String or Array | ? | The date on which an entity has been created. | /codeBook/stdyDscr/citation/prodStmt/prodDate/@date | | +| eation[*] | of Strings | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.decis |String or Array |? |The date on which a particular endeavour, such |not applicable | | -|ion |of Strings | |as a grant application, has been or will be | | | -| | | |approved or rejected by somebody. | | | +| $.manifestations[*].dates.de | String or Array | ? | The date on which a particular endeavour, such | not applicable | | +| cision[*] | of Strings | | as a grant application, has been or will be | | | +| | | | approved or rejected by somebody. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.depos |String or Array |? |The date on which an entity has been deposited, |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/depDate/@date | | -|it |of Strings | |for example in a library, repository, | | | -| | | |supplementary information archive, database or | | | -| | | |similar place of document or information | | | -| | | |storage. | | | +| $.manifestations[*].dates.de | String or Array | ? | The date on which an entity has been deposited, | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/depDate/@date | | +| posit[*] | of Strings | | for example in a library, repository, | | | +| | | | supplementary information archive, database or | | | +| | | | similar place of document or information | | | +| | | | storage. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.distr |String or Array |? |The date on which something is distributed, for |not applicable | | -|ibution |of Strings | |example the date on which a preprint of a | | | -| | | |document is e-mailed to colleagues and other | | | -| | | |academics by the author(s), or the date on which | | | -| | | |a printed announcement of forthcoming theatre | | | -| | | |events is mailed to those those on the theatre’s | | | -| | | |mailing list. | | | +| $.manifestations[*].dates.di | String or Array | ? | The date on which something is distributed, for | not applicable | | +| stribution[*] | of Strings | | example the date on which a preprint of a | | | +| | | | document is e-mailed to colleagues and other | | | +| | | | academics by the author(s), or the date on which | | | +| | | | a printed announcement of forthcoming theatre | | | +| | | | events is mailed to those those on the theatre’s | | | +| | | | mailing list. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.embar |String or Array |? |The date before which an entity should not be |not supported | | -|go |of Strings | |published, or before which a press release | | | -| | | |should not be reported on. For open-access | | | -| | | |journal articles, the embargo date is the date | | | -| | | |before which availability of the open-access | | | -| | | |version of the article is restricted by the | | | -| | | |publisher, following subscription-access | | | -| | | |availability of the published work. | | | +| $.manifestations[*].dates.em | String or Array | ? | The date before which an entity should not be | not supported | | +| bargo[*] | of Strings | | published, or before which a press release | | | +| | | | should not be reported on. For open-access | | | +| | | | journal articles, the embargo date is the date | | | +| | | | before which availability of the open-access | | | +| | | | version of the article is restricted by the | | | +| | | | publisher, following subscription-access | | | +| | | | availability of the published work. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.modif |String or Array |? |The date on which an entity has been modified. |/codeBook/docDscr/citation/verStmt/version/@date | | -|ied |of Strings | | | | | +| $.manifestations[*].dates.mo | String or Array | ? | The date on which an entity has been modified. | /codeBook/docDscr/citation/verStmt/version/@date | | +| dified[*] | of Strings | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.publi |String or Array |? |The date of formal issuance of a resource (e.g. |/codeBook/stdyDscr/citation/distStmt/distDate/@date | | -|cation |of Strings | |a publication or a patent). | | | +| $.manifestations[*].dates.pu | String or Array | ? | The date of formal issuance of a resource (e.g. | /codeBook/stdyDscr/citation/distStmt/distDate/@date | | +| blication[*] | of Strings | | a publication or a patent). | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.recei |String or Array |? |The date on which some item is received, for |not applicable | | -|ved |of Strings | |example a document being received by a | | | -| | | |publisher. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which some item is received, for | not applicable | | +| ceived[*] | of Strings | | example a document being received by a | | | +| | | | publisher. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.reque |String or Array |? |The date on which an agent is requested to do |not applicable | | -|st |of Strings | |something, for example a reviewer is requested | | | -| | | |to write a review of a paper submitted to a | | | -| | | |journal for publication, or an author is | | | -| | | |requested to supply a revised version of the | | | -| | | |paper in response to the reviews received. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which an agent is requested to do | not applicable | | +| quest[*] | of Strings | | something, for example a reviewer is requested | | | +| | | | to write a review of a paper submitted to a | | | +| | | | journal for publication, or an author is | | | +| | | | requested to supply a revised version of the | | | +| | | | paper in response to the reviews received. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.retra |String or Array |? |The date on which something, for example a claim |not applicable | | -|ction |of Strings | |or a journal article, is retracted. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which something, for example a claim | not applicable | | +| traction[*] | of Strings | | or a journal article, is retracted. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.valid |String or Array |? |Date of validity of a resource. |not applicable | | -|ity |of Strings | | | | | +| $.manifestations[*].dates.va | String or Array | ? | Date of validity of a resource. | not applicable | | +| lidity[*] | of Strings | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |Array of Objects |recommended |External identifiers of the manifestationt |structure, no need to map |This is not mandatory information. In the case of documenting just | -| | | | | |the most recent version of the dataset, this information already is | -| | | | | |documented in $.identifiers. | +| $.manifestations[*].identifi | Array of Objects | recommended | External identifiers of the manifestationt | structure, no need to map | This is not mandatory information. In the case of documenting just | +| ers[*] | | | | | the most recent version of the dataset, this information already is | +| | | | | | documented in $.identifiers[*]. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |String |mandatory |The scheme for the external identifier. |/codeBook/stdyDscr/citation/titlStmt/IDNo/@agency |Only in the case that this attribute is used for the name of the PID | -|.scheme | | | | |e.g. DOI. | +| $.manifestations[*].identifi | String | mandatory | The scheme for the external identifier. | /codeBook/stdyDscr/citation/titlStmt/IDNo/@agency | Only in the case that this attribute is used for the name of the PID | +| ers[*].scheme | | | | | e.g. DOI. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |String |mandatory |The external identifier. |/codeBook/stdyDscr/citation/titlStmt/IDNo |Only in the case that this element is used for the PID e.g. | -|.value | | | | |10.17026/dans-xpf-5u9e | +| $.manifestations[*].identifi | String | mandatory | The external identifier. | /codeBook/stdyDscr/citation/titlStmt/IDNo | Only in the case that this element is used for the PID e.g. | +| ers[*].value | | | | | 10.17026/dans-xpf-5u9e | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |Object |recommended |Whether the manifestation has undergone a peer |structure, no need to map | | -| | | |review. | | | +| $.manifestations[*].peer_rev | Object | recommended | Whether the manifestation has undergone a peer | structure, no need to map | | +| iew | | | review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |String |mandatory |The status (reviewed or not yet) of the peer- |not applicable | | -|.status | | |review. | | | +| $.manifestations[*].peer_rev | String | mandatory | The status (reviewed or not yet) of the peer- | not applicable | | +| iew.status | | | review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |String |recommended |The type of peer review. Allowed values: single- |not applicable | | -|.description | | |blind peer review, double-blind peer review, | | | -| | | |open peer review. | | | +| $.manifestations[*].peer_rev | String | recommended | The type of peer review. Allowed values: single- | not applicable | | +| iew.description | | | blind peer review, double-blind peer review, | | | +| | | | open peer review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.access_righ |Object |recommended |The access rights of this manifestation |structure, no need to map | | -|ts | | | | | | +| $.manifestations[*].access_r | Object | recommended | The access rights of this manifestation | structure, no need to map | | +| ights | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.access_righ |String |mandatory |Describes if the manifestation is open access |/codeBook/stdyDscr/dataAccs/useStmt/conditions |There is no perfect field for this in DDI2.5. All the "access | -|ts.status | | |(open), closed access (closed), under embargo | |information" fields are more like a free text fields. | -| | | |(embargoed), restricted access (restricted), or | | | -| | | |unavailable for some reason (unavailable). | | | +| $.manifestations[*].access_r | String | mandatory | Describes if the manifestation is open access | /codeBook/stdyDscr/dataAccs/useStmt/conditions | There is no perfect field for this in DDI2.5. All the "access | +| ights.status | | | (open), closed access (closed), under embargo | | information" fields are more like a free text fields. | +| | | | (embargoed), restricted access (restricted), or | | | +| | | | unavailable for some reason (unavailable). | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.access_righ |String |recommended |Describe and qualify the specific status |/codeBook/stdyDscr/dataAccs/useStmt/restrctn | | -|ts.description | | |selected. | | | +| $.manifestations[*].access_r | String | recommended | Describe and qualify the specific status | /codeBook/stdyDscr/dataAccs/useStmt/restrctn | | +| ights.description | | | selected. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.licence |String |recommended |The URL of the licence specific to the |not supported | | -| | | |manifestation. | | | +| $.manifestations[*].licence | String | recommended | The URL of the licence specific to the | not supported | | +| | | | manifestation. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.version |String |recommended |The version for a software or research data |/codeBook/docDscr/citation/verStmt/version | | -| | | |product. | | | +| $.manifestations[*].version | String | recommended | The version for a software or research data | /codeBook/docDscr/citation/verStmt/version | | +| | | | product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio |Object |optional |An object containing bibliographic information |structure, no need to map | | -| | | |about a manifestation. | | | +| $.manifestations[*].biblio | Object | optional | An object containing bibliographic information | structure, no need to map | | +| | | | about a manifestation. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.issu |String |optional |Issue number |not applicable | | -|e | | | | | | +| $.manifestations[*].biblio.i | String | optional | Issue number | not applicable | | +| ssue | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |Object |optional |The pages (e.g. of the book or journal) where |not applicable | | -|s | | |the manifestation in defined | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |String |mandatory |The starting page |not applicable | | -|s.first | | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |String |mandatory |The ending page |not applicable | | -|s.last | | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.volu |String |optional |Volume number (for journals, books, conferences) |not applicable | | -|me | | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.edit |String |optional |The edition (for journals and books) |not applicable | | -|ion | | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.numb |String |optional |A number of the manifestation within Venue (e.g. |not applicable | | -|er | | |chapter number) | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.in |String |optional |A Venue identifier for the manifestation. |/codeBook/stdyDscr/citation/distStmt/distrbtr |DDI-C does not support references. Therefore there is no direct | -| | | | |The mapping of the field is dependent on the implementation. If metadata is harvested and published |mapping for this field. This mapping is based on the suitable | -| | | | |by a second party, then there is no mapping. |information content. Note that in SKG-IF the venue/publishing gateway | -| | | | | |is documented using Venue entity and the related Venue entities are | -| | | | | |only referenced here using their identifier. | +| $.manifestations[*].biblio.p | Object | optional | The pages (e.g. of the book or journal) where | not applicable | | +| ages | | | the manifestation in defined | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.p | String | mandatory | The starting page | not applicable | | +| ages.first | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.p | String | mandatory | The ending page | not applicable | | +| ages.last | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.v | String | optional | Volume number (for journals, books, conferences) | not applicable | | +| olume | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.e | String | optional | The edition (for journals and books) | not applicable | | +| dition | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.n | String | optional | A number of the manifestation within Venue (e.g. | not applicable | | +| umber | | | chapter number) | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].biblio.i | String | optional | A Venue identifier for the manifestation. | /codeBook/stdyDscr/citation/distStmt/distrbtr | DDI-C does not support references. Therefore there is no direct | +| n | | | | The mapping of the field is dependent on the implementation. If metadata is harvested and published | mapping for this field. This mapping is based on the suitable | +| | | | | by a second party, then there is no mapping. | information content. Note that in SKG-IF the venue/publishing gateway | +| | | | | | is documented using Venue entity and the related Venue entities are | +| | | | | | only referenced here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.host |String |optional |A Data source identifier for the manifestation. |/codeBook/stdyDscr/citation/holdings/@location |DDI-C does not support references. Therefore there is no direct | -|ing_data_source | | | | |mapping for this field. This mapping is based on the suitable | -| | | | | |information content. Note that in SKG-IF the venue/publishing gateway | -| | | | | |is documented using Venue entity and the related Venue entities are | -| | | | | |only referenced here using their identifier. | +| $.manifestations[*].biblio.h | String | optional | A Data source identifier for the manifestation. | /codeBook/stdyDscr/citation/holdings/@location | DDI-C does not support references. Therefore there is no direct | +| osting_data_source | | | | | mapping for this field. This mapping is based on the suitable | +| | | | | | information content. Note that in SKG-IF the venue/publishing gateway | +| | | | | | is documented using Venue entity and the related Venue entities are | +| | | | | | only referenced here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.relevant_organisations |Array of Strings |optional |Relevant Organisation identifiers associated |not applicable | | -| | | |with a Research product, in case the individual | | | -| | | |affiliations of an Agent are not available. | | | +| $.relevant_organisations[*] | Array of Strings | optional | Relevant Organisation identifiers associated | not applicable | | +| | | | with a Research product, in case the individual | | | +| | | | affiliations of an Agent are not available. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.funding |Array of Strings |optional |Relevant Grant identifiers associated with a |/codeBook/stdyDscr/citation/prodStmt/grantNo |DDI-C does not support references. Therefore there is no direct | -| | | |Research product. | |mapping for this field. This mapping is based on the suitable | -| | | | | |information content. Note that in SKG-IF the grant is documented | -| | | | | |using Grant entity and the related Grant entities are only referenced | -| | | | | |here using their identifier. | +| $.funding[*] | Array of Strings | optional | Relevant Grant identifiers associated with a | /codeBook/stdyDscr/citation/prodStmt/grantNo | DDI-C does not support references. Therefore there is no direct | +| | | | Research product. | | mapping for this field. This mapping is based on the suitable | +| | | | | | information content. Note that in SKG-IF the grant is documented | +| | | | | | using Grant entity and the related Grant entities are only referenced | +| | | | | | here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products |Object |optional |Related Research products, where the semantics |structure, no need to map | | -| | | |of such relationships is specified as a key. | | | +| $.related_products | Object | optional | Related Research products, where the semantics | structure, no need to map | | +| | | | of such relationships is specified as a key. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.cites |Array of Strings |optional |Research products identifiers that are cited by |In SKG publication e.g. article using a dataset tells which datasets it cites. In DDI2.5 it is other | | -| | | |a given Research product. |way around, the dataset has the information which publications are related to (using) the dataset. | | -| | | | |Therefore mapping for this field is done with element "pointing" from dataset to the publication | | -| | | | |which cites the dataset. | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl | | +| $.related_products.cites[*] | Array of Strings | optional | Research products identifiers that are cited by | In SKG publication e.g. article using a dataset tells which datasets it cites. In DDI2.5 it is other | | +| | | | a given Research product. | way around, the dataset has the information which publications are related to (using) the dataset. | | +| | | | | Therefore mapping for this field is done with element "pointing" from dataset to the publication | | +| | | | | which cites the dataset. | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_supple |Array of Strings |optional |Research products identifiers that are |/codeBook/otherMat |DDI-C does not support references. Therefore there is no direct | -|mented_by | | |supplement of a given Research product. | |mapping for this field. This mapping is based on the suitable | -| | | | | |information content. Note that in SKG-IF is_supplemented_by is | -| | | | | |documented using Research Product entity and the related Research | -| | | | | |Product entities are only referenced here using their identifier. | +| $.related_products.is_supple | Array of Strings | optional | Research products identifiers that are | /codeBook/otherMat | DDI-C does not support references. Therefore there is no direct | +| mented_by[*] | | | supplement of a given Research product. | | mapping for this field. This mapping is based on the suitable | +| | | | | | information content. Note that in SKG-IF is_supplemented_by is | +| | | | | | documented using Research Product entity and the related Research | +| | | | | | Product entities are only referenced here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_docume |Array of Strings |optional |Research products identifiers that documents a |/codeBook/stdyDscr/othrStdyMat/relMat |DDI-C does not support references. Therefore there is no direct | -|nted_by | | |given Research product. | |mapping for this field. This mapping is based on the suitable | -| | | | | |information content. Note that in SKG-IF is_documented_by is | -| | | | | |documented using Research Product entity and the related Research | -| | | | | |Product entities are only referenced here using their identifier. | +| $.related_products.is_docume | Array of Strings | optional | Research products identifiers that documents a | /codeBook/stdyDscr/othrStdyMat/relMat | DDI-C does not support references. Therefore there is no direct | +| nted_by[*] | | | given Research product. | | mapping for this field. This mapping is based on the suitable | +| | | | | | information content. Note that in SKG-IF is_documented_by is | +| | | | | | documented using Research Product entity and the related Research | +| | | | | | Product entities are only referenced here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_new_ve |Array of Strings |optional |Research products identifiers that are prior |not applicable | | -|rsion_of | | |versions of a given Research product. | | | +| $.related_products.is_new_ve | Array of Strings | optional | Research products identifiers that are prior | not applicable | | +| rsion_of[*] | | | versions of a given Research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_part_o |Array of Strings |optional |Research products identifiers that contain the |/codeBook/stdyDscr/citation/serStmt |DDI-C does not support references. Therefore there is no direct | -|f | | |current Research product. | |mapping for this field. This mapping is based on the suitable | -| | | | | |information content. Note that in SKG-IF is_part_of is documented | -| | | | | |using Research Product entity and the related Research Product | -| | | | | |entities are only referenced here using their identifier. | +| $.related_products.is_part_o | Array of Strings | optional | Research products identifiers that contain the | /codeBook/stdyDscr/citation/serStmt | DDI-C does not support references. Therefore there is no direct | +| f[*] | | | current Research product. | | mapping for this field. This mapping is based on the suitable | +| | | | | | information content. Note that in SKG-IF is_part_of is documented | +| | | | | | using Research Product entity and the related Research Product | +| | | | | | entities are only referenced here using their identifier. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ - Related publications, related materials, other materials and series as research product ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | -| | | |identifiers for the entity | | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | +| | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Publication citing (cites) the dataset (related publication): | | -| | | |system |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo/@agency | | +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | Publication citing (cites) the dataset (related publication): | | +| | | | system | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo/@agency | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo/@agency | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo/@agency | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/IDNo/@agency | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/IDNo/@agency | | | | | | | | | -| | | | |Series information of the dataset (is_part_of): | | -| | | | |set value to "url" | | +| | | | | Series information of the dataset (is_part_of): | | +| | | | | set value to "url" | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo | | +| $.identifiers[*].value | String | mandatory | The external identifier | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/IDNo | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/IDNo | | | | | | | | | -| | | | |Series information of the dataset (is_part_of): | | -| | | | |/codeBook/stdyDscr/citation/serStmt/@URI | | +| | | | | Series information of the dataset (is_part_of): | | +| | | | | /codeBook/stdyDscr/citation/serStmt/@URI | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to product. |information can be generated because it is always “product” | | +| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to product. | information can be generated because it is always “product” | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles |Object |optional |The titles of the entity |structure, no need to map | | +| $.titles | Object | optional | The titles of the entity | structure, no need to map | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles.ISO 639-1 language |name of the key |? |The name of the key, which must be ISO 639-1 |Publication citing (cites) the dataset (related publication): |If XML file is monolingual then /codeBook/@xml:lang my be used in | -|code | | |language code and be the language of the content |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/titl/@xml:lang |some cases | -| | | |of the value |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/parTitl/@xml:lang | | +| $.titles.ISO 639-1 language | name of the key | ? | The name of the key, which must be ISO 639-1 | Publication citing (cites) the dataset (related publication): | If XML file is monolingual then /codeBook/@xml:lang may be used in | +| code | | | language code and be the language of the content | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/titl/@xml:lang | some cases | +| | | | of the value | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/parTitl/@xml:lang | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/titl/@xml:lang | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/parTitl/@xml:lang | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/titl/@xml:lang | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/parTitl/@xml:lang | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/titl/@xml:lang | | -| | | | |/codeBook/otherMat/citation/titlStmt/parTitl/@xml:lang | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/titl/@xml:lang | | +| | | | | /codeBook/otherMat/citation/titlStmt/parTitl/@xml:lang | | | | | | | | | -| | | | |Series information of the dataset (is_part_of): | | -| | | | |/codeBook/stdyDscr/citation/serStmt/serName/@xml:lang | | +| | | | | Series information of the dataset (is_part_of): | | +| | | | | /codeBook/stdyDscr/citation/serStmt/serName/@xml:lang | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.titles.ISO 639-1 language |Array of Strings |? |The list of the titles in the given (ISO 639-1) |Publication citing (cites) the dataset (related publication): | | -|code | | |language, specified by the key name |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/titl | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/parTitl | | +| $.titles.ISO 639-1 language | Array of Strings | ? | The list of the titles in the given (ISO 639-1) | Publication citing (cites) the dataset (related publication): | | +| code[*] | | | language, specified by the key name | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/titl | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/parTitl | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/titl | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/parTitl | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/titl | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/parTitl | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/titl | | -| | | | |/codeBook/otherMat/citation/titlStmt/parTitl | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/titl | | +| | | | | /codeBook/otherMat/citation/titlStmt/parTitl | | | | | | | | | -| | | | |Series information of the dataset (is_part_of): | | -| | | | |/codeBook/stdyDscr/citation/serStmt/serName | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts |Object |optional |The abstracts of the entity |structure, no need to map | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts.ISO 639-1 |name of the key |? |The name of the key, which must be ISO 639-1 |Series information of the dataset (is_part_of): |If XML file is monolingual then /codeBook/@xml:lang is used | -|language code | | |language code and be the language of the content |/codeBook/stdyDscr/citation/serStmt/serInfo/@xml:lang | | -| | | |of the value | | | +| | | | | Series information of the dataset (is_part_of): | | +| | | | | /codeBook/stdyDscr/citation/serStmt/serName | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.abstracts.ISO 639-1 |Array of Strings |? |The list of the abstracts in the given (ISO |Series information of the dataset (is_part_of): | | -|language code | | |639-1) language, specified by the key name |/codeBook/stdyDscr/citation/serStmt/serInfo | | +| $.abstracts | Object | optional | The abstracts of the entity | structure, no need to map | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.product_type |String |optional |The type of the product , one of the values |information can be generated because it is either “literature” e.g. related publication or "other" | | -| | | |“research data”, “literature”, "research |e.g. other material, series information | | -| | | |software", "other" | | | +| $.abstracts.ISO 639-1 | name of the key | ? | The name of the key, which must be ISO 639-1 | Series information of the dataset (is_part_of): | If XML file is monolingual then /codeBook/@xml:lang is used | +| language code | | | language code and be the language of the content | /codeBook/stdyDscr/citation/serStmt/serInfo/@xml:lang | | +| | | | of the value | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics |Array of Objects |optional |The array of the objects referring to entity |structure, no need to map | | -| | | |Topic | | | +| $.abstracts.ISO 639-1 | Array of Strings | ? | The list of the abstracts in the given (ISO | Series information of the dataset (is_part_of): | | +| language code[*] | | | 639-1) language, specified by the key name | /codeBook/stdyDscr/citation/serStmt/serInfo | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.term |String |mandatory |The reference, (local) identifier, of the topic |not applicable | | -| | | |relevant for this entity | | | +| $.product_type | String | optional | The type of the product , one of the values | information can be generated because it is either “literature” e.g. related publication or "other" | | +| | | | “research data”, “literature”, "research | e.g. other material, series information | | +| | | | software", "other" | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance |Array of Objects |recommended |The provanance information tracking the |structure, no need to map | | -| | | |software(s) used for adding topics and the trust | | | -| | | |in given relation . | | | +| $.topics[*] | Array of Objects | optional | The array of the objects referring to entity | structure, no need to map | | +| | | | Topic | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance.associat |String |mandatory |The reference, (local) identifier, of the Agent |not applicable | | -|ed_with | | |responsible for adding this term to this | | | -| | | |research product. | | | +| $.topics[*].term | String | mandatory | The reference, (local) identifier, of the topic | not applicable | | +| | | | relevant for this entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.topics.provenance.trust |Number (float) |mandatory |The trust given to the relation |not applicable | | +| $.topics[*].provenance | Array of Objects | recommended | The provanance information tracking the | structure, no need to map | | +| | | | software(s) used for adding topics and the trust | | | +| | | | in given relation . | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions |Array of Objects |optional |The array of objects describing the contributors |structure, no need to map | | -| | | |and their contribution | | | +| $.topics[*].provenance.assoc | String | mandatory | The reference, (local) identifier, of the Agent | not applicable | | +| iated_with | | | responsible for adding this term to this | | | +| | | | research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.by |String |mandatory |The reference (Identifier) of the agent |Publication citing (cites) the dataset (related publication): |DDI-C does not support references. Therefore there is no direct | -| | | |contributing to the research product |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty |mapping for this field. This mapping is based on the suitable | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId |information content. Note that in SKG-IF the contributors are | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer |documented using Agent entity and the related Agent entities are only | -| | | | | |referenced here using their identifier. | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | +| $.topics[*].provenance.trust | Number (float) | mandatory | The trust given to the relation | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.declared_aff |String |recommended |The reference (identifier) of the agent which is |Publication citing (cites) the dataset (related publication): |DDI-C does not support references. Therefore there is no direct | -|iliations | | |affiliation of the contributor. |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation |mapping for this field. This mapping is based on the suitable | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation |information content. Note that in SKG-IF the contributor affiliations | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation |are documented using Agent entity and the related Agent entities are | -| | | | | |only referenced here using their identifier. | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.rank |Number (integer) |recommended |The rank of the agent (order of appearance e.g. |not applicable | | -| | | |in the list of authors) | | | +| $.contributions[*] | Array of Objects | optional | The array of objects describing the contributors | structure, no need to map | | +| | | | and their contribution | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.role |String |recommended |The role of the agent. The possible values are |information can be generated because it is always “author” | | -| | | |author, editor, publisher. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.contribution |Array of Strings |recommended |The contributions of the agent using CRediT |DDI-element mappings with CReciT taxonomy: | | -|_types | | |taxonomy |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty: the mapping must be done | | -| | | | |case by case depending of the role in this work | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId: the mapping must be done | | -| | | | |case by case depending of the role in this work | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer: "Project administration" | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty: the mapping must be done | | -| | | | |case by case depending of the role in this work | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId: the mapping must be done case | | -| | | | |by case depending of the role in this work | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer: "Project administration" | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty: the mapping must be done case by case | | -| | | | |depending of the role in this work | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId: the mapping must be done case by case depending | | -| | | | |of the role in this work | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer: "Project administration" | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations |Array of Objects |optional |Object representing different and multiple |structure, no need to map | | -| | | |manifestations of the same research product | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type |Object |recommended |The object representing the type of the |structure, no need to map | | -| | | |manifestation. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.class |String |recommended |The URL of the class identifying the entity |not applicable | | -| | | |(e.g., in an ontology) describing that type. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |Object |recommended |The object used for documenting the labels |not applicable | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |name of the key |? |The name of the key, which must be ISO 639-1 |No need to fill in, if there is just one manifestation for a research product. If different versions | | -|.ISO 639-1 language code | | |language code and be the language of the content |of the related publication / related material / other material are described as manifestations, use | | -| | | |of the value |e.g. "en" as the name of the key (language). | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.labels |Array of Strings |? |The label describing the manifestation type. |No need to fill in, if there is just one manifestation for a research product. If different versions | | -|.ISO 639-1 language code | | | |of the related publication / related material / other material are described as manifestations, can | | -| | | | |be set to "Version" and use "en" as the name of the key. | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.type.define |String |recommended |The URL of the schema of the manifestation type, |not applicable | | -|d_in | | |e.g., a link to the vocabulary of allowed | | | -| | | |product types. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates |Object |recommended |The object is a dictionary, the keys represent |structure, no need to map | | -| | | |the type of date and the value is expressed as | | | -| | | |either a string or a list of string, where each | | | -| | | |string is compliant with the ISO 8601 datetime | | | -| | | |string. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.accep |String or Array |? |The date of acceptance |not applicable | | -|tance |of Strings | | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.acces |String or Array |? |The date on which a particular digital item has |not applicable | | -|s |of Strings | |been accessed by somebody. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.colle |String or Array |? |The date on which some item has been collected, |not applicable | | -|cted |of Strings | |for example the data gathered by means of | | | -| | | |questionnaires. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.copyr |String or Array |? |The date on which an entity has been |not applicable | | -|ight |of Strings | |copyrighted. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.corre |String or Array |? |The date on which something, for example a |not applicable | | -|ction |of Strings | |document, is corrected. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.creat |String or Array |? |The date on which an entity has been created. |Publication citing (cites) the dataset (related publication): | | -|ion |of Strings | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/prodDate/@date | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/prodDate/@date | | +| $.contributions[*].by | String | mandatory | The reference (Identifier) of the agent | Publication citing (cites) the dataset (related publication): | DDI-C does not support references. Therefore there is no direct | +| | | | contributing to the research product | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | mapping for this field. This mapping is based on the suitable | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | information content. Note that in SKG-IF the contributors are | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | documented using Agent entity and the related Agent entities are only | +| | | | | | referenced here using their identifier. | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].declared_ | String | recommended | The reference (identifier) of the agent which is | Publication citing (cites) the dataset (related publication): | DDI-C does not support references. Therefore there is no direct | +| affiliations | | | affiliation of the contributor. | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | mapping for this field. This mapping is based on the suitable | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | information content. Note that in SKG-IF the contributor affiliations | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | are documented using Agent entity and the related Agent entities are | +| | | | | | only referenced here using their identifier. | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].rank | Number (integer) | recommended | The rank of the agent (order of appearance e.g. | not applicable | | +| | | | in the list of authors) | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].role | String | recommended | The role of the agent. The possible values are | information can be generated because it is always “author” | | +| | | | author, editor, publisher. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.contributions[*].contribut | Array of Strings | recommended | The contributions of the agent using CRediT | DDI-element mappings with CReciT taxonomy: | | +| ion_types[*] | | | taxonomy | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty: the mapping must be done | | +| | | | | case by case depending of the role in this work | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId: the mapping must be done | | +| | | | | case by case depending of the role in this work | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer: "Project administration" | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty: the mapping must be done | | +| | | | | case by case depending of the role in this work | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId: the mapping must be done case | | +| | | | | by case depending of the role in this work | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer: "Project administration" | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty: the mapping must be done case by case | | +| | | | | depending of the role in this work | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId: the mapping must be done case by case depending | | +| | | | | of the role in this work | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer: "Project administration" | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*] | Array of Objects | optional | Object representing different and multiple | structure, no need to map | | +| | | | manifestations of the same research product | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type | Object | recommended | The object representing the type of the | structure, no need to map | | +| | | | manifestation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.cla | String | recommended | The URL of the class identifying the entity | not applicable | | +| ss | | | (e.g., in an ontology) describing that type. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | Object | recommended | The object used for documenting the labels | not applicable | | +| els | | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | name of the key | ? | The name of the key, which must be ISO 639-1 | No need to fill in, if there is just one manifestation for a research product. If different versions | | +| els.ISO 639-1 language code | | | language code and be the language of the content | of the related publication / related material / other material are described as manifestations, use | | +| | | | of the value | e.g. "en" as the name of the key (language). | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.lab | Array of Strings | ? | The label describing the manifestation type. | No need to fill in, if there is just one manifestation for a research product. If different versions | | +| els.ISO 639-1 language | | | | of the related publication / related material / other material are described as manifestations, can | | +| code[*] | | | | be set to "Version" and use "en" as the name of the key. | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].type.def | String | recommended | The URL of the schema of the manifestation type, | not applicable | | +| ined_in | | | e.g., a link to the vocabulary of allowed | | | +| | | | product types. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates | Object | recommended | The object is a dictionary, the keys represent | structure, no need to map | | +| | | | the type of date and the value is expressed as | | | +| | | | either a string or a list of string, where each | | | +| | | | string is compliant with the ISO 8601 datetime | | | +| | | | string. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.ac | String or Array | ? | The date of acceptance | not applicable | | +| ceptance[*] | of String | | | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.ac | String or Array | ? | The date on which a particular digital item has | not applicable | | +| cess[*] | of String | | been accessed by somebody. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which some item has been collected, | not applicable | | +| llected[*] | of String | | for example the data gathered by means of | | | +| | | | questionnaires. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which an entity has been | not applicable | | +| pyright[*] | of String | | copyrighted. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.co | String or Array | ? | The date on which something, for example a | not applicable | | +| rrection[*] | of String | | document, is corrected. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.manifestations[*].dates.cr | String or Array | ? | The date on which an entity has been created. | Publication citing (cites) the dataset (related publication): | | +| eation[*] | of String | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/prodDate/@date | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/prodDate/@date | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/prodStmt/prodDate/@date | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/prodStmt/prodDate/@date | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.decis |String or Array |? |The date on which a particular endeavour, such |not applicable | | -|ion |of Strings | |as a grant application, has been or will be | | | -| | | |approved or rejected by somebody. | | | +| $.manifestations[*].dates.de | String or Array | ? | The date on which a particular endeavour, such | not applicable | | +| cision[*] | of String | | as a grant application, has been or will be | | | +| | | | approved or rejected by somebody. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.depos |String or Array |? |The date on which an entity has been deposited, |Publication citing (cites) the dataset (related publication): | | -|it |of Strings | |for example in a library, repository, |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/depDate/@date | | -| | | |supplementary information archive, database or | | | -| | | |similar place of document or information |Material documenting (is_documented_by) the dataset (related material): | | -| | | |storage. |/codeBook/stdyDscr/othrStdyMat/relMat/citation/distStmt/depDate/@date | | +| $.manifestations[*].dates.de | String or Array | ? | The date on which an entity has been deposited, | Publication citing (cites) the dataset (related publication): | | +| posit[*] | of String | | for example in a library, repository, | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/depDate/@date | | +| | | | supplementary information archive, database or | | | +| | | | similar place of document or information | Material documenting (is_documented_by) the dataset (related material): | | +| | | | storage. | /codeBook/stdyDscr/othrStdyMat/relMat/citation/distStmt/depDate/@date | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/distStmt/depDate/@date | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/distStmt/depDate/@date | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.distr |String or Array |? |The date on which something is distributed, for |not applicable | | -|ibution |of Strings | |example the date on which a preprint of a | | | -| | | |document is e-mailed to colleagues and other | | | -| | | |academics by the author(s), or the date on which | | | -| | | |a printed announcement of forthcoming theatre | | | -| | | |events is mailed to those those on the theatre’s | | | -| | | |mailing list. | | | +| $.manifestations[*].dates.di | String or Array | ? | The date on which something is distributed, for | not applicable | | +| stribution[*] | of String | | example the date on which a preprint of a | | | +| | | | document is e-mailed to colleagues and other | | | +| | | | academics by the author(s), or the date on which | | | +| | | | a printed announcement of forthcoming theatre | | | +| | | | events is mailed to those those on the theatre’s | | | +| | | | mailing list. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.embar |String or Array |? |The date before which an entity should not be |not applicable | | -|go |of Strings | |published, or before which a press release | | | -| | | |should not be reported on. For open-access | | | -| | | |journal articles, the embargo date is the date | | | -| | | |before which availability of the open-access | | | -| | | |version of the article is restricted by the | | | -| | | |publisher, following subscription-access | | | -| | | |availability of the published work. | | | +| $.manifestations[*].dates.em | String or Array | ? | The date before which an entity should not be | not applicable | | +| bargo[*] | of String | | published, or before which a press release | | | +| | | | should not be reported on. For open-access | | | +| | | | journal articles, the embargo date is the date | | | +| | | | before which availability of the open-access | | | +| | | | version of the article is restricted by the | | | +| | | | publisher, following subscription-access | | | +| | | | availability of the published work. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.modif |String or Array |? |The date on which an entity has been modified. |Publication citing (cites) the dataset (related publication): | | -|ied |of Strings | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/verStmt/version/@date | | +| $.manifestations[*].dates.mo | String or Array | ? | The date on which an entity has been modified. | Publication citing (cites) the dataset (related publication): | | +| dified[*] | of String | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/verStmt/version/@date | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/verStmt/version/@date | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/verStmt/version/@date | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/verStmt/version/@date | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/verStmt/version/@date | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.publi |String or Array |? |The date of formal issuance of a resource (e.g. |Publication citing (cites) the dataset (related publication): | | -|cation |of Strings | |a publication or a patent). |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/distDate/@date | | +| $.manifestations[*].dates.pu | String or Array | ? | The date of formal issuance of a resource (e.g. | Publication citing (cites) the dataset (related publication): | | +| blication[*] | of String | | a publication or a patent). | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/distStmt/distDate/@date | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/distStmt/distDate/@date | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/distStmt/distDate/@date | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/distStmt/distDate/@date | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/distStmt/distDate/@date | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.recei |String or Array |? |The date on which some item is received, for |not applicable | | -|ved |of Strings | |example a document being received by a | | | -| | | |publisher. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which some item is received, for | not applicable | | +| ceived[*] | of String | | example a document being received by a | | | +| | | | publisher. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.reque |String or Array |? |The date on which an agent is requested to do |not applicable | | -|st |of Strings | |something, for example a reviewer is requested | | | -| | | |to write a review of a paper submitted to a | | | -| | | |journal for publication, or an author is | | | -| | | |requested to supply a revised version of the | | | -| | | |paper in response to the reviews received. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which an agent is requested to do | not applicable | | +| quest[*] | of String | | something, for example a reviewer is requested | | | +| | | | to write a review of a paper submitted to a | | | +| | | | journal for publication, or an author is | | | +| | | | requested to supply a revised version of the | | | +| | | | paper in response to the reviews received. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.retra |String or Array |? |The date on which something, for example a claim |not applicable | | -|ction |of Strings | |or a journal article, is retracted. | | | +| $.manifestations[*].dates.re | String or Array | ? | The date on which something, for example a claim | not applicable | | +| traction[*] | of String | | or a journal article, is retracted. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.dates.valid |String or Array |? |Date of validity of a resource. |not applicable | | -|ity |of Strings | | | | | +| $.manifestations[*].dates.va | String or Array | ? | Date of validity of a resource. | not applicable | | +| lidity[*] | of String | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |Array of Objects |recommended |External identifiers of the manifestationt |structure, no need to map | | +| $.manifestations[*].identifi | Array of Objects | recommended | External identifiers of the manifestationt | structure, no need to map | | +| ers[*] | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |String |mandatory |The scheme for the external identifier. |Publication citing (cites) the dataset (related publication): | | -|.scheme | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo/@agency | | +| $.manifestations[*].identifi | String | mandatory | The scheme for the external identifier. | Publication citing (cites) the dataset (related publication): | | +| ers.scheme | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo/@agency | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo/@agency | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo/@agency | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/IDNo/@agency | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/IDNo/@agency | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.identifiers |String |mandatory |The external identifier. |Publication citing (cites) the dataset (related publication): | | -|.value | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo | | +| $.manifestations[*].identifi | String | mandatory | The external identifier. | Publication citing (cites) the dataset (related publication): | | +| ers.value | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/titlStmt/IDNo | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/titlStmt/IDNo | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/titlStmt/IDNo | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/titlStmt/IDNo | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |Object |recommended |Whether the manifestation has undergone a peer |structure, no need to map | | -| | | |review. | | | +| $.manifestations[*].peer_rev | Object | recommended | Whether the manifestation has undergone a peer | structure, no need to map | | +| iew | | | review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |String |mandatory |The status (reviewed or not yet) of the |not applicable | | -|.status | | |peer-review. | | | +| $.manifestations[*].peer_rev | String | mandatory | The status (reviewed or not yet) of the | not applicable | | +| iew.status | | | peer-review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.peer_review |String |recommended |The type of peer review. Allowed values: |not applicable | | -|.description | | |single-blind peer review, double-blind peer | | | -| | | |review, open peer review. | | | +| $.manifestations[*].peer_rev | String | recommended | The type of peer review. Allowed values: | not applicable | | +| iew.description | | | single-blind peer review, double-blind peer | | | +| | | | review, open peer review. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.access_righ |Object |recommended |The access rights of this manifestation |structure, no need to map | | -|ts | | | | | | +| $.manifestations[*].access_r | Object | recommended | The access rights of this manifestation | structure, no need to map | | +| ights | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.access_righ |String |mandatory |Describes if the manifestation is open access |not applicable | | -|ts.status | | |(open), closed access (closed), under embargo | | | -| | | |(embargoed), restricted access (restricted), or | | | -| | | |unavailable for some reason (unavailable). | | | +| $.manifestations[*].access_r | String | mandatory | Describes if the manifestation is open access | not applicable | | +| ights.status | | | (open), closed access (closed), under embargo | | | +| | | | (embargoed), restricted access (restricted), or | | | +| | | | unavailable for some reason (unavailable). | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|manifestations.access_rights |String |recommended |Describe and qualify the specific status |not applicable | | -|.description | | |selected. | | | +| $.manifestations[*].access_r | String | recommended | Describe and qualify the specific status | not applicable | | +| ights.description | | | selected. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.licence |String |recommended |The URL of the licence specific to the |not applicable | | -| | | |manifestation. | | | +| $.manifestations[*].licence | String | recommended | The URL of the licence specific to the | not applicable | | +| | | | manifestation. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.version |String |recommended |The version for a software or research data |Publication citing (cites) the dataset (related publication): | | -| | | |product. |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/verStmt/version | | +| $.manifestations[*].version | String | recommended | The version for a software or research data | Publication citing (cites) the dataset (related publication): | | +| | | | product. | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/verStmt/version | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/verStmt/version | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/verStmt/version | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/verStmt/version | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/verStmt/version | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio |Object |optional |An object containing bibliographic information |structure, no need to map | | -| | | |about a manifestation. | | | +| $.manifestations[*].biblio | Object | optional | An object containing bibliographic information | structure, no need to map | | +| | | | about a manifestation. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.issu |String |optional |Issue number |not supported | | -|e | | | | | | +| $.manifestations[*].biblio.i | String | optional | Issue number | not supported | | +| ssue | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |Object |optional |The pages (e.g. of the book or journal) where |not supported | | -|s | | |the manifestation in defined | | | +| $.manifestations[*].biblio.p | Object | optional | The pages (e.g. of the book or journal) where | not supported | | +| ages | | | the manifestation in defined | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |String |mandatory |The starting page |not supported | | -|s.first | | | | | | +| $.manifestations[*].biblio.p | String | mandatory | The starting page | not supported | | +| ages.first | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.page |String |mandatory |The ending page |not supported | | -|s.last | | | | | | +| $.manifestations[*].biblio.p | String | mandatory | The ending page | not supported | | +| ages.last | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.volu |String |optional |Volume number (for journals, books, conferences) |not supported | | -|me | | | | | | +| $.manifestations[*].biblio.v | String | optional | Volume number (for journals, books, conferences) | not supported | | +| olume | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.edit |String |optional |The edition (for journals and books) |not supported | | -|ion | | | | | | +| $.manifestations[*].biblio.e | String | optional | The edition (for journals and books) | not supported | | +| dition | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.numb |String |optional |A number of the manifestation within Venue (e.g. |not supported | | -|er | | |chapter number) | | | +| $.manifestations[*].biblio.n | String | optional | A number of the manifestation within Venue (e.g. | not supported | | +| umber | | | chapter number) | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.in |String |optional |A Venue identifier for the manifestation. |not supported | | +| $.manifestations[*].biblio.i | String | optional | A Venue identifier for the manifestation. | not supported | | +| n | | | | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.manifestations.biblio.host |String |optional |A Data source identifier for the manifestation. |Publication citing (cites) the dataset (related publication): | | -|ing_data_source | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/holdings/@location | | +| $.manifestations[*].biblio.h | String | optional | A Data source identifier for the manifestation. | Publication citing (cites) the dataset (related publication): | | +| osting_data_source | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/holdings/@location | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/holdings/@location | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/holdings/@location | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/holdings/@location | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/holdings/@location | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.relevant_organisations |Array of Strings |optional |Relevant Organisation identifiers associated |not applicable | | -| | | |with a Research product, in case the individual | | | -| | | |affiliations of an Agent are not available. | | | +| $.relevant_organisations[*] | Array of Strings | optional | Relevant Organisation identifiers associated | not applicable | | +| | | | with a Research product, in case the individual | | | +| | | | affiliations of an Agent are not available. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.funding |Array of Strings |optional |Relevant Grant identifiers associated with a |Publication citing (cites) the dataset (related publication): | | -| | | |Research product. |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo | | +| $.funding[*] | Array of Strings | optional | Relevant Grant identifiers associated with a | Publication citing (cites) the dataset (related publication): | | +| | | | Research product. | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo | | | | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo | | | | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/prodStmt/grantNo | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/prodStmt/grantNo | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products |Object |optional |Related Research products, where the semantics |structure, no need to map | | -| | | |of such relationships is specified as a key. | | | +| $.related_products | Object | optional | Related Research products, where the semantics | structure, no need to map | | +| | | | of such relationships is specified as a key. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.cites |Array of Strings |optional |Research products identifiers that are cited by |In SKG publication e.g. article using a dataset tells which datasets it cites. In DDI2.5 it is other | | -| | | |a given Research product. |way around, the dataset has the information which publications are related to (using) the dataset. | | +| $.related_products.cites[*] | Array of Strings | optional | Research products identifiers that are cited by | In SKG publication e.g. article using a dataset tells which datasets it cites. In DDI2.5 it is other | | +| | | | a given Research product. | way around, the dataset has the information which publications are related to (using) the dataset. | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_supple |Array of Strings |optional |Research products identifiers that are |not applicable | | -|mented_by | | |supplement of a given Research product. | | | +| $.related_products.is_supple | Array of Strings | optional | Research products identifiers that are | not applicable | | +| mented_by[*] | | | supplement of a given Research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_docume |Array of Strings |optional |Research products identifiers that documents a |not applicable | | -|nted_by | | |given Research product. | | | +| $.related_products.is_docume | Array of Strings | optional | Research products identifiers that documents a | not applicable | | +| nted_by[*] | | | given Research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_new_ve |Array of Strings |optional |Research products identifiers that are prior |not applicable | | -|rsion_of | | |versions of a given Research product. | | | +| $.related_products.is_new_ve | Array of Strings | optional | Research products identifiers that are prior | not applicable | | +| rsion_of[*] | | | versions of a given Research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.related_products.is_part_o |Array of Strings |optional |Research products identifiers that contain the |not applicable | | -|f | | |current Research product. | | | +| $.related_products.is_part_o | Array of Strings | optional | Research products identifiers that contain the | not applicable | | +| f[*] | | | current Research product. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ - Person ^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | ++==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | -| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | | |DDI2.5. | -| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | | |does not include ExtLink | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@title | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@title | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “person” |DDI2.5 do not have field stating if an agent is a person or an | -| | | |(generic), person or organisation | |organization. It is possible to separate person and organisation only | -| | | | | |if considered that AuthEnty (or other contributor field) is a person | -| | | | | |when it has affiliation attribute attached. | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | -| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.given_name |String |optional |The given name of a Person. |not supported | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.family_name |String |optional |The family name of a Person. |not supported | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations |Array of Objects |optional |All the affiliations of a Person |structure, no need to map | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.affiliation |String |mandatory |The identifier of an Organisation a Person is |Dataset: |DDI-C does not support references. Therefore there is no direct | -| | | |affiliated with. |/codeBook/docDscr/citation/prodStmt/producer/@affiliation |mapping for this field. This mapping is based on the suitable | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation |information content. Note that in SKG-IF the contributor affiliations | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation |are documented using Agent entity and the related Agent entities are | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation |only referenced here using their identifier. | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role |String |recommended |The role that a Person had in the context of an |information can be generated because it is always “affiliate” | | -| | | |Organisation. Needed for parsing purposes; fixed | | | -| | | |to affiliate. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role.period |Object |recommended |The time period where the Person was affiliated |not applicable | | -| | | |with an Organisation. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role.period.s |String |recommended |The start datetime of the affiliation with an |not applicable | | -|tart | | |Organisation. The string should be compliant | | | -| | | |with the ISO 8601 datetime string. | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.affiliations.role.period.e |String |recommended |The end datetime (if any) of the affiliation |not applicable | | -|nd | | |with an Organisation. The string should be | | | -| | | |compliant with the ISO 8601 datetime string. | | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | Using ExtLink element is a workaround, there is not actually a field | +| | | | identifiers for the entity | | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | | DDI2.5. | +| | | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | | does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | system | /codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@title | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].value | String | mandatory | The external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/ExtLink | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Field stating the kind of entity, can be agent | information can be generated because it is always “person” | DDI2.5 do not have field stating if an agent is a person or an | +| | | | (generic), person or organisation | | organization. It is possible to separate person and organisation only | +| | | | | | if considered that AuthEnty (or other contributor field) is a person | +| | | | | | when it has affiliation attribute attached. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.name | String | optional | The string containing whatever concatenation of | Dataset: | | +| | | | an Agent name(s). | /codeBook/docDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.given_name | String | optional | The given name of a Person. | not supported | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.family_name | String | optional | The family name of a Person. | not supported | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*] | Array of Objects | optional | All the affiliations of a Person | structure, no need to map | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*].affiliatio | String | mandatory | The identifier of an Organisation a Person is | Dataset: | DDI-C does not support references. Therefore there is no direct | +| n | | | affiliated with. | /codeBook/docDscr/citation/prodStmt/producer/@affiliation | mapping for this field. This mapping is based on the suitable | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | information content. Note that in SKG-IF the contributor affiliations | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | are documented using Agent entity and the related Agent entities are | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | only referenced here using their identifier. | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*].role | String | recommended | The role that a Person had in the context of an | information can be generated because it is always “affiliate” | | +| | | | Organisation. Needed for parsing purposes; fixed | | | +| | | | to affiliate. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*].role.perio | Object | recommended | The time period where the Person was affiliated | not applicable | | +| d | | | with an Organisation. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*].role.perio | String | recommended | The start datetime of the affiliation with an | not applicable | | +| d.start | | | Organisation. The string should be compliant | | | +| | | | with the ISO 8601 datetime string. | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.affiliations[*].role.perio | String | recommended | The end datetime (if any) of the affiliation | not applicable | | +| d.end | | | with an Organisation. The string should be | | | +| | | | compliant with the ISO 8601 datetime string. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Affiliation of a person as Organisation ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | -| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | | |DDI2.5. | -| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | | |does not include ExtLink | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@title | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@title | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “person” |DDI2.5 do not have field stating if an agent is a person or an | -| | | |(generic), person or organisation | |organization. It is possible to separate person and organisation only | -| | | | | |if considered that AuthEnty (or other contributor field) is a person | -| | | | | |when it has affiliation attribute attached. | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | -| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.short_name |String |optional |The short name/acronym for an Organisation. |Dataset: |These fields do not support abbreviation | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/@abbr |Dataset: | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@abbr |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@abbr |/codeBook/stdyDscr/citation/rspStmt/othId | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@abbr | | -| | | | | |Publication citing (cites) the dataset (related publication): | -| | | | |Publication citing (cites) the dataset (related publication): |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/Auth | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@abbr |Enty | -| | | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othI | -| | | | |Material documenting (is_documented_by) the dataset (related material): |d | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@abbr | | -| | | | | |Material documenting (is_documented_by) the dataset (related | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): |material): | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@abbr |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthE | -| | | | | |nty | -| | | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | -| | | | | | | -| | | | | |Material supplementing (is_supplemented_by) the dataset (other | -| | | | | |material): | -| | | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | -| | | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.other_names |Array of Strings |optional |Other names, perhaps in different languages, |DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these | | -| | | |identifying an Organisation. |fields: | | -| | | | |Dataset: | | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.website |String |optional |The website URL for an Organisation. |not supported | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.country |String |optional |The country code of an Organisation |not applicable | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.type |String |optional |The types of an Organisation. |not applicable | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | Using ExtLink element is a workaround, there is not actually a field | +| | | | identifiers for the entity | | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | | DDI2.5. | +| | | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | | does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | system | /codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@title | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].value | String | mandatory | The external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/ExtLink | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Field stating the kind of entity, can be agent | information can be generated because it is always “person” | DDI2.5 do not have field stating if an agent is a person or an | +| | | | (generic), person or organisation | | organization. It is possible to separate person and organisation only | +| | | | | | if considered that AuthEnty (or other contributor field) is a person | +| | | | | | when it has affiliation attribute attached. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.name | String | optional | The string containing whatever concatenation of | Dataset: | | +| | | | an Agent name(s). | /codeBook/docDscr/citation/prodStmt/producer/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.short_name | String | optional | The short name/acronym for an Organisation. | Dataset: | These fields do not support abbreviation | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/@abbr | Dataset: | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@abbr | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@abbr | /codeBook/stdyDscr/citation/rspStmt/othId | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@abbr | | +| | | | | | Publication citing (cites) the dataset (related publication): | +| | | | | Publication citing (cites) the dataset (related publication): | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/Auth | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@abbr | Enty | +| | | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othI | +| | | | | Material documenting (is_documented_by) the dataset (related material): | d | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@abbr | | +| | | | | | Material documenting (is_documented_by) the dataset (related | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | material): | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@abbr | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthE | +| | | | | | nty | +| | | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | +| | | | | | | +| | | | | | Material supplementing (is_supplemented_by) the dataset (other | +| | | | | | material): | +| | | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | +| | | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.other_names[*] | Array of Strings | optional | Other names, perhaps in different languages, | DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these | | +| | | | identifying an Organisation. | fields: | | +| | | | | Dataset: | | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@affiliation | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@affiliation | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@affiliation | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@affiliation | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@affiliation | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@affiliation | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.website | String | optional | The website URL for an Organisation. | not supported | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.country | String | optional | The country code of an Organisation | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.type | String | optional | The types of an Organisation. | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Organisation ^^^^^^^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | -| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | | |DDI2.5. | -| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | | |does not include ExtLink | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/ExtLink/@title | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/ExtLink/@title | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/ExtLink/@title | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty/@title | | -| | | | |/codeBook/otherMat/citation/rspStmt/othId/@title | | -| | | | |/codeBook/otherMat/citation/prodStmt/producer/@title | | -| | | | |/codeBook/otherMat/citation/prodStmt/fundAg/ExtLink/@title | | -| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/ExtLink/@title | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg/ExtLink | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/ExtLink | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/ExtLink | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/ExtLink | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/prodStmt/producer | | -| | | | |/codeBook/otherMat/citation/prodStmt/fundAg/ExtLink | | -| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/ExtLink | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “organisation” |DDI2.5 do not have field stating if an agent is a person or an | -| | | |(generic), person or organisation | |organization. It is possible to separate person and organisation only | -| | | | | |if considered that AuthEnty (or other contributor field) is a person | -| | | | | |when it has affiliation attribute attached. | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | -| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/prodStmt/producer | | -| | | | |/codeBook/otherMat/citation/prodStmt/fundAg | | -| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/@agency | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.short_name |String |optional |The short name/acronym for an Organisation. |Dataset: | | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/@abbr | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/@abbr | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/@abbr | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@abbr | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg/@abbr | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@abbr | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/@abbr | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@abbr | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/@abbr | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@abbr | | -| | | | |/codeBook/otherMat/citation/prodStmt/fundAg/@abbr | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.other_names |Array of Strings |optional |Other names, perhaps in different languages, |DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these | | -| | | |identifying an Organisation. |fields: | | -| | | | |Dataset: | | -| | | | |/codeBook/docDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/@agency | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/prodStmt/producer | | -| | | | |/codeBook/otherMat/citation/prodStmt/fundAg | | -| | | | |/codeBook/otherMat/citation/prodStmt/grantNo/@agency | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.website |String |optional |The website URL for an Organisation. |not supported | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.country |String |optional |The country code of an Organisation |not applicable | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.type |String |optional |The types of an Organisation. |not applicable | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | Using ExtLink element is a workaround, there is not actually a field | +| | | | identifiers for the entity | | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | | DDI2.5. | +| | | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | | does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | system | /codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/grantNo/ExtLink/@title | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/ExtLink/@title | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/ExtLink/@title | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/rspStmt/AuthEnty/@title | | +| | | | | /codeBook/otherMat/citation/rspStmt/othId/@title | | +| | | | | /codeBook/otherMat/citation/prodStmt/producer/@title | | +| | | | | /codeBook/otherMat/citation/prodStmt/fundAg/ExtLink/@title | | +| | | | | /codeBook/otherMat/citation/prodStmt/grantNo/ExtLink/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].value | String | mandatory | The external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/ExtLink | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/fundAg/ExtLink | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/grantNo/ExtLink | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/ExtLink | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/ExtLink | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/prodStmt/producer | | +| | | | | /codeBook/otherMat/citation/prodStmt/fundAg/ExtLink | | +| | | | | /codeBook/otherMat/citation/prodStmt/grantNo/ExtLink | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Field stating the kind of entity, can be agent | information can be generated because it is always “organisation” | DDI2.5 do not have field stating if an agent is a person or an | +| | | | (generic), person or organisation | | organization. It is possible to separate person and organisation only | +| | | | | | if considered that AuthEnty (or other contributor field) is a person | +| | | | | | when it has affiliation attribute attached. | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.name | String | optional | The string containing whatever concatenation of | Dataset: | | +| | | | an Agent name(s). | /codeBook/docDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/prodStmt/producer | | +| | | | | /codeBook/otherMat/citation/prodStmt/fundAg | | +| | | | | /codeBook/otherMat/citation/prodStmt/grantNo/@agency | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.short_name | String | optional | The short name/acronym for an Organisation. | Dataset: | | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/@abbr | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/@abbr | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/@abbr | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant/@abbr | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/fundAg/@abbr | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/@abbr | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg/@abbr | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/@abbr | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg/@abbr | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@abbr | | +| | | | | /codeBook/otherMat/citation/prodStmt/fundAg/@abbr | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.other_names[*] | Array of Strings | optional | Other names, perhaps in different languages, | DDI2.5 includes possibility for multilingual metadata by using xml:lang attribute for all of these | | +| | | | identifying an Organisation. | fields: | | +| | | | | Dataset: | | +| | | | | /codeBook/docDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMatl/citation/prodStmt/fundAg | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/prodStmt/grantNo/@agency | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/prodStmt/producer | | +| | | | | /codeBook/otherMat/citation/prodStmt/fundAg | | +| | | | | /codeBook/otherMat/citation/prodStmt/grantNo/@agency | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.website | String | optional | The website URL for an Organisation. | not supported | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.country | String | optional | The country code of an Organisation | not applicable | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.type | String | optional | The types of an Organisation. | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Agent (not known if it is Person or Organization) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |nan | -| | | |use URL as identifier | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map |Using ExtLink element is a workaround, there is not actually a field | -| | | |identifiers for the entity | |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | | |DDI2.5. | -| | | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | | |does not include ExtLink | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.Identifiers.scheme |String |mandatory |The scheme/name of the external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | |system |/codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId/@title | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer/@title | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |Dataset: |Using ExtLink element is a workaround, there is not actually a field | -| | | | |/codeBook/docDscr/citation/prodStmt/producer/ExtLink |for Persistent Identifiers for any Agent, Person or Organization in | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink |DDI2.5. | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId/ExtLink |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer/ExtLink |does not include ExtLink | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Field stating the kind of entity, can be agent |information can be generated because it is always “agent” | | -| | | |(generic), person or organisation | | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The string containing whatever concatenation of |Dataset: | | -| | | |an Agent name(s). |/codeBook/docDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/citation/prodStmt/producer | | -| | | | |/codeBook/stdyDscr/method/dataColl/dataCollector | | -| | | | |/codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | -| | | | | | | -| | | | |Publication citing (cites) the dataset (related publication): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | | -| | | | | | | -| | | | |Material documenting (is_documented_by) the dataset (related material): | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | -| | | | | | | -| | | | |Material supplementing (is_supplemented_by) the dataset (other material): | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | -| | | | |/codeBook/otherMat/citation/citation/rspStmt/othId | | -| | | | |/codeBook/otherMat/citation/citation/prodStmt/producer | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | Using ExtLink element is a workaround, there is not actually a field | +| | | | identifiers for the entity | | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | | DDI2.5. | +| | | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | | does not include ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | system | /codeBook/docDscr/citation/prodStmt/producer/ExtLink/@title | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink/@title | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink/@title | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink/@title | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink/@title | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink/@title | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink/@title | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty/@title | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId/@title | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer/@title | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].value | String | mandatory | The external identifier | Dataset: | Using ExtLink element is a workaround, there is not actually a field | +| | | | | /codeBook/docDscr/citation/prodStmt/producer/ExtLink | for Persistent Identifiers for any Agent, Person or Organization in | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty/ExtLink | DDI2.5. | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId/ExtLink | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer/ExtLink | does not include ExtLink | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector/ExtLink | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId/ExtLink | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer/ExtLink | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Field stating the kind of entity, can be agent | information can be generated because it is always “agent” | | +| | | | (generic), person or organisation | | | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.name | String | optional | The string containing whatever concatenation of | Dataset: | | +| | | | an Agent name(s). | /codeBook/docDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/citation/prodStmt/producer | | +| | | | | /codeBook/stdyDscr/method/dataColl/dataCollector | | +| | | | | /codeBook/stdyDscr/studyDevelopment/developmentActivity/participant | | +| | | | | | | +| | | | | Publication citing (cites) the dataset (related publication): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relPubl/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | | Material documenting (is_documented_by) the dataset (related material): | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/stdyDscr/othrStdyMat/relMat/citation/citation/prodStmt/producer | | +| | | | | | | +| | | | | Material supplementing (is_supplemented_by) the dataset (other material): | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/AuthEnty | | +| | | | | /codeBook/otherMat/citation/citation/rspStmt/othId | | +| | | | | /codeBook/otherMat/citation/citation/prodStmt/producer | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ + Grant ^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| Entity / Property name | Type | optional/recommended | Description | DDI 2.5 (Dublin Core fields excluded) | Notes | -| | | /mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ | $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | | | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.grant_number | String | recommended | Unique code identifying the Grant at the funder. | /codeBook/stdyDscr/citation/prodStmt/grantNo | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | | | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers.scheme | String | mandatory | The scheme/name of the external identifier | not supported | | +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | not supported | | | | | | system | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers.value | String | mandatory | The external identifier | not supported | | +| $.identifiers[*].value | String | mandatory | The external identifier | not supported | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.entity_type | String | mandatory | Needed for parsing purposes; fixed to grant. | information can be generated because it is always “grant” | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -1307,8 +1303,8 @@ Grant | code | | | language code and be the language of the content | | | | | | | of the value | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.titles.ISO 639-1 language | Array of Strings | ? | The list of the titles in the given (ISO 639-1) | not applicable | | -| code | | | language, specified by the key name | | | +| $.titles.ISO 639-1 language | Array of Strings | ? | The list of the titles in the given (ISO 639-1) | not applicable | | +| code[*] | | | language, specified by the key name | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.abstracts | Object | optional | The abstracts of the entity | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -1317,7 +1313,7 @@ Grant | | | | of the value | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.abstracts.ISO 639-1 | Array of Strings | ? | The list of the abstracts in the given (ISO | not applicable | | -| language code | | | 639-1) language, specified by the key name | | | +| language code[*] | | | 639-1) language, specified by the key name | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.acronym | String | optional | The acronym of the grant | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -1332,7 +1328,7 @@ Grant +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.funded_amount | Numeric | optional | Amount funded | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.keywords | Array of Strings | optional | Keywords | not applicable | | +| $.keywords[*] | Array of Strings | optional | Keywords | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.duration | Object | optional | Duration of the Grant | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ @@ -1342,204 +1338,200 @@ Grant +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.website | String | optional | The URL of the funded project website. | not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.beneficiaries | Array of Strings | optional | The references (identifiers) of the Organization | not applicable | | +| $.beneficiaries[*] | Array of Strings | optional | The references (identifiers) of the Organization | not applicable | | | | | | Agents funded by the Grant | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.contributions | Array of Objects | optional | The array of objects describing the contributors | structure, no need to map | | +| $.contributions[*] | Array of Objects | optional | The array of objects describing the contributors | structure, no need to map | | | | | | and their contribution | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.contributions.by | String | mandatory | The reference (Identifier) of the agent | not applicable | | +| $.contributions[*].by | String | mandatory | The reference (Identifier) of the agent | not applicable | | | | | | contributing to the grant | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.contributions.declared_aff | Array of Strings | recommended | The reference (identifier) of the agent which is | not applicable | | -| iliations | | | affiliation of the contributor. | | | +| $.contributions[*].declared_ | Array of Strings | recommended | The reference (identifier) of the agent which is | not applicable | | +| affiliations[*] | | | affiliation of the contributor. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.contributions.role | Array of Strings | recommended | The role of the agent. SCoro project roles: co- | not applicable | | -| | | | applicant, lead applican, project leader, | | | +| $.contributions[*].role[*] | Array of Strings | recommended | The role of the agent. SCoro project roles: | not applicable | | +| | | | co-applicant, lead applican, project leader, | | | | | | | project manager, project member, workpackage | | | | | | | leader | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ - Venue ^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | -| | | |use URL as identifier | | | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. |   | +| | | | use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | -| | | |identifiers for the entity | | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map |   | +| | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |If the contents of the URI attribute are used as the identifier then this should be set to "url" | | -| | | |system | | | +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | If the contents of the URI attribute are used as the identifier then this should be set to "url" |   | +| | | | system | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |/codeBook/stdyDscr/citation/distStmt/distrbtr/@URI | | +| $.identifiers[*].value | String | mandatory | The external identifier | /codeBook/stdyDscr/citation/distStmt/distrbtr/@URI |   | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to venue |information can be generated because it is always “venue” | | +| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to venue | information can be generated because it is always “venue” |   | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.name |String |optional |The name of a Venue. |/codeBook/stdyDscr/citation/distStmt/distrbtr | | +| $.name | String | optional | The name of a Venue. | /codeBook/stdyDscr/citation/distStmt/distrbtr |   | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.acronym |String |optional |Acronym used by a Venue. |/codeBook/stdyDscr/citation/distStmt/distrbtr/@abbr | | +| $.acronym | String | optional | Acronym used by a Venue. | /codeBook/stdyDscr/citation/distStmt/distrbtr/@abbr |   | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.type |String |optional |The type of a Venue. Allowed values: journal, |Most of the times this value would be set to "repository" | | -| | | |conference, book, repository, other, unknown | | | +| $.type | String | optional | The type of a Venue. Allowed values: journal, | Most of the times this value would be set to "repository" |   | +| | | | conference, book, repository, other, unknown | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.series |String |optional |The name of the conference or book series. |not applicable |The desciption of the field says that it is meant for the venues of | -| | | | | |type "conference" or "book" | +| $.series | String | optional | The name of the conference or book series. | not applicable | The desciption of the field says that it is meant for the venues of | +| | | | | | type "conference" or "book" | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.access_rights |Object |recommended |The access right for the specific journal. |not applicable |The desciption of the field says that it is meant for the venues of | -| | | | | |type "journal" | +| $.access_rights | Object | recommended | The access right for the specific journal. | not applicable | The desciption of the field says that it is meant for the venues of | +| | | | | | type "journal" | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.access_rights.status |String |mandatory |The description if the journal is open access |not applicable |The desciption of the field says that it is meant for the venues of | -| | | |(open), closed access (closed), or hybrid | |type "journal" | +| $.access_rights.status | String | mandatory | The description if the journal is open access | not applicable | The desciption of the field says that it is meant for the venues of | +| | | | (open), closed access (closed), or hybrid | | type "journal" | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.access_rights.description |String |recommended |Describe and qualify the specific status |not applicable |The desciption of the field says that it is meant for the venues of | -| | | |selected. | |type "journal" | +| $.access_rights.description | String | recommended | Describe and qualify the specific status | not applicable | The desciption of the field says that it is meant for the venues of | +| | | | selected. | | type "journal" | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.creation_date |String |optional |The date of creation of a Venue. |not applicable | | +| $.creation_date | String | optional | The date of creation of a Venue. | not applicable |   | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions |Array of Objects |optional |The array of objects describing the contributors |not applicable | | -| | | |and their contribution | | | +| $.contributions[*] | Array of Objects | optional | The array of objects describing the contributors | not applicable |   | +| | | | and their contribution | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.by |String |mandatory |The reference (Identifier) of the agent |not applicable | | -| | | |contributing to the research Venue. | | | +| $.contributions[*].by | String | mandatory | The reference (Identifier) of the agent | not applicable |   | +| | | | contributing to the research Venue. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.contributions.role |String |recommended |The role of the agent. The possible values are |not applicable | | -| | | |editor, publisher. | | | +| $.contributions[*].role | String | recommended | The role of the agent. The possible values are | not applicable |   | +| | | | editor, publisher. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ Topic when collected from DDI2.5 files ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. |When topic information is collected from DDI2.5, it is quite likely | -| | | |use URL as identifier | |that "on-the-fly" local identifiers will be used. | +| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | When topic information is collected from DDI2.5, it is quite likely | +| | | | use URL as identifier | | that "on-the-fly" local identifiers will be used. | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | -| | | |identifiers for the entity | | | +| $.identifiers[*] | Array of Objects | recommended | The array of the objects representing external | structure, no need to map |   | +| | | | identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.scheme |String |mandatory |The scheme/name of the external identifier |/codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink/@title |Using ExtLink element is a workaround, there is not actually a field | -| | | |system |/codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink/@title |for (Persistent) Identifiers | -| | | | | |Even if keyword and topcClas are the best mappings, it is possible to | -| | | | | | map any "vocabulary field" to this e.g. | -| | | | | |/codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink/@title | -| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink/@title | -| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc/ExtLink/@title | -| | | | | |/codeBook/stdyDscr/method/dataColl/collMode/ExtLink/@title | -| | | | | |/codeBook/stdyDscr/sumDscr/dataKind/ExtLink/@title | -| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru/ExtLink/@title | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.identifiers.value |String |mandatory |The external identifier |/codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink |Even if keyword and topcClas are the best mappings, it is possible to | -| | | | |/codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink | map any "vocabulary field" to this e.g. | -| | | | | |/codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink | -| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink | -| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc/ExtLink | -| | | | | |/codeBook/stdyDscr/method/dataColl/collMode/ExtLink | -| | | | | |/codeBook/stdyDscr/sumDscr/dataKind/ExtLink | -| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru/ExtLink | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to topic. |information can be generated because it is always “topic” | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.labels |Object |optional |Labels (terms) |structure, no need to map | | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.labels.ISO 639-1 language |name of the key |? |The name of the key, which must be ISO 639-1 |/codeBook/stdyDscr/stdyInfo/subject/keyword/@xml:lang |Even if keyword and topcClas are the best mappings, it is possible to | -|code | | |language code and be the language of the content |/codeBook/stdyDscr/stdyInfo/subject/topcClas/@xml:lang | map any "vocabulary field" to this e.g. | -| | | | of the value | |/codeBook/stdyDscr/sumDscr/anlyUnit/@xml:lang | -| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth/@xml:lang | -| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc/@xml:lang | -| | | | | |/codeBook/stdyDscr/method/dataColl/collMode/@xml:lang | -| | | | | |/codeBook/stdyDscr/sumDscr/dataKind/@xml:lang | -| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru/@xml:lang | -+------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|$.labels.ISO 639-1 language |Array of Strings |? |Label describing a Topic in the given (ISO | |Even if keyword and topcClas are the best mappings, it is possible to | -|code | | |639-1) language, specified by the key name |/codeBook/stdyDscr/stdyInfo/subject/keyword | map any "vocabulary field" to this e.g. | -| | | | |/codeBook/stdyDscr/stdyInfo/subject/topcClas |/codeBook/stdyDscr/sumDscr/anlyUnit | -| | | | | |/codeBook/stdyDscr/method/dataColl/timeMeth | -| | | | | |/codeBook/stdyDscr/method/dataColl/sampProc | -| | | | | |/codeBook/stdyDscr/method/dataColl/collMode | -| | | | | |/codeBook/stdyDscr/sumDscr/dataKind | -| | | | | |/codeBook/stdyDscr/method/dataColl/resInstru | +| $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | | Using ExtLink element is a workaround, there is not actually a field | +| | | | system | /codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink/@title | for (Persistent) Identifiers | +| | | | | /codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink/@title | Even if keyword and topcClas are the best mappings, it is possible to | +| | | | | | map any "vocabulary field" to this e.g. | +| | | | | | /codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink/@title | +| | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink/@title | +| | | | | | /codeBook/stdyDscr/method/dataColl/sampProc/ExtLink/@title | +| | | | | | /codeBook/stdyDscr/method/dataColl/collMode/ExtLink/@title | +| | | | | | /codeBook/stdyDscr/sumDscr/dataKind/ExtLink/@title | +| | | | | | /codeBook/stdyDscr/method/dataColl/resInstru/ExtLink/@title | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.identifiers[*].value | String | mandatory | The external identifier | | Even if keyword and topcClas are the best mappings, it is possible to | +| | | | | /codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink | map any "vocabulary field" to this e.g. | +| | | | | /codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink | /codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink | +| | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink | +| | | | | | /codeBook/stdyDscr/method/dataColl/sampProc/ExtLink | +| | | | | | /codeBook/stdyDscr/method/dataColl/collMode/ExtLink | +| | | | | | /codeBook/stdyDscr/sumDscr/dataKind/ExtLink | +| | | | | | /codeBook/stdyDscr/method/dataColl/resInstru/ExtLink | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to topic. | information can be generated because it is always “topic” |   | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.labels | Object | optional | Labels (terms) | structure, no need to map |   | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.labels.ISO 639-1 language | name of the key | ? | The name of the key, which must be ISO 639-1 | | Even if keyword and topcClas are the best mappings, it is possible to | +| code | | | language code and be the language of the content | /codeBook/stdyDscr/stdyInfo/subject/keyword/@xml:lang | map any "vocabulary field" to this e.g. | +| | | | of the value | /codeBook/stdyDscr/stdyInfo/subject/topcClas/@xml:lang | /codeBook/stdyDscr/sumDscr/anlyUnit/@xml:lang | +| | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth/@xml:lang | +| | | | | | /codeBook/stdyDscr/method/dataColl/sampProc/@xml:lang | +| | | | | | /codeBook/stdyDscr/method/dataColl/collMode/@xml:lang | +| | | | | | /codeBook/stdyDscr/sumDscr/dataKind/@xml:lang | +| | | | | | /codeBook/stdyDscr/method/dataColl/resInstru/@xml:lang | ++------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ +| $.labels.ISO 639-1 language | Array of Strings | ? | Label describing a Topic in the given (ISO | | Even if keyword and topcClas are the best mappings, it is possible to | +| code[*] | | | 639-1) language, specified by the key name | /codeBook/stdyDscr/stdyInfo/subject/keyword | map any "vocabulary field" to this e.g. | +| | | | | /codeBook/stdyDscr/stdyInfo/subject/topcClas | /codeBook/stdyDscr/sumDscr/anlyUnit | +| | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth | +| | | | | | /codeBook/stdyDscr/method/dataColl/sampProc | +| | | | | | /codeBook/stdyDscr/method/dataColl/collMode | +| | | | | | /codeBook/stdyDscr/sumDscr/dataKind | +| | | | | | /codeBook/stdyDscr/method/dataColl/resInstru | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ - Data source ^^^^^^^^^^^^ - +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -|Property name |Type |optional/recommended |Description |DDI 2.5 XPath (Dublin Core fields excluded) |Notes | -| | |/mandatory | | | | +| Property JSONPath | Type | Optional/Recommended | Description | DDI 2.5 XPath (Dublin Core fields excluded) | Notes | +| | | /Mandatory | | | | +==============================+==================+======================+==================================================+======================================================================================================+=======================================================================+ -| $.local_identifier | String | mandatory | An unique identifier in SKG, it is suggested to | The value of this field is implementation-dependent. | | -| | | | use URL as identifier | | | +|$.local_identifier |String |mandatory |An unique identifier in SKG, it is suggested to |The value of this field is implementation-dependent. | | +| | | |use URL as identifier | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers | Array of Objects | recommended | The array of the objects representing external | structure, no need to map | | -| | | | identifiers for the entity | | | +|$.identifiers[*] |Array of Objects |recommended |The array of the objects representing external |structure, no need to map | | +| | | |identifiers for the entity | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers.scheme | String | mandatory | The scheme/name of the external identifier | /codeBook/stdyDscr/citation/holdings/ExtLink/@title | Using ExtLink element is a workaround, there is not actually a field | -| | | | system | | for identifier/URL pointing to the organization (data source) | +|$.identifiers[*].scheme |String |mandatory |The scheme/name of the external identifier |/codeBook/stdyDscr/citation/holdings/ExtLink/@title |Using ExtLink element is a workaround, there is not actually a field | +| | | |system | |for identifier/URL pointing to the organization (data source) | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.identifiers.value | String | mandatory | The external identifier | /codeBook/stdyDscr/citation/holdings/ExtLink/@URI | | +|$.identifiers[*].value |String |mandatory |The external identifier |/codeBook/stdyDscr/citation/holdings/ExtLink/@URI | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to datasource | information can be generated because it is always “datasource” | | +|$.entity_type |String |mandatory |Needed for parsing purposes; fixed to datasource |information can be generated because it is always “datasource” | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.name | String | optional | The name of a Venue. | /codeBook/stdyDscr/citation/holdings/@location | | +|$.name |String |optional |The name of a Data source. |/codeBook/stdyDscr/citation/holdings/@location | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.persistent_identity_system | Array of Objects | optional | The persistent identifier systems that are used | not applicable | | -| s | | | by a Data source to identify the ProductType it | | | -| | | | supports. | | | +|$.persistent_identity_system |Array of Objects |optional |The persistent identifier systems that are used |not applicable | | +|s[*] | | |by a Data source to identify the ProductType it | | | +| | | |supports. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.persistent_identity_system | ? | mandatory | The Product type to which the persistent | not applicable | | -| s.for | | | identifier is referring to. Allowed values: | | | -| | | | literature, research data, software, metadata, | | | -| | | | any | | | +|$.persistent_identity_system |? |mandatory |The Product type to which the persistent |not applicable | | +|s[*].for | | |identifier is referring to. Allowed values: | | | +| | | |literature, research data, software, metadata, | | | +| | | |any | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.persistent_identity_system | Array of Strings | mandatory | Persistent identifier schemes used to refer to | not applicable | | -| s.pid_schemes | | | ProductTypes. | | | +|$.persistent_identity_system |Array of Strings |mandatory |Persistent identifier schemes used to refer to |not applicable | | +|s[*].pid_schemes[*] | | |ProductTypes. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.audience | Array of Objects | optional | The property defines the target audiences of the | not applicable | | -| | | | users of a Data source. | | | +|$.audience[*] |Array of Objects |optional |The property defines the target audiences of the |not applicable | | +| | | |users of a Data source. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.audience.audience_type | String | mandatory | The type of the audience based on the vocabulary | not applicable | | -| | | | "Jurisdiction". Allowed values "Global", | | | -| | | | "National", "Regional", "Institution", "Research | | | -| | | | infrastructure", "e-infrastructure" | | | +|$.audience[*].audience_type |String |mandatory |The type of the audience based on the vocabulary |not applicable | | +| | | |"Jurisdiction". Allowed values "Global", | | | +| | | |"National", "Regional", "Institution", "Research | | | +| | | |infrastructure", "e-infrastructure" | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.data_source_classification | String | optional | The specific type of a Data source, based on the | not applicable | | -| | | | vocabulary Data source Classification. It can be | | | -| | | | chosen among the following values: repository, | | | -| | | | aggregator, scientific database, journal | | | -| | | | archive, publisher archive, cris system | | | +|$.data_source_classification |String |optional |The specific type of a Data source, based on the |not applicable | | +| | | |vocabulary Data source Classification. It can be | | | +| | | |chosen among the following values: repository, | | | +| | | |aggregator, scientific database, journal | | | +| | | |archive, publisher archive, cris system | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.research_product_type | Array of Strings | optional | The types of entities managed by a Data source. | not applicable | | -| | | | Each item in the list should be compliant with | | | -| | | | the following terms: metadata, research data, | | | -| | | | literature, software, any | | | +|$.research_product_type[*] |Array of Strings |optional |The types of entities managed by a Data source. |not applicable | | +| | | |Each item in the list should be compliant with | | | +| | | |the following terms: metadata, research data, | | | +| | | |literature, software, any | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.disciplines | Array of Strings | optional | The disciplines for which a Data source is | not applicable | | -| | | | dedicated - specified using the Library of | | | -| | | | Congress Classification codes, available at | | | -| | | | https://id.loc.gov/authorities/classification | | | -| | | | (e.g. PA3000-PA3049 for classical literature). | | | -| | | | In case a Data source is discipline agnostic, | | | -| | | | the string all should be specified. | | | +|$.disciplines[*] |Array of Strings |optional |The disciplines for which a Data source is |not applicable | | +| | | |dedicated - specified using the Library of | | | +| | | |Congress Classification codes, available at | | | +| | | |https://id.loc.gov/authorities/classification | | | +| | | |(e.g. PA3000-PA3049 for classical literature). | | | +| | | |In case a Data source is discipline agnostic, | | | +| | | |the string all should be specified. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.policies | Array of Objects | optional | The policies followed by a Data source. | not applicable | | +|$.policies[*] |Array of Objects |optional |The policies followed by a Data source. |not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.policies.about | String | mandatory | The type of policy to consider. | not applicable | | +|$.policies.about |String |mandatory |The type of policy to consider. |not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.policies.target | Array of Strings | recommended | The types of resources to which the policy | not applicable | | -| | | | applies to, allowed values: : metadata, research | | | -| | | | data, literature, software, any | | | +|$.policies.target[*] |Array of Strings |recommended |The types of resources to which the policy |not applicable | | +| | | |applies to, allowed values: : metadata, research | | | +| | | |data, literature, software, any | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.policies.documented_at | String | recommended | The URL of the document that describes the | not applicable | | -| | | | policy. | | | +|$.policies.documented_at |String |recommended |The URL of the document that describes the |not applicable | | +| | | |policy. | | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.policies.description | String | recommended | Describe the type of policy, if necessary. | not applicable | | +|$.policies.description |String |recommended |Describe the type of policy, if necessary. |not applicable | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ From 636aadf48ca7a9e43a04e5726e6cf0b745e3e443 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 15 Dec 2025 15:21:47 +0100 Subject: [PATCH 062/101] docs : fixing table size, fixing the format of files --- .../FAIR/Assessment-Recommended-API.rst | 84 +++++++++++++------ .../FAIR/Guidance-Element-Specification.rst | 6 +- .../FAIR/index_catalogs_registries.rst | 3 +- docs/commons/FAIR/index_standards.rst | 3 +- docs/commons/dmp/API-specification.rst | 6 +- docs/commons/dmp/application-profile.rst | 3 +- docs/commons/dmp/dmp-commons.rst | 12 +-- .../LifeWatch-maDMP-mapping-template.rst | 3 - ...-Coastal-marine-maDMP-mapping-template.rst | 2 - docs/commons/dmp/mappings/index.rst | 2 - 10 files changed, 73 insertions(+), 51 deletions(-) delete mode 100644 docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst delete mode 100644 docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index 670c9ba..8db1263 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -1,18 +1,18 @@ Assessment Recommended API ---------------------------- -The FAIR-IF follows, as closely as possible, the REST standard; -however, unlike many REST architectures, not all identifiers in -the IF are “local”, and thus it is often necessary to pass the -full GUID of an identifier from one component to another, or from -client to server. For example, the GUID of a Benchmark is the -DOI of that Benchmark as recorded in the FAIRsharing registry, -and as such, it cannot become part of the URL of the REST interface. - -Nevertheless, there are two “types” of calls in the FAIR-IF. -Calls that are intended to retrieve information and calls that are -intended to trigger an activity (such as a test or assessment). -The latter kinds of calls are prefixed with /assess/. +The FAIR-IF follows, as closely as possible, the REST standard; +however, unlike many REST architectures, not all identifiers in +the IF are “local”, and thus it is often necessary to pass the +full GUID of an identifier from one component to another, or from +client to server. For example, the GUID of a Benchmark is the +DOI of that Benchmark as recorded in the FAIRsharing registry, +and as such, it cannot become part of the URL of the REST interface. + +Nevertheless, there are two “types” of calls in the FAIR-IF. +Calls that are intended to retrieve information and calls that are +intended to trigger an activity (such as a test or assessment). +The latter kinds of calls are prefixed with /assess/. Please refer to the paragraphs below for API calls or implementation. An OpenAPI yaml specification for FTR is available in the following [link](https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/api/open_api_description.yaml) including examples and @@ -26,23 +26,53 @@ following the FAIR-IF Application Profile. The method MUST accept a GET string with key/value as in the table below. The same method MAY accept a JSON Body as in Table 1, via HTTP POST. -| Method | Parameter | Returns | -|------------- |------------ |-------------------------- | -| `/tests/` | `testid` | A list with all the test identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/benchmarks/`| `bmid` | A list with all the benchmark identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/metrics/` | `mid` | A list with all the metrics identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | -| `/algorithms/`| `aid` | A list with all the algorithms identifiers suported by the tool. When an id is sent, a DCAT record in JSON-LD is returned | +.. list-table:: GET endpoints + :header-rows: 1 + :widths: 20 20 60 + * - Method + - Parameter + - Returns + * - ``/tests/`` + - ``testid`` + - A list with all the test identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. + * - ``/benchmarks/`` + - ``bmid`` + - A list with all the benchmark identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. + * - ``/metrics/`` + - ``mid`` + - A list with all the metrics identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. + * - ``/algorithms/`` + - ``aid`` + - A list with all the algorithms identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. POST calls ---------------------------- All post requests must submit a body with the resource to assess as follows: -``` -{"resource_identifier": "https://w3id.org/example#"} -``` - -| Method | Parameter | Returns | -|-------------|--------------|--------------------------| -|`/assess/test/`|testid and resource_identifier| Test result in JSON-LD | -|`/assess/benchmark/`|bmid and resource_identifier| Test result in JSON-LD | -|`/assess/algorithm/`|algoid and resource_identifier| Test result in JSON-LD | + +.. code-block:: json + + { + "resource_identifier": "https://w3id.org/example#" + } + +.. list-table:: POST endpoints + :header-rows: 1 + :widths: 20 20 60 + + * - Method + - Parameter + - Returns + * - ``/assess/test/`` + - ``testid`` and ``resource_identifier`` + - Test result in JSON-LD + * - ``/assess/benchmark/`` + - ``bmid`` and ``resource_identifier`` + - Test result in JSON-LD + * - ``/assess/algorithm/`` + - ``algoid`` and ``resource_identifier`` + - Test result in JSON-LD diff --git a/docs/commons/FAIR/Guidance-Element-Specification.rst b/docs/commons/FAIR/Guidance-Element-Specification.rst index 99cf024..d911828 100644 --- a/docs/commons/FAIR/Guidance-Element-Specification.rst +++ b/docs/commons/FAIR/Guidance-Element-Specification.rst @@ -8,7 +8,7 @@ The **FAIR Guidance Vocabulary (FGV)** provides a machine-readable ontology that The code release provides the ontology, including vocabularies, definitions, and specifications in machine-readable form. - **Persistent identifier**: `https://w3id.org/fgv# `__ - - **Code Repository**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/ - - **Latest Release**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/releases/latest - - **Documentation**: https://ostrails.github.io/FAIR-Guidance-Vocabulary/ + - **Code Repository**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/ + - **Latest Release**: https://github.com/OSTrails/FAIR-Guidance-Vocabulary/releases/latest + - **Documentation**: https://ostrails.github.io/FAIR-Guidance-Vocabulary/ - **License**: Creative Commons Attribution 4.0 International `CC-BY 4.0 `__ diff --git a/docs/commons/FAIR/index_catalogs_registries.rst b/docs/commons/FAIR/index_catalogs_registries.rst index 66f2e44..d3b5798 100644 --- a/docs/commons/FAIR/index_catalogs_registries.rst +++ b/docs/commons/FAIR/index_catalogs_registries.rst @@ -6,4 +6,5 @@ The following resources in this section are part of the FAIR Commons component. .. toctree:: :caption: Catalogs and Registries :maxdepth: 1 - :titlesonly: \ No newline at end of file + :titlesonly: + diff --git a/docs/commons/FAIR/index_standards.rst b/docs/commons/FAIR/index_standards.rst index e71f525..0e4bca4 100644 --- a/docs/commons/FAIR/index_standards.rst +++ b/docs/commons/FAIR/index_standards.rst @@ -10,4 +10,5 @@ The following resources in this section are part of the FAIR Commons component. Guidance Element Specification FAIR Test Results Vocabulary (FTR) - Assessment Recommended API \ No newline at end of file + Assessment Recommended API + diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst index 4ea383c..3887f5c 100644 --- a/docs/commons/dmp/API-specification.rst +++ b/docs/commons/dmp/API-specification.rst @@ -4,11 +4,7 @@ OSTrails maDMP API Specification .. page-authors:: Tomasz Miksa -The API is developed jointly with the `Research Data Alliance maDMP API working group `_. - - - - +The API is developed jointly with the `Research Data Alliance maDMP API working group `_. The charter of the group can be found `here `_. diff --git a/docs/commons/dmp/application-profile.rst b/docs/commons/dmp/application-profile.rst index bfcc717..a06553f 100644 --- a/docs/commons/dmp/application-profile.rst +++ b/docs/commons/dmp/application-profile.rst @@ -3,4 +3,5 @@ OSTrails Application Profile for maDMPs OSTrails Application Profile (AP) as a tailored extension of the `RDA DMP Common Standard (DCS) for maDMPs `_ will be designed to enhance interoperability while addressing various requirements (e.g. funders). Technically, the specification of the application profile will be done as prescribed by the DCS (which will support such extensions) and will be part of the Commons as the description of data structure. -- *Planned resource to be developed* \ No newline at end of file +- *Planned resource to be developed* + diff --git a/docs/commons/dmp/dmp-commons.rst b/docs/commons/dmp/dmp-commons.rst index 9d19188..4c94962 100644 --- a/docs/commons/dmp/dmp-commons.rst +++ b/docs/commons/dmp/dmp-commons.rst @@ -4,13 +4,13 @@ DMP Commons The following resources in this section are part of the DMP Commons component. .. toctree:: - :caption: Commons Resources - :maxdepth: 1 - :titlesonly: + :caption: Commons Resources + :maxdepth: 1 + :titlesonly: - OSTrails Application Profile for maDMPs - OSTrails maDMP API Specification - maDMP mappings + OSTrails Application Profile for maDMPs + OSTrails maDMP API Specification + maDMP mappings diff --git a/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst b/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst deleted file mode 100644 index 59821a0..0000000 --- a/docs/commons/dmp/mappings/LifeWatch-maDMP-mapping-template.rst +++ /dev/null @@ -1,3 +0,0 @@ -LifeWatch maDMP mapping/template -======================================= - diff --git a/docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst b/docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst deleted file mode 100644 index c8e50e6..0000000 --- a/docs/commons/dmp/mappings/SOCIB-Coastal-marine-maDMP-mapping-template.rst +++ /dev/null @@ -1,2 +0,0 @@ -SOCIB/Coastal marine maDMP mapping/template -============================================= \ No newline at end of file diff --git a/docs/commons/dmp/mappings/index.rst b/docs/commons/dmp/mappings/index.rst index abb2ec7..8575f5a 100644 --- a/docs/commons/dmp/mappings/index.rst +++ b/docs/commons/dmp/mappings/index.rst @@ -9,5 +9,3 @@ maDMP mappings Science Europe maDMP mapping Austrian FWF – maDMP mapping - LifeWatch maDMP mapping/template - SOCIB/Coastal marine maDMP mapping/template From 49626349cf306718a4d7a787c61638e30d413302 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Tue, 16 Dec 2025 10:49:47 +0100 Subject: [PATCH 063/101] docs: add the FAIR Validator file --- docs/tools/FAIR.rst | 1 + docs/tools/FAIR_tools/FAIR-Validator.rst | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 docs/tools/FAIR_tools/FAIR-Validator.rst diff --git a/docs/tools/FAIR.rst b/docs/tools/FAIR.rst index d90198c..8013925 100644 --- a/docs/tools/FAIR.rst +++ b/docs/tools/FAIR.rst @@ -14,6 +14,7 @@ The following resources in this section are part of the FAIR Tools component. FAIROS FAIRsharing FAIR Assessment Authoring Tool + FAIR Validator Catalogue of Benchmark Scoring Algorithms Catalogue of Metrics Catalogue of Benchmarks diff --git a/docs/tools/FAIR_tools/FAIR-Validator.rst b/docs/tools/FAIR_tools/FAIR-Validator.rst new file mode 100644 index 0000000..ef9d9d4 --- /dev/null +++ b/docs/tools/FAIR_tools/FAIR-Validator.rst @@ -0,0 +1,13 @@ +FAIR Validator +^^^^^^^^^^^^^ + +The OpenAIRE Metadata Validator is a software tool designed to evaluate metadata records for research products (publications, datasets, software, and other outputs) against the OpenAIRE Guidelines, which define the minimum requirements for inclusion in the OpenAIRE Graph. In addition to guideline compliance, the tool is being extended with FAIR evaluation capabilities through the FAIR Validator, which builds on the OpenAIRE Guidelines assessment. The version presented here supports and implements the FAIR Reference Model defined by OSTrails. This release includes the source code of the tool. + +- Persistent identifier: not available yet +- Code repository: https://code-repo.d4science.org/MaDgIK/openaire-ostrails-api/ +- Version: Release v0.1.0 +- Release: https://code-repo.d4science.org/MaDgIK/openaire-ostrails-api/releases/tag/0.1.0 +- License: Apache-2.0 + + + From 0255ee466d662d16a2aea3fd52f93aa528c995fb Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Tue, 16 Dec 2025 10:57:19 +0100 Subject: [PATCH 064/101] docs: fixing format in file for indexing --- .../FAIR_tools/Catalogue-of-Benchmark-Scoring-Algorithms.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/tools/FAIR_tools/Catalogue-of-Benchmark-Scoring-Algorithms.rst b/docs/tools/FAIR_tools/Catalogue-of-Benchmark-Scoring-Algorithms.rst index 2ef3d7a..470c005 100644 --- a/docs/tools/FAIR_tools/Catalogue-of-Benchmark-Scoring-Algorithms.rst +++ b/docs/tools/FAIR_tools/Catalogue-of-Benchmark-Scoring-Algorithms.rst @@ -26,7 +26,7 @@ To register a Scoring Algorithm, you may use one of the following standardised procedures: Submitting an Existing Metadata Record via FAIR Champion -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------------------------------------------------ Visit the FAIR Champion registration page: https://tests.ostrails.eu/tests/new @@ -43,7 +43,7 @@ may be displayed as **invalid**. tool or repository. The record **must** comply with the FTR model. Registering Metadata via the FAIR Assessment Authoring Tool -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +-------------------------------------------------------------- The FAIR Assessment Authoring Tool, developed by the OSTrails team, supports the creation of FAIR assessment components such as Tests, From f5b8373c4f48d6424863c1b1fef4ded265a2c56d Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Tue, 16 Dec 2025 15:55:08 +0100 Subject: [PATCH 065/101] docs: FAIRSharing docs --- docs/tools/FAIR.rst | 3 +- .../FAIR_tools/Catalogue-of-Benchmarks.rst | 54 +++++++- .../tools/FAIR_tools/Catalogue-of-Metrics.rst | 2 - docs/tools/FAIR_tools/FAIRsharing.rst | 118 +++++++++++++++++- .../fairassist-principles-navigation.png | Bin 0 -> 306337 bytes .../FAIR_tools/fairassist-search-filter.png | Bin 0 -> 74440 bytes 6 files changed, 166 insertions(+), 11 deletions(-) delete mode 100644 docs/tools/FAIR_tools/Catalogue-of-Metrics.rst create mode 100644 docs/tools/FAIR_tools/fairassist-principles-navigation.png create mode 100644 docs/tools/FAIR_tools/fairassist-search-filter.png diff --git a/docs/tools/FAIR.rst b/docs/tools/FAIR.rst index 8013925..9ca270e 100644 --- a/docs/tools/FAIR.rst +++ b/docs/tools/FAIR.rst @@ -16,6 +16,5 @@ The following resources in this section are part of the FAIR Tools component. FAIR Assessment Authoring Tool FAIR Validator Catalogue of Benchmark Scoring Algorithms - Catalogue of Metrics - Catalogue of Benchmarks + Catalogue of Benchmarks and Metrics Catalogue of Tests \ No newline at end of file diff --git a/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst b/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst index 5482552..8f372e3 100644 --- a/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst +++ b/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst @@ -1,2 +1,52 @@ -Catalogue of Benchmarks ---------------------------- \ No newline at end of file +Catalogue of Metrics and Benchmarks +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The FAIRassist registry (`https://fairassist.org/registry `_), powered by FAIRsharing +(`https://fairsharing.org/ `_), is the catalogue of metrics and benchmarks for OSTrails and the +wider community making use of the Assess-IF. + +FAIRassist (for conceptual components) and the FDP Index (for software components) are complementary exemplar services +that showcase: + +- Registration and sharing of the components of the Assess-IF, +- Assistance with their discoverability (based on digital object types, discipline specificity, or generic scope), and +- Information and documentation to guide and assist during the FAIR assessment process. + +Registration with FAIRassist and FDP is strongly recommended for transparency and for FAIRness. DOIs will be minted for +metrics and benchmarks once the maintainer of the resource considers it ready and no longer in development. + +For more information, please see the sections on FAIRsharing and FAIRassist +(:ref:`fairsharing-registry`, :ref:`fairassist-registry`). + +Via content negotiation and various FAIRsharing APIs, this registry makes a rich set of human-curated data available to +FAIR assessments in a machine-actionable format using DCAT and JSON. + +Searching and Filtering Metrics and Benchmarks +----------------------------------------------- + +Metrics and benchmarks can be filtered and searched via +`https://fairassist.org/registry `_ in two ways: + +1. Through graphical navigation beginning with the FAIR Principles of interest to the user and traversing to, + ultimately, any benchmarks linked to those principles (Figure 1). + +2. By selecting as many filters and/or search strings as required. The search results generated are separated into + sections according to record type and include not only the metrics and/or benchmarks of interest, but also related + standards, databases, policies, and collections from the broader FAIRsharing registry (Figures 2 and 3). + +Guided Discovery and Re-use +--------------------------- + +FAIRassist guides users to the benchmarks and metrics they need through a variety of routes, including: + +- the FAIR principles to which they relate, +- subject area and research object type of interest, +- associated organisations, and +- the FAIR evaluation tools that implement them. + +The ecosystem of related resources is summarised and presented as tabular results, enabling further exploration and +ultimately fostering component re-use. + +If a user finds a metric that suits their needs, they can re-use that metric very easily, particularly when filtering +by tools that already implement it. Future work will add additional filters as well as a graphical summary of the +connectivity among the search results. \ No newline at end of file diff --git a/docs/tools/FAIR_tools/Catalogue-of-Metrics.rst b/docs/tools/FAIR_tools/Catalogue-of-Metrics.rst deleted file mode 100644 index fec18f7..0000000 --- a/docs/tools/FAIR_tools/Catalogue-of-Metrics.rst +++ /dev/null @@ -1,2 +0,0 @@ -Catalogue of Metrics ----------------------- \ No newline at end of file diff --git a/docs/tools/FAIR_tools/FAIRsharing.rst b/docs/tools/FAIR_tools/FAIRsharing.rst index cb2c057..78e1848 100644 --- a/docs/tools/FAIR_tools/FAIRsharing.rst +++ b/docs/tools/FAIR_tools/FAIRsharing.rst @@ -1,8 +1,116 @@ FAIRsharing Registry -^^^^^^^^^^^^^^^^^^^^^^ +=================== -FAIRsharing is a registry of standards, databases, policies and FAIR assistance conceptual components. Registration of FAIR principles/dimensions, metrics, and benchmarks within FAIRsharing allows human- and machine-readable integration of the FAIR assessment components within the wider research landscape, and is key to discovery of these resources as well as for the implementation of the tests themselves via the rich metadata contained within the registry. Rather than being a specific tool release, it is the extension to FAIRsharing with the new FAIRassist registry which is relevant to the other Commons resources described in this section. +Across all disciplines, there are thousands of repositories (databases and knowledge bases), as well as +community-developed standards for the identification, citation, and reporting of digital objects (DOs), +such as datasets, software, and research materials. Making the right choice is challenging, but understanding +this evolving landscape is essential: standards and repositories are fundamental pillars of the FAIR +Principles. -- Identifier: https://fairsharing.org/ -- Code repository: https://github.com/FAIRsharing/fairsharing.github.io -- Version: Continuous release \ No newline at end of file +FAIRsharing (`https://fairsharing.org/ `_) is a curated, informative, and educational +resource on data and metadata standards, inter-related to databases and data policies across all disciplines. +It guides: + +- **Consumers**, to discover, select, and use standards and repositories with confidence; +- **Producers**, to make their resources more discoverable, widely adopted, and cited; and +- **Third-party tools**, by providing trustworthy content to promote standards and databases. + +FAIRsharing is a core integration component within a variety of research data management tools, including +technical solutions for FAIR assessment and evaluation as well as data management plan (DMP) creation. It is +recommended within infrastructures such as **EOSC** and **ELIXIR**, as well as by research data management +communities including the **Research Data Alliance (RDA)**. + +FAIRsharing provides more than **40 richly described metadata fields and relationships**, including: + +- How standards are related to each other (e.g. which terminologies are required by discipline-specific formats), +- Which repositories implement specific standards, +- The maturity status of standards and databases, +- Which data policies recommend them, and +- Which digital object (DO) types and disciplines are in scope. + +All FAIRsharing information is available in a **machine-actionable format**, using DCAT and JSON, and can be +accessed via content negotiation and FAIRsharing APIs to support advanced queries. + +Community Engagement and Curation +--------------------------------- + +FAIRsharing has a strong user community and an ongoing **Community Champion Programme** +(`https://fairsharing.org/community_champions `_). This programme +brings together domain and discipline experts who: + +- Act as advocates for standards, databases, and policies for digital objects, +- Create educational material to support discovery, use, and adoption of these resources, and +- Enrich FAIRsharing content by improving the description and discoverability of standards, repositories, + and policies. + +OSTrails Cluster representatives participate as Champions and collaborators, working with the programme to +advance open and FAIR data management within the project. + +FAIRsharing and the Assess-IF +----------------------------- + +The Assess-IF requires high-quality information on standards and digital object types. OSTrails Cluster +representatives therefore engage with FAIRsharing to: + +- **Curate FAIRsharing content**, ensuring that domain-agnostic and discipline-specific standards and data + resources are represented according to Cluster usage, recommendations, and community best practices. + This curation enables these resources to be used within FAIR assistance and evaluation workflows. + +- **Curate FAIRassist content**, by registering and maintaining FAIR assistance benchmarks and associated + components. These records are essential for the development of FAIR test workflows for OSTrails Clusters, + as well as thematic and national pilots. + +- **Create collections of resources**, which group standards and data resources to facilitate discovery and + use by humans and machines. Collections are based on community best practices and are required to support + each Cluster’s assessment process. + +Collections also provide graphical representations of Cluster requirements, illustrating relationships +among standards and repositories (for example, which terminologies are required by specific formats, or which +identifier schemes are used by a given repository). This approach fosters reuse of common standards and +repositories across Clusters, disciplines, and communities where appropriate. + +FAIRassist Registry +------------------- + +The FAIRassist registry (`https://fairassist.org/registry `_), powered by +FAIRsharing, stores records with persistent identifiers (DOIs) relating to the **conceptual components of FAIR +assistance and evaluation**. + +FAIRassist and the FDP Index are complementary exemplar services that showcase: + +- Registration and sharing of the components of the Assess-IF, +- Assistance with their discoverability (based on digital object types, discipline specificity, or generic + scope), and +- Delivery of information and documentation to guide and support the FAIR assessment process. + +In particular, FAIRassist complements the FDP registry of **software components** from the Assess-IF (tests and +algorithms) by registering the **conceptual components**, including: + +- FAIR Dimensions and Principles, +- Metrics, and +- Benchmarks, + +as well as their relationships and links to individual tests. + +Registration with FAIRassist and FDP is strongly recommended for transparency and FAIRness. This approach +supports ease of adoption while providing clear guidance on the formality and consistency expected within an +Interoperability Framework. Through content negotiation and FAIRsharing APIs, FAIRassist provides a rich set of +human-curated data to FAIR assessments in a machine-actionable DCAT/JSON format. + +Cross-linking and Ecosystem Integration +--------------------------------------- + +The cross-linking between FAIRsharing and FAIRassist enables the Assess-IF by connecting metrics and benchmarks +to the FAIRsharing graph of information, including: + +- The digital objects (e.g. datasets, terminologies) applicable to a given metric or benchmark, +- The expert communities or domains for which the metric or benchmark is relevant, +- The standards or policies involved in the FAIR evaluation, and +- The assessment tools or platforms that run the evaluations. + +Other tools within the OSTrails ecosystem that integrate with FAIRassist include: + +- **OSTrails Wizard** – creation of Assess-IF components, +- **FAIR Champion** – running benchmarks and registering software components, +- **FOOPS!** – creation of Assess-IF components for terminologies, +- **DSW**, **damap**, and **Argos** – tools for DMP creation and evaluation. diff --git a/docs/tools/FAIR_tools/fairassist-principles-navigation.png b/docs/tools/FAIR_tools/fairassist-principles-navigation.png new file mode 100644 index 0000000000000000000000000000000000000000..a1fea22ff5e86748529798fecc7161c25a8201d5 GIT binary patch literal 306337 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�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

P<(Gw4<84#fO3$8}3GOER{#t<|ZX?#z?zH zwYKM{eeZPJ%f7EEU|^yB+@Xw^BsFRb}aWj)M0i9m!SRTdx`~OzrOTA7Pq% z#C?E!7&|4l9QGDDHO}unW=)|h(G>-5=$M{Yeavtfrk9ncr(#zhe@6$W*w3c3F@nqT zbU(C$_q94WP6b1grFj`gUM4oHxa}WkKL5mJi@mKG!cBRQTuzwus@q-gV~JKJKL zoT&LuXhP#lCKG4hB*Z=LeRb=>#uV?p#IPHpp$^@f4B|>Xd944Qz=vPdJI`P19^gtG_ir2edDlt{4d zKn6B)-}|GsalYRNB15IX!9${OU!?;6Ry5 z-Q8b4e?|b>k#FQi$R`Pvr(-n^FrHt|QpbBYQl|6;bu7T9cwEv6&s_C?b&p7twY6n5 zHHiRumZ3amo%g=teIMsvO{U<8KUOC!j=&b+B_Ruqj5G&Kqy-NNLiu3IMmk58%WZcI z{_K6SL5x3PSi-GPCTv)ys938~>sbqcrBR5-^;_@!n3oWrL68x5c z7d=4^t!o=T9oCaavW&Ljk>IK$U-;Vc@Fp_$Kb{jB!JAeF`2Vsn3&mpRLz^A_x-l@aQ#!3Kk zN&-T-$s!SH(|u7<(P9x$4vFdN0cvWoHmd~>eJ%}nw!65v zA(4^vfak8Pt=USHOuGk34UpE=^Ir1s5a8kt*rU?7+P2b8h1Gq{dTZ{gy6b?Uy_%!| z#`eKXRn~Cx_P%^_^kvj|>f3Pf#R(s7g=_PASd5Tk? z9e_~g37i?AS0<$RT*krb+VT_4T0j54LdE}))Iy{34gg>?DQ0-|r%&$_5~M)ENz@}V zU6En;?4oMQ26!BDj~>wq>DloT$851b1l#z`Xb@Mi-EjnY z@CGw3wG#V<$Dq;mBc3-8vHE&rq{tk^egJgO4x6kcYLm6~i(&vMUji$Qfo|3T1P;Uj z0WydoP-_r`3WsWvDRWpjF0?u7f6PiulD^R9XmY|aF*&62q9o=>mGdZ3^X9`B2?kn; z>iWIGOGj&Io*&GYnlVi`SzH}DwC2uVTBvF~lSiXM(DHywj37w(u2-0+c=171S_gbt z-&_+U5K9Nj3cn(G<>$}Wk`xGerr~nn$M(wGBPshJ$OGgUoh2_j`<}3H?X)NGZ*Mli zxp)N95I{$^LnU9!p^Eq$^tx|_9+WlGv6X^nK5{eqJJa>3fw*9tDI9K~%=&>>A_Xl5Rn&Tfok9x=q4YK5 zxsMqa7k3U>-lL)-EIly$DFih-{pWXtbRwK_O-S)zsBpV1?*@R>3_*7f=#5;U`{%Dy2=@zW7wx^JgfZ(x(h32egdU`rBtcV7_qh!$t z&+$o zKT3p+%D@pg>Y@QwW)1SWuYG|_CdX|jr40PwdVxt!L!@nP) zL!dy?1QY^TG&xc(&W>Eay8+ds?()>?&(2H=kSyblkB_m4HU7^V%Q^Q7uDpZkUfruJ z6g+ai!j6TxA|EdaZRNk8(Eg^P%fSuHt*P1=LC55^;wDW!EiJ9?xc%Eeu-MuyLBy^* z-AnuXO@Ul4pK5E|nOMK(w072cWfmp}{x_3pWgG%^2;f&TA`~k<#cXTa9fZgctLs5Z z;)&s3yA0-TeQ}3m0#?uiqrxXvF6k(sp!50s$;wqEq@^z7V*WVhnawHWribkn81}Y5MU&)kn6Z4`ko2r%U zrdGF2)YVkJy-Zn*vfX!@@BSZS5sHz?K=ps#c8e06$;0se$;$=erW!|24@nUd+&`FwE4!z}`$L>$`r>^lxGj*!g-49NGk8mWuDm!K zX&zvr%AfMo(@ljqK{k;k;gf#_KIP*HnZlu49r+XlE80~Ytp26c>c1{OX1@-LlzYo1}5fxJ;`;+HSoH}}H3j-t4Xq<^_Ut{-8)HIz_Y>Gjfy`{0Tdd$Lm{aQetX$k~A2 z1Af`{^fI}pw_XgnT&FHSH__zrnb2*|79hVabaLwL@ZGO%Yh}5?=)b2Do=xzlUmz0~ z&l3X5rI12BP*6a056Q%npTTrQ-}XQ}F*G6qpppT=+Z!k{5C_aut=sb7qaR$c{;OXT zTI7(g{`&iLAUk*siQ9XBe>Wg}3OiB4b%a^n)BJh#g}tXyz#4fLY6B5oY7%+oZ^}{H zv>KT~*9`ZM$JDl;D-{NmKf?MXCvT~w7W2%3HT-5&gOG9C+(D(A82yCm{9-r@?#K~V z%cx&%*ZSeY?-M0Pg_pb})#`SW>vQnEwYhjK%%&Uaw+Nce8(Am z1B!~@yO~_dVV0R0>OnTcgu+!@S;om^cgU+!eDV}VHii>ZFt%FP)XwQ?wm)v}r06h1 z@5bEt{oKdRqC);sIo;u@(e-|!rZ9@f)8D!Fek3#LQ%+Q`Sa#lFe&ka0zjA7OZBV}f zO07~DnP6^S)?YX7zxq&*U}o1%1Y8GYWY+$K5OhJ)MpBM{k1ywtj- z=^(oL@h1RG?B`5zjSr%7Y;@L-IM*Fc<0?#vq}0BL>e4+XPXsfo;f-32)S;JJ$}l*}Gatr1Mp)JpY9E?{G{!A_&lpg$a#u9#@HDoe440w0QoJ}J}hA0>>c&bOwj+bPr~pP@c_N2Yx7 ziSlBIQ;v-i3EP%sVJ_U%x{4(lx)(V!%ed((dq2PUH@O9M+pwJ%zDDhhSRD4AL+UO^)U{F}qA0L%CTV;iQz(PIbdnT}H(vh-ePFjW*rHb~r+zUesGzQ)=rd#kof@O!D^R{k zFQ0s+ej|O}sVCXvwQ+3>p^L^>rkRL7>u5^M#~r&CW`zukQ*V}=PTbvfP-K7ScZ&(X4?yi9 zD{%`R$^*+~fId+X|7DDHew{~?T;Z5}u2K(}J{RN3!`MpL%vZP*IZ@@R$M`Hf%nXj% z8PnA2NA!03wKuuf`3}ggjjCdz{@VNjQ=#bEDX;6a zLdAJ3W`Xj9_NVxF*&$?fQd!c`ks^LfIVeWSeyA@4Zm|BeUfa5)Fx)sA6X$M&jq{T6k7BHXTk7ehX_JVy=r z&abd(uBO#GHG&EzRk-Svrp`aN2m0A1Tg-!44)o6iM*OsMX6JAEDd~%MYpZmhU(mS+SP6)C zHZ?QxYZS12{;`zqksWw~J0CY)?>^xZ8L|`?_49#Aoln19^+1=}TH5XK7a}(tHlERX zel($y%riE_rZIzMStHSW0xP{vnfiIA(k~}>P3|b9q;v#6ii#uo2IqdVw1TI&*N4kE zPV`F+`Z&0gIB_a528Kap;VwNEQA_B%`(vnV1f7!9vg0*;3Df@-{YSIYglogqr4U_QKe@k^G&=o#t>U9lb($-YYchUsp#!1M zd37wcpPEL~f3N@^2lWGk)qRz(j;G#Ag3peF6^fqkll7L^3N^K!R1XmHP>S!i4x7&)#TAEy_gN= zD{yhP2|qZp@gZ6Tw`{Czm(%96V^I{*judl3hul!t&(~b~5jUGsANUH9uQ_$o?wF!M z;29iya;YOUMY>n@y$n2GjsAe7=|;sy@P_*GuESI=wff=&FhM$4AfL?cHOqK1Inv^yCSp&IGMYf~3ko zYgXr9^pbBXeC;OM@1lZR72wzJ>n9=?CmgTd>o6|V*78zlZ{1j<$Tc%x& zZ_08rPn~oof!V7Mp1|gi`_eZ7$PYT|P z&5`iM2wm?wZ<5aoJ%NZbgN8|%LEOn%tyMguyF-*RuHHPu9}{J!y5F5mq#SNJ-Oa`6 zszIwrPL?cAmF#_oWFC`g`B^Zwzu%OY_{gPVE2^Lw-Tn1f4i9%w?}g*EGzz|G$~%gc-BZC!IJao!*Rit$X2V~**;v8JBk%3*14 zUX|RA%_1TM*te2oPY;r~M5YV{xWGO0l~KCL@Nv}D7w7f}p<5yyUepXLGO@nUx)Mc#Q?FZZeF6<#U@nObrY{j>RUznqTpPhk+uE{~wp#LaU8(KW+M{Q+;I0Q?Y z$8>!^lFZdK{+w{mL?~p;`r%2vS>SEkJls10;e=xYvWnl|Gr15(_f)=W8_rKZ6Fyv$ z@1NrJGdGox58~&VgNvgCm60c?-H9pIv*jiBzBM+E6&i@k@FCu$YRg`3A>*ctiCiM2 z!_~sQy-ATdhp=>J2fJ6;CLdNV4TPB>7@hBYd;ZyZXkv%K(P1l>I(bH`IZ=u8!M?kl z-FUK=`ctLW^}Ig=OR z6cH-!#_rbCZ|d^MCBpTYKh|-;B;Ehs&rrCfCVC0=hnx+i?0)|F3&V%~7q5Ohe%}c4 zv1T-XQufJ}p6AotF8RSE*f<+r=8f1!)0$=_>j-&>A8xRFLbSsxDF;fr>AY_ zVc_#(&r_SaE>kj2si1Z30JY~tB0Aw}o7>*wYFC0(FNJbjU*j8G#dkT(7r*Oxm*KmP zq_2`!)zHNn?)ehw9ULT8_O)WvGCxIADmnkQ*fi=|$ZF*5OI}2&`WAPDfqST_u}@IR zcX#b2ejQwvyjROArIwc%zC@xvzEeKyD}&)7Zn>Vo_qb^#_#H1d3+(K*Txt5kBW@+; z=?vqcqENEhP*R#DROf0iJR9`iXOqD&S_Xf%G;uP~&+uMS^?pD$O!7)noaBe`ghqAN zjJIPo*>ZE<@$o73eaSds5x2p}?f$=eJN$9BoPRKfpImrDKX&}Z0y7?ZVf~>HoS>8W zP<9f`upwg1v zi}6#wB|%>HAJ2Rk+ctt?dc)Iao^JJ!%>O=t`Y>2M$51KBQlcvokvdm>HD^$;z1ZK| zQX;)h&Fc%>rs^KFr82N4Y*T}4<^!Gt1^E!X*%|Xj6iBw^4rZBgoDG$YE~>(rhx9W}XFL!L%ES z9}LSIr$J&ylhfj4&w5Oc;dXy5TqQuuM7o`O3zfW*&ug1pUmT_i)eNlnaYU{W-Ay;q zwsa=_^`YpntSpoHt6H_^gB^^7tUdFjsRf$45KBiRZ4`=>#%T`@#>Liykvu%zM1pVj zdGw0Wwl9(~QRu&gDqbXuiH|i!aGCeJ_2{)^-cQ0)u4fX(6E98|IX-dv?PwuY@&-JP zl}8W?Yh$&oz^$A3vhlC_Dwk_6bXN_Zgt6fey;)ybO>g;3M3KJn?xbvx|JBgKq-qv^ zhB9*G?T~L<`=y%}cEz={eYQa(k)2yKZKJ!~X&%{#TryS@*DwD4-Mc)8?<~m0u0mFZ zGT*N|a$S6xokd~12{}(KGl}gHMuCsPW6NkrQw9m{P3o(QUT$5y=^N@SV3p#PIn?{f zins)idISH!YaaVYyC|JE|G8~p$gQiY_lZ;&btW{Hl>a}@T)_qGQB749p;@aytdpi_ zcX7aP2W_H#P*DPJK5SOW8P^Rop*y6c6Pq(W2B zf5A@!*~9`I(*{Zf4J&Gd?iIL^kHLFMTeFUPX)vTDz#M3EAs=lH+GDDdZS|XKJAP5xw3@Ruk@znTQ&3v+#V**(S_Qs*uk@q1Y;IjDKeM1 zlcZz}ZAllX@{p3{VtyhRt%o#uF?P!Bg5%GAI%Z*t?f$#rC*M~Wtwu?_ESK#a&YC}v zXTQK0JNvRy~3I{qkaQ^kHvNR~+IWtyo< zYol06%?n=L9P#?Z*QV&my{6zkJ)-aWtY@F8Lsc|JobOlies)_+^`87r9`BB{D7(J5-M^{5LPsRD zy`%M?4&r~RVE@-_XyHpsC`9k^1Ue~ z(iOT@ErZQjs45v=2RhJ*HKtJg)ZQk=)7mNj@c+>D7Eo2TTh}m%f{&Dlbg4*(AkrnR zq)2ycO1e8#q@+|jRS=NwZYgQ$?vgGksef&s^Pcyd=ly=hkg;{(=HB;xUF%wFuDRw! z)7|{6#$eWI>(JIbpNk*3M%3q;Ab9Mgmz_}_wGSP8fW53Y$XX$zOps2ji8D5L{+KcD z_u?*dPw7rQf=ilQcToD8(!`JWBF+#wd~+ekk?E5XWu>8mGpk93FYLfCN<{hrzWu=sVSKlSt>=Vq@Yc z2Yio@Fx}k=7-}I_zR{z=#r9BDDo3}aDWM~N>VNv{|BFp(u15y69&QW&m_uYKGg{Z| zN?tS>}yR8U4V~beVcCs*J5FG@-TnZPWK|-?(#cMw5{E$vG2_8K=S-+5Nr* z!FL702qi4n^8)%da`ol?CPYG~o1=qUu$E_OTbyTZjdy{&=fP`iEsH$Gsm|wGFMck* z7JYh`(Y|}@)2zBo*5aeI!c$RHqjdj*w86$#jND2}eCeFV2nWC^SJnlXoO^?U05;&# zQhDK+m<&i1ZZV5UClTc%4huQ<=y(T})nA_lGhYv+k2~m@5@9EKL|y5Td06nMm(X#G zNk=G}s+e6sbtLoXa;R2x_xD^QcG~D#;zt0J;EaOg$zn~JCA+llxVd(2=l2O;Z|h5X zt55OMqi@za>}(R1SFIs)2aI}^o=oQTc3(>XvsvU@6EVpqgp;^=6x8)N?mjuJ1xot+ z_VP8X1v#}NR)$5da?^SqV@kigkr6&I9JwP>Rynl)BAkJ9yY#5oH@^{s7qV}yZyG31 z(FvBq!myKYLi_MiRClID9DZCY`(~P`;&$9{KNNoOM!yR14Vr?UqMtPc z@X}3R3JHt&91U$@Tpy3=T%pVE?{2SFGNV;7|2VeQY!0>arYh1YHzpN_w2B8QAzS@Iu zb>0V=2e~KK+f+R)7H{1=>f?m5L(F!a)edefL9s*c;Ogf3WFRVki}Ge;zW`adB_pPC z^~u)PP^vwv8rQ9$x2mN>ipi6zJzv!+%708A8WrvbIag!jDrv|W2U|q$@(a7r( z4_pwYbn_16M@gfaO07fPB@M_AP!YYN@*Y<-&I`R4_=%^gpR+akj6c68aSXjGfy@4;U z8Wk+T8}0roECP6zCI^_NTY1tKRi7g>8Sb7b|C}8VBg|VRApQF05uUlGF;nW!s7a)Vv{3y{bR{e~syhFyK)g*=V!I!2xb>4NOeA;qz>5|#%_FQp zvjfj@gl$Q5I|Dkv5PsbY2-lpjgBE$A?_3;r`x**j%lrmDgqjZ%^6iKPsHBAqGM=o@ zK1l|!Ayk+UiP-GrSPOL&zB5tA@XL4i&(u)SN8ZfzG=H``(i8KrgwIv1Y3V+?*5QT^ zvEP?$+vjKcYVWp6l0FxqjhUd}&YDb+Nu!*)7?it|!(*MH_r;%TZ$^Q62q|w!wuul&71@c5+|L#0IW?0hGsj2%SVQDyXP(Ya zzF8xTYBF>bvD)Kn8oerbY2%2c!b*kgmSuVJ<0ey#8Aa7<0t0fT@3SHlz>v(6U}S3p z&f78*Ab~Ml`TxVf{JMVMjFkV#H>Ct1jrY$&KOmWN;VetXuaG>)FQIpnhmZF^J((t@ zQrNb|7A71Wd$wUDTN9?%*18MHAA0%8&e>JQMBU^`O%cdIH}1aIo~Et{UBW~dR@VCP zkOfn8O{=%|*b@Q$Q~&Utf1716FE!!`w#q)xVqw|ELf=z~IwfJ|W(BNbBqfhMI{e44@w^1bn_5}`dTE(e zF6IYpKtG2G%kuf=+Vj>aTI<`I4V~5MU4YX$_lMJY+L|HNdei3F?yxuhHBJ_Kt>1N5 zp)r#Jd-j8MfJ&H3TPtB)#-1i&x?$BQ?@=c@`Jc)K6jV+z9j0wCiIYQ!;ICi0NU{JldFO0P>f@ifx~^-|-?+=yGvcPIEhJ2o^jg|pG_WV_ zQx)S3>`7>+xqjl@jQiBTv;ZY)GNs$H-<0^sAI}jvLfEnBF@xmog%V3B^!rGb@Xd;tf8-rvE)WAT?X1o$8 zTaK63-b^_dzCEs?wg{(>DjcOEiFGH0??nR#W}rb^CuqLVyDoELX@5`Cctj<|f+3%Z za`aipvAFM5b%|i4D!8~rl3B3_aJv9ra$8M{iRE{(ChGYIdq*^InL*(I=k(X=RMr7f zKoeMX1)90yQc|hP$=9PnwK~rG{P*V}^9jxjxPP1Dy4U;MPZ=kXy&9_10FLaB%BT4A zBciA^iFh(4@-0;_9hF8bb@cw-xB3#ga zViTuk>*$mOl+%G6^Wujyn6CjLc?V2pOVPsB|G5|1<=xT>x28Nw%)P)^XkhgYA78p| ze)sr;NgyS$#$nn9 zNzBfU9dw7~^=pCg7!6Xx0U#F~&6HmQJe=sOq6nn2^D~O;37i&$;N4o2V) z%636Y61`QC{eDsSR^&Xb6UWZr)(16!C)fRKdN)PasH*KRuIyBDlc!n z`y2dF3>sd(Isk7g&;w2d%2PJVYaJ&18z0U;rpzzD> z2IROwZo7>@O&ia36FiCA^x1YmEqEV1fc8Nc8tDOD1d`iamZK;yhs>9N$h+)MW<3im zXF3j!h|9ATVc-XR06AOq*5B}tNbc!~t_KSy5vvg>Wzi0!2U-vlU4&&f-@%lBwPDkFAM~Ta3nfTC1JjZl zoEuF7s%N6 zK|=i|&;IE-l7%e`{-L$HGmWPIA_@Nc`6On_yLm{zZ1nAw%pX~>qsSPlj2?YWIOO@aN+{=`d(eKGBGVAxl9`XE!4==6v35%`Yc=FEK3)r z>LgP?oAxHl^~ijF2DYM)KqLAwtW_}fyiG*JVcZevOp*VO&g!w#>W3e(jry~{*KKCO z=)`j8V7x&+7dcQ65zz#r0bmRU!!UL`vm!uS9_I|tRN`PK#@Zwm`}@idk>pSqkU>E@ z4kKq#y)RBo0f)d)F3-JMu@tQZjw$xFn+OB~ZM_=;LSiC0Yt4?R_vPu#K(VO;Fvf`o zlb?Tn22PqfHi`Zq?py?}MPQ^U0xUcC+GI@DicdOiO#do!<_AIb{fU~w-%lbCISRzc z#8mB0n&KBCiO3$_{s4RzAl_?$#Q-nwm`Eo!I@f zg+Hq)a3-B8ui~|uuA3itqHx|Mm64G_Yp^co0P$zZ@@{}oU?>9EnE{|r&R1{-L$cVK z4}e+p;lnL$RwB*Zvi1`s%@M|7k(Ufie%R4A2LV_AXN~Bjrd{ek`E#oRmF@y}6=oua z25zz}I`V0iddKK!K&}d6=b%^c$~g2|D_^`QD(D;QJnQ@y2XP$CyKG_OA{|?SgNX|x z;MCOAz7S`?tM0b?$oj!Uup0sVgRr>SNevK|n70m#23P z%yfWEe*{nw7Y^JD$1G8>DEJ~l@fzu}fON$H;rPz2 z37jco1uc7!cfB}n6HZQPh>Zcg_J?LaKFQCFqO_LPLLSWON^C+JmGAgMZT;=<*wZ z&ks^b9vrx$K|{Gg2uXv6lQ>S;M+m8C4|3)LK>Eh+F$JZ5Aa26(CIUnKD<4t*XDR$E z{@F~^jtJv$HgWsSi|CNrRn3V0L<}UE6(1|E2Y_>cPMmrmktQ61eT@8n2B=~KlF#5 z;11YIxYGk&E#+rH?I3Uj-MsV&F8NIW?WR%9H#C3y3Wz}|N}RPTKGrNNspObIK0y{7 zKiwZ}=FJ~?seB1|p+1uteeZv`09>2mQPqlil!zxG(a>itcdfHAii@qz{$MKA@~4rx zZq01B^E59C`UKpqZKbYMn}6e$I-Rgk!JPs*!{oFcDi-hVMUE;-wmjYUKXA;nzXaR&d+n?9Etv;cT%hb<;6Uc=-|7#bH(|KE- z?_FIRYngxI!T){>9Qg49pA-#7c#xE2V=#zA9y_C(ht8oHL+0PR5?djpDKb{q;F|{U zGCl81o^e@Ud*K)>X2NZ=!NJbS`G%;q`FVN8NbS0`oA5*z&6FrH>A>z>8ildED$!`A z&$Ih3i3F7D7n5N(2+7%iQ`PeFiB$vws^Cc>VXCEA;G=j~Y_5o6T;qCx?sO{Vjgd8J zlrX6sOZaUM!PP;oYxpbclM}fv)#a3_A*4xk{!;r;A+k``|NZe&*1;?-47y854T9Yj z;Y*DytG^HHe=q((^d!~K>|d>^;~?(?X(2et_>sQ5#>TmSM$F$Ur*9S=4+~cTV=sMf0%8mYnX7se6KJCZ`?av@g8wg3-{tzYyKH z65)7l*OW?o_=)o)#%lmc3kW_WP1StrH_%p*9}f6O!KW-8=m+4}gBgdZgze0y>nOmO ziL0M!PQOKmUi#W${$Ns={`KO!o=P1;@~^DM$3Mp2Cr)DT?anFw!csywV>l_c{J*Jx zC;*>^9M2Q`kdOzBZ6bg$Mq3{4F#oHIgg~q$k59a!z5~1A&3&&Q$H?Z1Z9|t`c1Am_ z5ZR;$67ghh*_&%CEwCedy`VG&Hd6V8 zau;A6K(_}MbW4s45^)-&*DPvt^k-PD~Tbb#I@t|dJUwMZ{i0;4)}^R>PvMcI>{LNtX73Zz3r z#r>i~Ur5(y!V299;9-!Ibgc(KlpWKVGX&fm5J)P_4eipR!0iXpw4xpaz?fAhe{N2z!y7|Apsw!T^ZU6*2u6fZmfXuMrp=-5kvIvaBXp#E#6 z#GI90XYXuQI+7)EMoK&^nS_UO86L=D-i5x1=!fK9T&*>~R^=O4KIadc_m&|az)yF` zPYpp6K}Qh#-}~wB=wTPnZzYCs0>5=O@WX;=I1VFR{Vh|XuFlG`vn$YQC_hYaHFR~n z6T66E!u()%Nl+yuXk?&1{cY5hz=7=VPrgz;|C?PxoG^Lhz|YA3m4G=e{!LxFwwl$o z5`ZZH90LF!7+&^=!!If;7-!^xWb-Tjh7K_I;Dp&3K6XV(cgdgLuEyvFcISOkW$cYw zuRSZuD$bk47F{Xi921>7o}4uAbvZ?<{$}~?BSiw(D%YycK_sBKm}8=dCSmG+0_F3- zyMm9z9>2Yfca`Doolj3NqopXRB*ZtQ@qT=~Cmrk_f);%W@a*j6=^+qMhK8w~)_te}~+_p#MdXsaW49A#F>hE4B8gu4Q*!-3DrZsu8Px6tqZM!S3 zFu7578+X=~M*$0ooQ!tzJ)}|Xq1%JSbqrl4lW2O13NQusUtc)5j0}(72n{eWU)>R{ zq{2Uat@iGE01N5+#(4jmg^xTgleqeaR!-+C8ZDwwYBbJKx@zO1EOZ$6{tPr{SAs2=lxoI}NUHyB7+s zdJ`vY)>QC@%eU_z&V9inakVr_9$Q*>sr^s2m_M&6aDt=}0a=^V*V)m84jd)Ix7B{9 zhLAt@%biv(k@%|(`=X{YO4!DF^Uz!BafcNLNB)m?rYLXg#OUr$kMm|M9>ikZGp(+d z0p(?T{mCfRHSZ$})Fz*BETNxSRmbS%TFGAsWHh|D{A)}ly*uQ=2U5nzYlmv%V-wi=uNbvFlbG^BldIQp3{0(zb{i#1(zMYQ|B7h20RZR$ob*AF<$GdbCHo`w!yHLTGj(KkwudOCK>=sa~HLLF{xvoLy(E=KMb z8|O$*N7c9+w^-fc19fqg|`^{RSQYJ^uuQ$G^4#h`p|8zR3FkqwZ?Fmg9f96~e zcO=YvplSS4YuaYf!8lHPm?80+ZQGfrVUnmrM3K^jh$ObJqBT?7BL9cag>5b+b0x9I z+8$|@)341}Em!>PeLgle!17OgbT4&c{r@~<9fn8FD4|^?w*pBc-Eu-~DJsMSJCf90 z*h~rvzK^XGnT9y-rVfP)luxwnt=)-{x6P=z^sM}-B&|JJ%qD!IiJ%X?rJ)njRg$hF zVI}{{H=x{IV}#hmJ-K#fNk&`M+}DoqHZMumye8G7Hx;`{?qO8PjS42X>xUP+O{YS6 z6g^Z6%N|T*>bew*EjNTSqN{8*2B?f}CQeK%!-K}StdrkQY}QiM%zQ7d_PP=JFGbxy z^7_bcPc+>hT;BI}wp6^=yx#_@h^oVWuCCeKOPs~+;-r3G-4{z@W7)eJWjxN5U9v_A zIA)0~;xku&X-WlmU~rYs2e($2rvH*y;Hmn>tF1$IMPE2zBp~^SND4 z4a>OI$u$Z2tTRR3oSlrCi|?urw#&nv?v#~ER=B%S;1^q+IU5N1(yO+TQ0u^Msw*#g zrQbFCx^U}4crcvNCq%{Rt~`rVA>7W*nRz^t8eNhGA_~`v{}Xq@1hU{+P;gJS!@3YC zs||fZE>FB=q~aA=ziqaVVwY)^RZ!!Rg&u3{ARp<`EVp5K6%p0?1?=Uza}*^vwcw^Zz7f<%)h{t zrgn6wja=`XnneQd(USQx5g&bf$@973J#*uimep}gv?eq$_0G~<4h+b|i@x z3JY_-^=3zTZ)v`pX^XD1xZYAR->qrr-$)Qqq^=S}%2yn#uWR70(s~DPmOpo}WyYn9 zy~Ap=xZ9*Ed2GlZHE~>QUGXI>B7vHrPKWCAsbv)(q0{FCC-RuMN$Na5?cV6+33A z3ytpfLx=XWgEACIdY)20 zbTyPBE6*`+CJJ@v{dPs3VU<^XC_!hMzVsFG#n(pencS7P+!jg~I;YO(FOSkvt44`h zvFbXA8yuE|Br9`6dW#N@FE*}VXgG89ZXRO0PFZ-|1Lzu%DUEyHD5}{}`@NS}AeZ`PUG9@8M)>Cwi##`z{g10& zynZ{pO`~vL5d69N&VPG8B3&wMqx|#dH72VO%(=&QFW;q1`*Q{4*Z=#oksFYbk{)l` z_{cao47|(P4x*!6NsEcLTL_f_d&$vvIZA(i6At-#Wx#)|&F^?d`^(*v&J*GO%xuG- z)6)DVtWWW@$}B1S58jenhHv8R{@nV}NGYkQ$}M@)c{tlh=@0*%{K{=o{6CNF?{B=K zFtOx6bG}uFRuu}3hj7q>yL@RahLg;atGLW;F(0%iMlH^%-f2O7W|B%3v!ow>UyzmQ z%vehQ@!fLVgj*}WDg~uld80n>hDKQ>o=bK%Qnr5b`ml2O&4+uxskF{lFr+C=*o4hg z1K-7Z54ZidZuVas@E3T)bJptPD3gm7v?QgI#b+MU|8ZIGsT*K$*bO8z+`VQD3jtO1 z{WGGB3T-U*gzn}AyZK!n6n}#slanF6D>8M%aTA-%fV$8E=G-1Zhr23NqfM~vVd3sG z`g=1~TbpP6{n<$)g~-;#t=WJ94&LJC=>=25^NhF`yo6hEo2Z{S4GWH=mLrWHGCx}@ zvTeQ2PZY&l7>mv&Sv@9h=O3pOY^BXBr2e@g; zJyNE@Z#T~DO?pplPxy0lY=U-UPAJotu+9pkUFUx_vhdjKv~5+j#8`oD8m`D5$+TJ|9ML>D^JUuTbz%E6WTRYmsjX0(>VRGhaX8)dN{nyohBCMtGW!>Pii9$ zA;~cd+-tKEaXv9TGxD$Q?Tvr=7%QdqrGH`>TI~he=lzqPmNgkGKfc3987^-|FYTVO z!M+(rqRnv^@oasJ>Vc|%CUz?ZIVsw)Wl$1^%hi*GvO6y114r6qIk@qL0u|KXuceaT z2u-_d{*v2JpGsf2K-y=XC#I4`wu6ri!LPir%`QMr@%G3b@5D&)zjrH}39)4TtHQ7j zLloy~3K$)4H!_^8CEHJcq0!j;c)nX>;2{}1lFVKs}zJb|ob0{|} z$-LlerMH`jnv*WqEfcs~!^(&=Zcn(C^2s9T<&&w;BO4XR2=kI+NeO@Nx(oMi{HEXP68q1Orq>J-wOrQ|Oa*b;&07U;z+4Hl_hX`i6zX*RJ_hXtRRD zJ9`34tnBRmiJ6rZ4KWsIL+qZO^N@!{HmCS@F`M0xP452#i zp%x_qgEF^Nfs%%%FU(AIwf$Wi0$N1}^Z8uIZq_z|^{idXm%}B6#VoCC0dY*Nyw#=h zlgpvI4TpEu<5No{=gE^S5ba+=BD1swb1z%6*kovpcYbc&B)H&lbH*nMbGCh|aoLtj zOT1FYf;ycQs$U!%8)dq5I-t!kl%aVK{mAOC9bKijFfBycAyvL*1FOyf*dpC2MsWsO;WImLXT89n#%4_aY=r6h=n-bIJBUYf6|@H?p-w9hNG9Loe+d6nc>qdIgc*m;_v$T zp{x^I4}DCW4MkLAPK{Sve*MCXhC>&l#WL7+oB> zXxHz_Gfhm)3pjZa`t^vj6{phdbt`Enj;z*k{Wwutd$`}-zUpUGJ>AJ4wse`WzHC!1 z>N$G5}qnN0oY3 zJNrj_H|t~L+9}A;juGhj%so%T((1PxaE@#+cQ%sQa^Le5?^{kj6pYaJSQC*x(j6ua zbJ&!AKvmjo8!OjEVX}lVpflR-MfK~v(liK*prr#KoqvDfC_!eECPTG);1$s>4$VbO zLT3GovlD1cz6TL0$ktM&V%W_G>G$^h!2t9=Xr;rTBo>uWVtYjR{2P3EqvftRFvWWp zHRO>NVce-Jtx9`ZL41GwH0ilz8-la2prJ$f$RE9SdhIYvCHXu@Aj(QcAl@SM%i*ol zgH{wjdHk42-uCTOQcWJ58SSao>oI;D(&SeWwx{mG*<`8h#-w6)dG5WP>!o<KKr#FaBUEw+=&as9;Xnf;;`GK4{0sNXfNQtA_7=s!U2??vFmX> zsCcR(h}OzLYu>s%VQ+5=shBl5f}{}8GcrQ2lov$IfQ|IR%4*Z;oGT#|y0s6%QTX#@ zsnB^jtEf!#Y{}u_y9|Pf$`dgvGA#so6z5I{Md)Xq&a8W9*1;dIWW*sb54Z6q#+SvP zq;w^b`X9>{hEmCI*RH7qRG^N?+7?v^-q|0rv+MCr^)ptPGa^V2a7N#iz^2rVZCO0@ z%7tfp)J+Iy+G1Ji>2!}y@nriNEgj+b@!6j0MG^J)%39?G)CvnFl#FYXf?P}*ZfU9G z-5v*c%S#hGlGxLE;c$xjCeYG-li-%?nVsa;a;@a+U-^wOe|X>xYt_>r(%01EdMa<% z{p`M9#=+bjYyl)vxW;btlK1WpDT6$0<<2neC?Uty4+|s^a5r zUY`#qK^{ZJ`+^s z#`NeXe#giyP#>#q zhCzV$-3fv_!BxL5py=>)d##mTZ`<_Z*V3DN{4>0a)Ro=6^<&@av!65JI!E<5%|sln zQ4a>pPuhhfEKF>RS;VJkpCreqWi^FRe0+cCN%qrg%Rh+3vuwc205&JDGY2lq&i$3y z+;z{I0&ZCZk9_i!z^unumjIJXul=^xj3(6sW&g3UVGo)0#_3{lbeYfW|5;5n4LbCm zr_LC|o*XOAcwJS+XKrB;)P_IgnU$T5WRFBed5l%qQM0hHK!pmvc}q)6SX8;riM1^(17BnMcjW5`Da=wjNv4ZHv`OO&iTHg7Bf{H_S59nB}Px*^!&OZ73F5JYCBF!vz>`%i@NB zpzfw=-C^P8%yA6|f9TZ~!HXg*TF3_G(PQNb+7rykTp&YEQdpWaDBJp6=$CB0o{(sK zO?2bnh>{ZZdr7={pK&6s{_D1HMOjaJsmzaZQ?)(UzYbcIQ2*2*c#_nBc-YMV3Z<9I zQn8Ed8CM_ONHhuSD7v5Bc96DSdc2)=o%TtkiCn|39~b2~-hGqDlWe2?q)R!sJfsP} zLEdY5F5BFwO@x-DfQgyIfSNlLinsRKu7~)&dyN8f(XO~#AU2EQGEQ;fXBz3cro>yL zouvu%oh2o`o6{`WSRAcZPtjZXgifOh<-HHzf5c|#i!}E}t0Z#fq=g3^g6hf0T{s=) z7O{0k_1&)4Iwcscv%)wxyyJ1o+lepoN7Ifgy~D%w!Tu8w@F5U;IqDe4Is;>8@@ zWxLDvB&}vm--KQ&t@U4a1G5Q|`FfJ%8P4GXm7VU0lvCZ&xNZ_`lR`KRF zv`QEUy=8{<5NeZ#p#=_iubl}Mg~qZV4b?h+8ef6ahVi_E7Q@%Eg*E}^ukDtPZVLR? zUcFG+TN|B;em|B`>GWpn*J@yr}EqL{gh z#AHbZk@%wYbi-4KuYxb>?QmeDm(~@}^wDH23v9_d=zd;TQ>*MXsYA6OqQMNDfyRYd&<*%q zs4Y+5S5qrhq+KrhZ8Rg5EI;+Pj44=Dvwdszg2lWbpP~P6h!sZ+lnl>V5ryjX^z;oz z58ubF-s9)zCn0s<*#JGRIFL)a6(l}dWXyyjpAliV(25t_0t7C|W&n!$jTQPT2xKie z-1ZhfkAgwqi@xD8nW#A-s^iOY*8bdD6@?q)6Wgd=9mRVa$v5jKNS~BVuPLnPCp2ND zv2rxIe;wo;Oe9pR2m*rLlEzzgJa`QjT9;F5nU(sYJ9wl}Px_|8m+$AO}d+1ouw zw?Ln*zZ_1n)TEd4k{yMp1S>5fK7K`=i5Ga(C>~CrNxj+}+0XqBF%%(q!K0@&N7H0D ze=JJI;gE~v5L@Y#l;5@_wn6>SwKS%Pmp)TW zm6ZJ9X9M9C1*xDd6 z^noH4ZH__@iN;6H)olm7EISE^Dm8u3`2UhwAN+;t)C0LNoIEe8m9#@THYmR^cFM|< znDA61lczJePdTea`=sjU>@mO9|G{jTRM(*pOl@i>n6V>7mqb0}OYD!Ll^ z4-}_u0&UwQg&%BT?-s{d`}23d=q-OW4UfHJyPHF7u?#J9^hHWpKo)I+W~w+g{y-5%^uC`REz&o^LU-|rS_Jp99z#D z?<^KL5Q@Kk?|EQqLaS$SBO_*KY%R1Xm8I1sy`n;Yux?GLlkpU{g*jWgB>H^)TaM9A zYF;>_pbi0l_n;rvGFCB8l?226WiK}LR5;UerTCfb;|pVdma8BX(EmgMC(mh<^xj?~ zUikUL2gGXe2I(mQZ%rpAZnc?P#z&C_h{EH((^kr9XnRB}+_tDOHhOERN6y=u$7_Z& zqUVgE=SkPc_=X?;%13P%x<^{I?2wqknG(pe5>0MwOTS z`3#4=s}}24)FF!GFGWAwuiF~;(42M_vi=iue7NYmH959&N*fV0KW`|TF0NAaj6MM0RPNpzrt!U+T7;&#(rNbM9n{Bb(;tV~s7rd&vxk1kcRz>EcLFVqw1v^K^)Z#X(453IfyAc(K(I=|gsIl)YTHq=jCCnQfRK)Htt;D`J z+aE6tUW-4xsk0&%H{rA9`LwhwKW{%0xD93Q3%^{%wZ2J~bA8O_FH2}$jZLsg1u%0d z%eG@Zd>dzX&if6@$_gE$oZx6$e?R2N;hXa0Quu64y{#6Ucvq6_5ma0fLBBYb9rJ_3 z-s&W+G(TQeQb=D>Z!fqXCbzOba`UajNIJ^gVJOS@@}kc)t;@q+{3FC+bZG2eyoKM9 zfOa4;n#tQvOmuS3sE;cx`q2E{rI4S|yT{-esI^;|`L9o*-_ZDTb zHL~v0@qPDLc#O4JwY>&_3q(h`7fr5?VFcM@;!=&Rjw=(7w;gn_5BUphIvZOx2VjFMf;;$ zH!sJ@me1r>#QNvhnod&5kqrg7lWmJ$52=cEl$RHSrVR3QhFS>_Njxk&fIK(G0@8SD zGj+Uh;4S~4%t5)#4@y5Xtd>e|!5W=q^`DbA|1%h8_tuLZ#j)i^DQC@AwbK2AUo`G&g-Qr_Bw_ z%c4H|WF4I|_ORiHl3ALEKIFCd+2h35c0)g8;u~PL_2a~|vD%mb>BL2uEn)Zk`+PrYusBr;OW)z$l( zXQnppqYVBy3u^l2$wc)?;-oE^Z6$Ql z?u&;`NQbO)syk#PkXUuL(u(G+_GBa*O~`5sx3@gtKCU$Ji`kdr&D@c4%ep7~)So1^ zcB_v_l3$~WsTq5lZi@j0^0MbdAxe`n*S_IEn_v%$Pb4rIwUBt5xBJY&CNNynkU1`q z{Y$RnDWvBCzw!o#LKQD6>6)*lQbZcXp6n6RLCSWr>rSOW`7yL565!N5b-IyU*{+Yl zoexLnL-&;3zRtW`dPe%)X=X?x%{e*iy4`sPmk@VRYzHiblI@L8qow`&OTh zD)Z1!DMrU0ZyVc;NF0yfc%W323uLhxWrF2FLw+}}$fsm$9?{<)XZFYbXXn@8`^x^o zi8siRvc?3br%S@Z=j7zPeS1+!Q}b<0(Kf@^_Ny>Xqt2`fATLagP?LuC4-fl~thWH4 z8uo^E-qz+Fe$0SVYdzlEx;Zxh&^{X912z^xcsFz}ro^tSRyc;>2ebf2hoPFgxUg6h z>uUBYAhn1YnUxDBpvm?Y?(B#v6bY*9T|DX)bKvQDAhb7d^KG$_J-TW1FY<5eY`mS{ z^p>khwjS-DvY=kfl-+3|A@mk*>;8UdHQr5&d}S)LQKLh&)VA)Wd~JU6(O3(&hZ&9g zos$%FtM_$iPv~xs7sSh*WmH|x_CEgNkb_dk*V8y@pbD#|sE+1+WGpNqI*x}V3uQa@ zPHzaX73=t0S}N0=?Kd)46S{L1p`Mgykr#BCiH&WfF_wqyZa39QsKd+7TCmE4ZEl2v zgSUE6M2Eg-fZ(pSD#uZmvx8$8XWH|b`8h~*m-HpP-o%VEEiI19oz+)T5-v_0e`5Fs z9Z<;Dc7>I+$&(Oij6Xc~7S{0}R=C$h0GR8uA@@dY>*ESsBen%8Ds=!!G-X1|Uw&N4 zQ~1jn>*vQQcHX=L-6<(`D|R;CeAE&7Ax?YVVn|r^LVMXMXk!spR#Za z*Kgh^93orD_-GH12-{JgBkR=qyZKZf8qb=zV8P()5rHuwFYO) z4umdr2n-b8Cjmb7VH2g;iuQtMq}w(l$fNA4tC8tD{2Nv;C=>!nC^dc>Y_XBaxcD8z zkS>|#t<4Ko28YAblh4sxXWQEqtysrnQr=J`)Ct|i6EBLB(-vm%g`C%Cx-S2oG2g!F zbV2jki_rT$O?%_lxn(;(6~shGV@Owxc&SAc=bSm0C9LuiCNtyO9WA3+Cj{|_J+0m9 zkF!Cm>^(3ln0b|i{Y&?-Si#tkJC2bCjol-W<;DRafa1& zhcX;LRC3q77Lr7&oWegmtnYX8>gp(A3S!8-#ggl2BFo5U^$46d;fq8XW8H-$0AV{6 zT~!6+QSM&7bGB?S?E+%o8ld9tOZENAMH)R`q=rU;)_Rv$$8m6er$X<9LphVGni!-UR}qJIyvXPF|z%mdBh+ZEx4m-Sdc8OComWA?L;d>cpQg~wZwv3_8x`XP;uAKKcF@_%S7|-pzz9z5 zp3i|hQ=_{Lya~E*AjK^uA#v>zrc-bZpScs<@I(LQ(M4Bm{Wp8%Ur_){+Qh^pf2b8Y zws8-Q8DXy*nXcUT)dgE5^;|-8b8{q5UVf!cnhhtw7b$nFt`0WSsb9WaMS+SP0AwIe z3=WDzfge8M$Rl)-_3)mr-3bp}?>6=>w50Ti_4x;UGieNWCX;W@d`urUp^BlfVlQ(= zBo1d5O=J%Rby!FlAM^(UGv&8qp9E1MOouM^l8}%fNBxja76(IW5m9OSzw{X%(f&tL zXiv<@%4z~a`hs;tICS5z!0Q1y{C83{W|^LsM;O7NsPWBce58YcFxY@A0rEg-KmDkT zlM|pcT_4VEHmogA>g?>K*kBFv%z^#~GVTi|oHKtf$F3+HYrM%ZdulPRuCBkr(PD0O zXs4k|Hg}|jhCJdDjSZ}nBI!DOL!7kK1+-U0#EpCa*|2ZCMuY<156Fc9YTHXNA2$cH z2rbqlg3fIJtZJg7qQL1nJ2P_*W(C2&hTVG76%3&uys*rQjEvj5dHd*yFL{1`{_d3U`|u_jW1RSJcCbr|jEdIvaWnLQ z6{9XoYt8>VLU_2T-58OC3_lrsU8&WtjWp#vtA6xgM+`OeR)qo`Om8lr4oLH9L7Z6`2ge)CNvaaM@77!yGI%di$Ru$9A1EX z)pH>PF**>sa?}f7!~Ex*b2WRM?D4tx+WI=OvrybW`sOeE0LM!sGcVJ(!P~NmKfcn9 z$aUTMaXNS*jy%}kh?1EMG*Y&|UrBt9u@XtiXC*5kj-wJx$Z`d_g&6Yl_3D#_FLuLo zG)v!tsa6l)I&&Tf*GC!ynCb@3l5XJTl9``x3hhU2yA}ellAt!OWYH?yDgJmK0;0>$ zVV>5HNH=!xVn9K-8`tMpYzxL}<-xXhaUEJB4}6ZBs9fPbz;yAiXIqD;eKuy6FicI= z#`C8)+7ISkVh#@bz=!(6z`?Pvk1O)$-xmW_G&RRpP8;>#0gViX6a2;!zcNNgMI~A8 zBT6-4>`XmZ73x*OV83Vduy;6eb938!|1gnUrK>ygL_a^PU%)%L-&sJuf%m2Dg`y@< z#BglDZUCiXYHQKLrv99Zd)k#6X8l&+Ng2bzJPFPhDDAVO$$}oo{V{doaH7K;D?6;9 znahhKZI8`T0hp7AO@Q)DO|4C>{9>#sZWQK{^zbknRQ*1eF%)2I=kw6$K;(q)Vlxq`SM7hM`kHK$;={dpz%ZzW1E} zTkD&(kij*~JnU!hJFn}$NJ-5G{+#Y(y6c#~L8;cRjnY}SM4f*vrw9#XJSV)4*Ar}8 zNl$)CiaulU28oPqAo;`wvQ+v51O>(2gFS_86FqwfVk{pH?*v+V%#))w1>9E3SD-4| zKQYnG>a~T{%QugW78f610g`SJYrR0P1P);}aw#5CNobOll$2PEetQl4!TouGyFTd| zmj7dNX#BG5dy$&zU5g-L;~)Tg88l2Jf=C*6R{&tr~t!a}`~-P>^}=?`Sc86WMgfHX}sxmEdVRi;*J?_&)VWfeuk1{&oP-&%nL zo5rgyHB&FiyMSu>4a9q1>SF6|FLa>2P*$eZ(Euw0ItmPHT^${IFlmorO%%BhVQOWy zRC6$OX=ZOk2V*8RLYC}Hjp*;A+yAuR{GC=Dl*USJmG=pL~cFP9pcDLiF=HvuvSXEqkRa(ju z#iZ6~nvvKFdns8HMOsDEbR1F=&NF~920+BedIh}o2;(GIUpRi>fFt~}WwO_DI6FI= zRMg9(&ik%yCqu^XdFt~Rpr0nb!y?`WnHzT4GoT7zelB>zuJ|wDm0{5sYNL1G2^E@{ zKOP(7?ed@`{QP$|k>l74pb8Zt8!CvaTK$p(h_Swej!_VLU z8GBm*DHRB*9AK;zwP9MCtn00%9i$74RyahluswS83s9prTJ$?G>^@|+ey^Yrvrdqe zEG+c-v;4Z6u8WZ<;wY0=>h+lTnN; zEZ`eia<`bYt7AYHjR*Fkow_?i);esKYl*XzVZR%lBcIJD1hT}RU$FE#~!_|B+7 zXxfVgOACtyAQ#@d@g5C@w4Ah(Q=5kE{%UalBPv8%?2NP+E4+tPhy5n#^y?>2QiPlc z=_@}fH-DJbz~Q($czb*x)bC%tg$hX7fzIiM2A0JQI|wJuMX2{)wB{pO*^LX6A*fZN zP-Ch3#Q|Ouxu$b|?e1CGx(x4RGkkFQ{0TIC z*#oz(14xs-KuW)M_x^?xABXx|QtSTfIq6t?gd`1h*QN#P`^k@0nfvrzr)SJ)&*g$DE zlFK(9<^xeR5RTT_=J{EuVOLZEO7x&|jU_>r4oyYN@h0!20|BIMAXu9Ks#!Eph@6e9EKG9o9(|JulHc}sXpulq7GS`WZ%o90~o0h3A#+lFtuU* z)#=oSyw@TT1zytgH~zfaU;l*3p`>{s%&hNEle+46N32k`iH$8*wxeQ z5^rlykbmLVXPYvZ#Td{G>YX6=H-AquQFgB$@C#&3=mwKUz4vWx&N2swKZTVy^usS? zVk=SxadsLmX-FDEZ7xc4>0KuqfZS}SDe&z5*4-EO>!^=hGDI5J=;&Ja)MaAMk@am* zfOq*y)6HZ3(T~Uls+BFo+^9M?lr=j~Z96%bJscB!9zV`%EBe2n8_Svev>#)^9SIZD zf{+>H-B80++&3yPqPrZw`4#K@D=2)!Pl3DCm)v)P+=0-}5X}ECR8?~IJ{dVV7%&oa z=KxUjV{vF1Hdhx^8}P zjG(Ba@Lr=*SDL%9LCOMwR=exO2(Uj|F$2J?%oNwBv>DA>OxsBA z6#~SeyQ|C*5rwjhPrL_JwNaMmzYko7K)($1v@=CYz3?_vcNxmo6p@CrKCSd>eq}rS_8e!%kJY#acdc^)JWVOA(dD2_97< zZ(1%B2aO+8UM<&qj-CK?MkMtj6mKP}k(2`H%9HKSjUO z@jRFBT({cr;Cjt0>3gzkP;Ea?Tm=}<#rw;O|HT4$$$FK%>rf+tF2{BnyR6W#=j$A; zS`tqCD$z&rKc8OicPed(N#Z<|v`~7@2iOfBd$X~^iYAM0$|%g1$m6-U^MLR~SF7Y4 zwWM@E-Fg@*hFX*m>3B+^}_Ha+4hWd{O_4Tpdv!`jZRR-s<>NvD^K_B&io zVk_&jVP|B;A1sVJ-Vh$sPPO=+KtynA5ukcp+Do}IvoO1FwYfZYkRq3k`h)+);DB<( zsA)ROOE%+}$SM67+zoty=MCvCusgyO%n1EvKg36;b7IX{H*tMtYyQUPf_`kyo5CS?;rC3JXv*;M5fjV4XT+o>Q743DZ;{@xH;xf*AsJ(PE>9#*Lqa8OLV`=V0_du zGKW4TKZ97N6Rj>n1;z{0G z;}2P?Y0A0yY(%+TLIgltyrB=NAQf~kf-_vHA*8ePd6emFR>1Y42EH*K0%&(+;kB^G zA6b*T0^R|MRQ4+RA?Hco%jc}G1?Ta^LBhzc;@>6u8xM=1Ywnst;c4+F159=H6E|TZ zyjB20w-8RW!T`*yoSf8>lAEt`a+m@FCE2Vd_&|hG4(dU;erFhke=k4WldwiT-?TQP zEwFGeqo7_c`+=9lI==|X>|?dQ<}#x=-2 zXuLd@3pwRp>CTHHv?KUy$E>e>E6-NIN^p z=Rqu!9Db-M5{0LP#D??n<0e0k)4xCE?@&PDf5r~U2!g7gt+dmRe5W?f*&$*Tm4>o{{5DJp4hnv z{ETb`s942($g~F&V%tUN0>HYW zdrnq~5C|Guxzz;90hsS%YHYobn6K1%MX^EY22;u%Pujz zIm?RFL8J*M&p1ExO^DoyPz*d5bw8k_lyoiiKB@9d8~QpPHR0YeT8_|-v&1xgyB~gC z0GC;I`;ixG*4^80AKbWj`*!hl%+ItJ6fdz;`WV2g28qrm1INuirl7>*;%ojqx3M{DoQW7w%3*?(H)k zy2SS-ZJSoiiDJ&HStX(r#H@JNIhoJ+d27bpy%D5KXYhMGh`#3T6oXpktm9t^f}>4x zAyP7Ko0D_&qM8~_6J9JEad8rTqLw0}UR4b3_Q8*=oyd3hMoE)rXAmihBuT@Z$pZ#M zffzJ{%`qclXnYdf-t!E2t*9LQh36~4B^jIk7R^<8U zNiH>A^jmM2;B(0RbStJ@xv8Hb$TEpwwJ_$&g{H>I%n&`}&A_SQetw6HBz1SwvEi?L zq8ijMr7I%@X^#m>)^1OetTwED!!NsWb5P`d;MR0MT3^C~ai-kEbb)gQ|K~S&swl{g zkMr1c$Yx}(1@G;0O8tGNP)|hM-MG2-VanQpiBzXR@Fjx}CQ3-i(CuKHq{ABDJSPPc zSw#O5k1f^|Q;?mJH?K9JglpC4Opfde|4utZeDId~!;d;S`Lk&!^u)NP$5JNwm!hIb zUXT*4Fu$mBTYPXi|5D=?k<-S7;A}U_rTB>I~B^Bu|UNy)46`sodg;Xsp@KIj{cyuj>}b9(iPdD6=*`J#rKlksYX4 zP5knO21HMrp{VKRfg8-s$eqc>#6rID`4-9YGzLxLHJXx_UVv~%i@&e`y)(Mi@m;m- z%JN+BBcG9LUpx#CnEJ*GEYw zUwT{(>}MrAr?x#!KEZu@;wi&!aBz*(vKmSsBv6zEv*PXA3_W2Dwtv#17XhzVbNv2^ z#*F=TQ$u4IgLIEmY1KYjnqI_lncv~3=K5k?he{tEne88ai0iEt_KF{j4;~+`6H)_4 z0Y6BiTDWeO)8Xzf%w|^;N&h{+Iq{xmS8b8Tu5JpIekXYUC#Iz zZ1ZXyfBDN(5anKzC*X9okac_hDQlym*hKo;5PRS`p?DUDbh>fXA#zKkaH3-e@q%=@ zVg2DSRluzCSZwUP^jDF?nSC~I#LceTa%ti+s^n+W63Op|lf)>snl>s!rW+e&ylXZPiVh{$R8hW;LWPkQ2@#SLd;!R41GcYoIiI)nfJwt{H3 z)rJ^@gP6MJKq9uht&No1>_y<~0s$!EuHt7o43B0b6?~BtK{C$U?=Da&N4L?7CQ$i2 zct~I1t&TO68ArBi&o;g}vv?`YXj8aO^v!_Pd^gb>1zW7zs>(Px6QoH?GYhpWPUv%* zNWEA0oAmwrIy^Z~JZvB6Pa|lL567AZQw;!p@>WbCVh7!wPo!v1*>GA*tH=JBCbjBU zg79~ldNyRkcpTC4L`2At`JRN{M{^Z){}>`(nJ0$Yd4cz?C|Id0D%SNRDtb)FlSfs0 zyp29KI^5zH)Oo!!(8-riED@W$ycATuWN*4&`|U!;a>b}30iEdJw{$6~FU`_{NG(iE zE4&yuW6h~dboR%UqiU4P?%9_Ho5@7xH*b03X)?6vHJU5#PdJW8z8W}970 zOZFe@MM#Nae=Ba*wGt(^KN3I|)3n~CzQRW+lazAh#7NQqsTywWSPPG{*3BRd4`)Yi za>lvtm9>`=A%P_Tu>Wm~Q}vbn+4RkKGI@t=^_@QKON$kx%g(>83L0>-vk^jGlEVeU z=~sBYG-bTLFO(_v$CV`I7P;uWT}(sI*tdsM+)?=4huSk-sLn7A9ZTi%C^Z+d^8sE; z|F7ye>c!Sj^3wR&`Q~EX$FU0M4Il_;`X$owIki=w(2B_Bv=goC z84g(0gs^2JXUBvLCth#ui5mWP(F2L!{1$NE#C*G2aj1Fg(BXA?YHBj3qYK$SLNBW< zg{to~>o~pDNHo`&BccdWKh)Y!9T`7T>mQwVe%E0$b~yW%kcBj*ATp61_KqfB)=lKI-Xnw4KHlO*zFqa$BF^ZPKB} zCyu|caECfQQgx zsb9dSQD&t#QNATC5G~M9-r_BV!$KW)7=9RdX#!=$>#)A;4aE!Gq3|d`pCTqldf0HBS449N~|LZ(PlyIJ3yG>t7KHhIY$l^^p?0b*i zpaK7W_A%(_nF=|hzK8kaSMFu#NY{wY7t`bsjnNoXW7j-BU`j+jmPUEej?)_>W|NS-aOm8*ZWXYp_7kl07!g;TyXbN{qX$K@$6AF4o2g^@9JNm`S8d#8azcrukc(tj%=!lQs z-Sp-rp(KA=av=N4`*q6))S)$#%TC5gbm><{Liai9cpS=XQai?^7}cJWtiNy+MWvg6 zKlq(?pQRPtlR6tnX@kkX=%~@d@jRAh+-%CrFvWPY)K+JdTCX)+?5THcZO+%T(~<2I zahdG1t_|$y;FU31*l>bEtx0h%rv-9eJJ&_eQhm#>)bZaA{*n8l-;~LW_C8a^IuFsN zb>@>D*@B0WdbS(4@O}_oLsl!jWE-~5KM$w=lt0pY=zw7^sQP}Pxwe-FrfPL{VN>vw z+dL7YZ$|g9wzy`DW5b)xrns!zoSO3^dEX-{e~5tY2)R75n>x}u8!q zp8dLDU%JmWY`wIom=E8k;ECor>6omL7T^-lj=BTXf`TeS{hvjHK+u;7V zq_j(2^Gx^IM(VIX0cRppyZw$t*uw#Yx0g0zw(@?{vm?#7bCy<9dXAAll&QE@MI$1L z5^@9>1GCM2coYWad~Wy**iG&|B!30*q3x({&*$M}a=)UG51BC~E;@6ZI|^z!W0l-I z%!sgE&A5-T<<{38y{{2r2~{BDsnGSOGp&LscxAa{N8L-Gf}HIhqN7sm{bQEU7zpSp zyd17Y`nI$NG$Zqb2@NbNIaemg)_zu6WNACYsAP;bDtaL^3EHMaUy;KmA=BZ)O}XPc|0@a*mRF)_eEX6yA`ZLooF>|%u3Kx zm?z*-V!r=)iagJOaETB(QaD?bgM!Ebl2TbFpM z8@Mt!dGW9-P^NO2Z4WqdgJ+y8cDm0wq{I^tH{(3c$2`(P{!XD*l;ui(Q)?Fn%}e)R z-Rserx&wn#pPsrlzl812+?!QJ=qt@J>7*(1NQl#3v%A~$l!Eo}Q^2Z(B_?%3Y-{na z;j(iko$T@}=cD9H>oh)|+_v}0OFTG3Z3Kr)N1t4Nu02Zq`L4xtLY^!RrlpeaONERH zCDFZ^mcnWjvV#WXiNna_l5eH=^sOSUcY(7AY)!pevu|bl5h?(qYL?H*c-DMK*B>YD zE4TT_5;gV5O>5j4ps3a+N#nDios3vVwj7D4l?bSWK7-)b?>q;>g}I3as8FR?VNWy!`H8nR27Dlju%KZ(dtnBq#ZC^&Jxz6n!=xp zQ(&(?pYpZ1iII53nts{6#%IT5iETj?#NOj%cPYwL)%9oW$IEs7{U9kp zej3!(Pmhr6G_X{b{`Ipm@~sR7Pk5sWGeaH@6OJj}L`4Rz?L^eL@^EPUz|!sV`ODNR zCAsw8C7*q<%M!EWC#?N;itY~SrR2BCnhG||gyhYJm4{OD_-jyRe=jY$-y2cY1nHy# zVd?5-gID5V_sB}f@>Aobe?mea*!h!DT&?7f6^J%N3vFIrTgiQqXPT22*Ex1+vRZ*;5pF0c zzbwSr!a`Ye3OG*49$6R^(mTNBfqC(24<@9*+ zqWRu&&%-1Hv7T~BM4+!LN%AZz_oxE|c+@wof?KTkWbPS!KWKYR%h>a=av21hmRCK{ zQdm@Gzm<4SPSFRUc5KkDAYV~k{L@(6FSHZYdFhkvap?Cn`uq2+x`tAo^LalJdtjQG zzxPT(Bm4P5M$)8EY^vKwO;v%3tKSULF$ z^0CNmo{18lGjpRNz6agk)MV|1oUF#a zpTT4a;Vq%R-4*IdSYH&}Ttr2Y@z)?nZZ`C9<|BDlSA$Cy7f&eXkC-qRYV zXLpD=?Gh4`42-d#6zpghJe{D)x~Zwx{?hyVOLeC%W|rmMm0As?YMrvwwJ!-tYfH|G z9((zet55pBL=6~8eH|Z;Fj^@8EofP-Vj*uDBi&;+SQfNqb*lJ_&q99U^}eqR&h}7= zL=b1WLQ8sFOiM-hM@it^W`jpfwj$new((|Y^>E^xu#RNR?adM`Arh% zvdVk$A7;_U^8+wGMC;GbZ%1kT7*cW~Qx!bhe~|D>kDVLQ!Itb3=*q(Rf782yG88}eU`flaySgocp zR`ZaP!Jk*C=V3acwQZ4InKHPIgY?Fs7H#5sBv_b)@1<^q*gm!4C+AVm)= zf0q$lTjzMtUHhqHD>gUTc(Ri5yv6Q--J%n(MMDvsku zIXU3CAHiKuyQg5LPZZj_Pp4F}_AFcbXYBGH0PEl0z@wC6%NpAmm@?~a2_l|u(U%Oq z7Y+5TR(srP{K!N{w{OeN*%rIIZ0;lU@v(Fiui2du1%rXa?snTPNHX4R^g8DZtbdTJ8-$xJaxTlpRK)!>Wp6K0=R)s)gI&}BT|EY>8p#ezC(mUmC_ zOlj~#t4a9*echZYh|KR>-FtI$gVs7fyG9~d(s5Y%3wyluy%BQ*IT;}azS1u_JIe@F z^MiLdF_70rh@lH!v|U1Y~(A4*^grXiMYxVYc6pq^UZG!Pd&A&wXe&lA49I2_=P^ANF7(&DcW?5 z<)Uv((J{@_d}_=%Z~}%lUlY5>zdnPisLgsO+T-9inh_ij*6;+4M_1#*{F_85oybp^ zRFz*ju(+zwFM*kpvNnqEsx8PXw+m5);ES!?tPV9<4o!&GLhpKdooSfK6LQ2xB~sjt zAE3j(p8Z}ep`R7sDh{$xOTP>!x+G>xt+tRn#6&F%(@e!F&OxeaLuJ6ihwrIO#HO<3 z`Ac-uRg8G8;b&eR=@EpIAo_l2@5ZKY*B5pDhm*)18HfvOMFyMFJ6-x!DNofdeygQP z;)*6V?{kz*E)_F?VoXwPsK)%au{dF8Ml+w9;7hMC-q0H27mW#9TkD-K8SHNC{G;e9 z9^xfg-LLxa;lna2R(z7Gye^;z2LvoJV^$4Rim?YY(MIDQlpdZXh{y`zlIIhN^JfK@ z8s=8$zm0yJjSW*ZX2%tnLw|(t_`0~b7{_e;cLdLm=Xp5pWfE$$`rECw-f}ma!`|a} zscN4&4X1Zb_%8qBYu=;IO&*NcxW$EV<=zTzSo7|U`Gvfmhn+OE;GUVLsP(|yBj}FD zMeFqhhVvtv(Ay08Tx-}mr^q5=`DLN%x$1M5JD7u1%;SBh2E-0}Ix-1ek}gl}#}DV~ z#Y+;cnX>1=b6;t2DPof}E^*Z9?z7*SdyR>!F<0l_Z+NHL!&vFnnzHg%j~;^sRHhE=tU88+Z^v z@VaVMqGm>2!)DP>iRpyCKCP*SB)w(8ou;|KR*P;UI`8mE9*_E?IC3)m7AvJc z8^gd;h0%qSLXvbtTgjBZX%&nLwQA8uXB8#;UR~ZSTyi*cH#nJ>_AL(!wwtbIX(AO~ zLFvF|%!XA~gXX&Wje_uTBc7ojj=wTFkE_&N*=%c)CW%dpp6e)5xz8aFz;m8W$C;t> zvDcqE?g)x4xUFk)F(E6vyKT3U-_R3qQXHCR$H7hltE;LUXTpw13dun%Fwwz&pQz$~ z5*e21vOjl*X&&#PEbPSR?eAB&d2Odj&Wz-vzOjm9g3@9K!m!)|oWlJ&1mVI_N(h^zQDhOO)rZQ}0}#*PvFiJ-f~d4H`*jUy_ez z%L`uXqV9r)zQUf=WkxP>(AvS-n4r)%i}FFbTBRFSq3m&BloAK)h)i5p>)Ja7CX37Q zgjnROMLQ3(8lY?iNdzZP&7#?x8suLNkGwUZ?!Q=o|9Zf%lxh5YE@dU9AQ0?T1s@d{6a4{(u56?{bdO6_&%%_jH(Rc$}@4hj$CcZa*SwsLay<%^flY6W$ z5kgQm(3&c3?0GLciG#7NBR9eW`W|IgIkS*8Z3fGj7IkVTGD^50>$b8iayg)F_95{# z32%_pV)|Cr9zv5>;GMaI>r>lN7Y0%M33r#MWH6Rw&W|lD*V{4#U0ynUc{i6B|7POM z^g7nzJQpu52um4bw&$VUUT{mtM!)z#I^5X}HAMA3pB!XIlrIlP5QVTXrvf zJ38>FtG3j`Gt*Ba%bC=oqwQ1$N2cE<@3C(Jf)2U+Ry!!M8WGy9dAPN z5y|Np>=~hfsDhdw^F!!R^^_+-%cSjfwS)q$gOmN8>M^$Kqj@&*wRG;D>qk~b0Qs9eT$_1-^ z&1%;#p|#qAK)a+OY%&o*6}ff2etyN{W^n0*P1Cu) zV`&}9_k0~u00=$>jW2+L1BJ16J2Jn}c3uL2aAQqzib7QL8KO1FZy~p7v+;&jeTe3Q@wA4|z8<$`_3<^cib zWjA*+$#;^}o*zX|X7NDlOari6`}+>+gzv?F!wkPfSwODyX!N~pjz6OUEORmyspKE$ zB0}BS+3B|E9J_HQD}nl-1)HCOu?AAcbrJk?(}Wor8H#FZV_BX{y@_2)D$F2v^7iD! z109d5@xyH~dS+(fU-cxPbQ;Coet`S;y<)uJSUZ{FU%a{3NS|^Va>P@Bwi!(V@d53r zKQYBk{-sIRG1Qrc0%Icfe}1;(nhiMUG@CzlE6(e zauJWqDq1BUP+;Dcz~rXQgNUdluCWaP z96r&w;>h7Ate%zq=d$ACd+J^v6NhZUaik@WvR@%MK{-nprczhbKG7i=z(X48}TaVqJV zU#fsbj)2t72aBVeAd7>-yDs%~ob!Ew8;wEj@d0$oFhbj!K+Fi)A?Nkz*|Tlq?UE7g z`5_e@!}akJY$~Cc0a?M|?7YhRS;20Oj@)Gvc37ZT)x7S6x{mPpc#ZQ~L$w6grP!B- zhFgGa%|6?cr*B3r8L4qX17LNh#2Ehp8)^%`GZk$%Q~x?~T!bP7G`psl*w6>P$A|)3 zDut-K3Q0I#K8ZdcM!AglZS$a$1uxM)R|i@XsP6EC5Z^ME&f!JiB2WOxd$yI_T6+8d z@WyjX@zzG)KRrBIRjJd5?-SnVr$WE$FYO^zqgtS2?*h9JVC_PH`;HzfF((cc+J17% z19P-Ed-;5N;&~P2<>k+h07!V%uL)Gx>M&IP0lf~nCn?0WwB`h;D*0@e z4iK%ZHM=)ZJedj@%Uc2ZG>4ns=UuBq*%vU;eNaaT*b>t-K%ZboLDvC$E{qZ$0xCha z=rG(l6fL0~aOSQ*Kl_yf5zciXOfrVuK%(CR^u5sP0TB;-$;)HhyJI+sra^ z6NLT#=g(SRh>%+Xg}7xHBRCT-#WD+&jzyF#T=h=xrFu5(DYrFdxQq{j`rE*GXk2kX zNywo+S5yQ*H>K!d1Kw&G@NJ-^;d==Kcd)J$%q1E?!V8Z^z>LA4DHAsW1Q&o78vw}l z!Iwv4a9m?S*)Z@N^A89RWynwuk>rFL_Me#wDNkf%V4!JfW$+)AMyMXip9NfG)R_e^ zc)oXCd3j75m3t5{xg1=nq6{6suEwHF5$4^m{y^EdV1uwM1Ffb8kjGq`W~HaUMS{Hz zU}Dr452DWYxP5!uF3D|`0pz?I^0cZjFJDCCOT;->smaX5jP7dr{#gu>5Zz;B0F$7F zfb;P&DhfzU;y`iOSz4if_79`yqkT2_0!GqAF{$t5Sbke0`9~l|ZqD5=kT`ik(V?>F`!Th%iH!K-1u+;26 zmlZwTH9B5iSQxY}Gx=XX^X?1TM5#8V4Kb7R`AYbQoDp2B?|E^Ucl&WW;BLW4_ z?_ZO-WDpz~9j&OXJ;gkaNAf+H-JsQ>s{r-u3p;BG_Pw(W7}N{1e$;t*!8jCr*IxlM z6K=iwr1MCgmc>MQn9j)@F-jP7FTV~*KTi=jpo<9978o~VRaVu51OdcI5Qu|qs0Ffa z{9DZgPi17*SN~(N+wr;d8sAPOy+N(=lW+iV?e7z&`heFHD5o|%g zjBLY+*iAEySannL^Qf1%8z*-y&Vl5Y(a={VU?yEd15*gXYcA_0BlHXmS<^gJp*z57 zsyNeG1ZpVS-75{)O}brC%&JjJ=i>?d_7D^hYrA|t;~wCG+b$Q^(*_)!VKrlv;t`58 zNyM1=zka2CStH-K6^_2>(T~tqcZf*>Td?zLkIbsItwTfa`EAbI`M~tY{e3R9^7(;V z?`{{BWuSOnlAlq`DbNl3{WB$WxXuZb-|%4`Iry_cVph~tY$NCv0>h3Gq7O6xbBn<) z5j{utA-$ewghdED}Xg`{hH&d2ZHiva<2%^1wNw zi8AKqktk&jgO1yP4=Sy+q_+Z=Jlaq}QhX>ZJ4HNLf(o!*YNZyWC>cgwsFR~))KG$$ zC?QZVh@oev$2;G}@Yqeh-$LWy;5Y=PNGAZ<)j*3CxN~)}!0Qk_9_s^gCQnOC%bo#H z?u1d|nRH1mZ$Mfy0_5Y)4!qCHT9DH5Ji)MkjC$f8OGrrcvA#mx`u{#C6fKnJYk6N8 zs>P%~Wg@zB9dl;OC8S+^dk63LprV{XoUmd?2iuLCt!^}I%7&`l0Ex-Rb=cXN_nh=P z>C1-x8m(@OkboeiU#@Yhi<#V8pkebvLH>;pF9AmawrmM1)#YX{cTsIRr7oLU>-tKP z1Vk(b(@B9)|Eu29H|HSzL|nAx(BhG8w=0Cu_*Bu22T@VL(d&Z{gT^g>aMMo*jA^RG z#z70?_~W6;12pfXSz~3{E`;Aa5!O`RE&WEz2v3jC-d|3KqrUP*v*hdlh#|})`Qf%$ zw_kc(J~7jBs_+#%P*m3XxDsGhuR=TZt3AxnU4^UjXlVNFVY;q~~>NSJ54+jA_${$HjHb)1kuwY1jb%J$D*Hh_aIW7|Q7(ks}4 zPJCJx@P^9beMQCn-ZGJ|`ih1@3~DU0J&pz00=;D_S5!T}|NLzWH9yn68bET1S0V}L zh)x_O{q3jo7b+u%pkR4}2a$)SVyK!UMACFoyTjVE7XGN@E7rA0T3~1*ca{(KU;O#Y z{`1cQ{h$-W=R4iYJHT31`DQvm3yc{h{emW}C5SLUI<*g6XQipHU23(M1_bneL#ZOya+a3fgy6kGwS35ilyysLUkj@D}J!MsATK(qyHr}NZHv^o5 zo}aP%xd)aw;TwfpjSQrR3GW^0L*qOwO>fF=2BV6A8|>A%(6x{s>Qt|_yY*(|!t6%Z z7(P4mSt(;9!>Q)UAs=4dlv#XXcC12ILH{V`*; zViSCRe*PNad;iVRQQ!HmQ7U~d5J1u50U-<`neRY1AbERRjB;wEkO{ckADY-KJ)ur2QzS+FAW2_I1#%OnHa`h30LWcO$X8rQMhETw3Ub}e# z1qcaCydBU)bV+etQ*^uwn#@6cHow<8-Ya{SS!K=w;wZbf^V#@8;HEMM&t!w}0Gaxc zryYGOG*2K244W%vXGV0CwWWSoE^&67sNAWs*6=sHht487=fW!|eXk^VTW^*R?(6(E zkvjgy|ANGhv``>1+S&B}Zyl!yF%NltUG?`-fpu{UDLU(}IU*)Dr(ai(){UWMSnhyf zjPu*3FG{z6?JvMo)`KtOqr^v5uJ=SA-AxKuX6yPC=?j%uEDRbwTTP@W)eJ08^{ zXe+LtGRefb$qw@emm=(ZEJ73Wv3DUP_uZ=mC|mT-9U(`3bWtspo{d#Lekwso54KAl z;xO|bpv%x239La=7YYu5ogwr?Z-SV!qf7>rMyzyBfv$tqTF6Uw_UQ>;!+-#vYi1U14>|S8q>eJctp8R*E6L zF?K`$S!sj~#S|<1;nXS`Yx1}}{wf@HXm@^C1S#a#R&Uq?HFz(-k6{x@+1YVVVe9N0 z9%18b>yROMKK6oiKH2@wuRI>txn|#IDwLFE^cHrDeixW@wUgrEj#jmx8_t@Yab)jx zs*&Hv#vagr+wF61FCT zE6@YQykE7L@!4|;9~@n%KWlN*60v1R259S0d_U3FRyMO47$@^h9Y?O-!i#4#0IbaA z4}=tfalcQwhoCct>Zq9(G+2`RV9Q!&&g^$)^;i>P(Fdv~4CWgw^9(NQ7EdpraB!as zmJcLt#w`=n$jR1NaLM;T;(+fu*Vyx$^Zm1?-7E7n1D5lVCz&WZ=60<8m|?UneC_RX z{qz1hOW&o15CkYu{7VRFkt$Z{`fo0?grcM+mM7@P6em!yRHh2rihPZ8;qz)t3jtlm zKpD@I{mm2lx(WFv0C}wE5iJ_C4qdQ|ILBJ&tY25n;wiE4?yTVjiJ6Y4JGr zp<468MwV&9M4yuAMw#+umn!;B|8Xauzi~O(g%j^>d6n;$Rymu0NT%Lw+AM|^%G0k+ z5`*ZR_GBX0pj&>zLjJita@Q>}>`a``(tYN)n8C66jpgw^L;>21i8lyQ94KSPzWA}; zEAx;FTrgByQirq&2Hvbmy2mC*mxo|U#wFAghu?emg9qUyQXwb}W#Wa}^|JKKY|^L# zA@l*q)NdMFSdR9wF>7b%ZbUwhKQ9t^L6CDST*mr?W@lHEjtB4+RN7skzkRM|Q5Y5Q z{jYh2=V1mRHK#JERVPpe1Y||F2pc+EEsw4u2}eXJZP8{@fVwM$lVnjK17Q#GX#>L6_lutSr$&g==c< zM(eg~OJm_a_z{H?-s%KwH;SIxb8D_a8$YICLB2ovQps9f`ot$Li|w=v9XD&h=i;;L zDH?89CJoXbMy{0%v>9Zu5n4NnK)VBG3v)teFG1pSZ6QxDote6a>nHNENvKbU9gR#g z@MLl@K^^Y)_|c6)thR`@EUrpAU84(tt>iCBCRecx?PJ|{R-i0$sY^Znn*6_^G%9|h zU(5mCWF>>8MFmfydIj9b8sO9cIwGhP3X4Si!bzK zy64hMhF(@!oOqd$l_2kzzG$g%a8>Fr1(*0`KkAklt@`7nsI|G^M*3;$=r<#J^NW}8 z3x%DQ_U*T{ZI5Sj0N{ok7?wYs&VV+FiP4&+w4m8y1BoF%XV%bivosxab58_CJ69?s zjRiISy(^Qxd>_T%1u$%KUbbH9bOUS<=}w31+_OuL+=(JlH5lrvr(X6SmiHgWM9wdK z(W7cL<^z2C{ALx|BOS2Ec{fI(Qp?nCPSx4rROa=`AsVNt*guYFgZ9$dLivkY{_Z9} zLv|7HvjEBCZ@cNN~ z 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 J{yqH{{|Ao7d@KL} literal 0 HcmV?d00001 diff --git a/docs/tools/FAIR_tools/fairassist-search-filter.png b/docs/tools/FAIR_tools/fairassist-search-filter.png new file mode 100644 index 0000000000000000000000000000000000000000..aece2dde0b822232c056bcbb220f813dc1910fc9 GIT binary patch literal 74440 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 i Date: Wed, 17 Dec 2025 12:00:54 +0100 Subject: [PATCH 066/101] fixed links --- docs/commons/skg/skg-if-api-specification.rst | 3 ++- docs/commons/skg/skg-if-entity-extension.rst | 3 ++- docs/commons/skg/skg-if-metadata-model.rst | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/docs/commons/skg/skg-if-api-specification.rst b/docs/commons/skg/skg-if-api-specification.rst index ae1ded9..74615eb 100644 --- a/docs/commons/skg/skg-if-api-specification.rst +++ b/docs/commons/skg/skg-if-api-specification.rst @@ -2,4 +2,5 @@ OSTrails SKG-IF API Specification -------------------------------------- OSTrails led the definition of the SKG-IF API specification, which provides dedicated endpoints for each SKG-IF core entity and supports querying and filtering -More information can be found online `here `_. \ No newline at end of file + +More information can be found online `in the official SKG-IF documentation `_. \ No newline at end of file diff --git a/docs/commons/skg/skg-if-entity-extension.rst b/docs/commons/skg/skg-if-entity-extension.rst index 1bef737..682f9c6 100644 --- a/docs/commons/skg/skg-if-entity-extension.rst +++ b/docs/commons/skg/skg-if-entity-extension.rst @@ -2,7 +2,8 @@ OSTrails SKG-IF Extensions ----------------------------------------- Within the OSTrails context, a number of extensions have been submitted to the attention of the SKG-IF Working Group. -The status of such ext-submissions is summarised in the table below: + +The status of such extension proposed is summarised in the table below: .. list-table:: :header-rows: 1 diff --git a/docs/commons/skg/skg-if-metadata-model.rst b/docs/commons/skg/skg-if-metadata-model.rst index de11472..bb7ccd9 100644 --- a/docs/commons/skg/skg-if-metadata-model.rst +++ b/docs/commons/skg/skg-if-metadata-model.rst @@ -2,4 +2,5 @@ OSTrails Metadata Model for SKGs --------------------------------------------------- OSTrails contributed to the consolidation and complies to the JSON format defined by the SKG-IF. -More information about the entities, their properties and relations can be found online `here `_. + +More information about the entities, their properties and relations can be found online `in the official SKG-IF documentation `_. From 087502b51d7860ff7c5be58a3f46c75f8349b3c7 Mon Sep 17 00:00:00 2001 From: Raul Palma Date: Wed, 17 Dec 2025 16:26:45 +0100 Subject: [PATCH 067/101] rohub-related-updates --- CONTRIBUTORS.yml | 7 + .../skg/mappings/Mapping-SKGIF-RO-Crate.rst | 188 ++++++++++++++++++ docs/commons/skg/mappings/index.rst | 13 ++ docs/commons/skg/skg-if-entity-extension.rst | 34 ++++ docs/tools/SKG.rst | 8 + docs/tools/SKG_tools/rohub.rst | 85 ++++++++ 6 files changed, 335 insertions(+) create mode 100644 docs/commons/skg/mappings/Mapping-SKGIF-RO-Crate.rst create mode 100644 docs/commons/skg/mappings/index.rst create mode 100644 docs/commons/skg/skg-if-entity-extension.rst create mode 100644 docs/tools/SKG.rst create mode 100644 docs/tools/SKG_tools/rohub.rst diff --git a/CONTRIBUTORS.yml b/CONTRIBUTORS.yml index 490681f..cfc7d8c 100644 --- a/CONTRIBUTORS.yml +++ b/CONTRIBUTORS.yml @@ -39,3 +39,10 @@ Allyson Lister: github: allysonlister orcid: 0000-0002-7702-4495 affiliation: University of Oxford + +Raul Palma: + first_name: Raul + last_name: Palma + github: rapw3k + orcid: 0000-0003-4289-4922 + affiliation: Poznan Supercomputing and Networking Center diff --git a/docs/commons/skg/mappings/Mapping-SKGIF-RO-Crate.rst b/docs/commons/skg/mappings/Mapping-SKGIF-RO-Crate.rst new file mode 100644 index 0000000..1f4bebb --- /dev/null +++ b/docs/commons/skg/mappings/Mapping-SKGIF-RO-Crate.rst @@ -0,0 +1,188 @@ +Mapping between SKG Interoperability Framework and RO-Crate +-------------------------------------------------------------- +.. page-authors:: + Raul Palma + + +**RO-crate** (https://w3id.org/ro/crate/1.2) is an open, community data package specification for describing all kinds of research data and related resources, within and outside the package, used and generated throughout the research process in alignment with the FAIR principles. +RO-Crates are rich structured metadata containers, providing a straightforward and lightweight implementation of FDOs, which are part of the long-term vision of EOSC. +The metadata, expressed in JSON-LD following the Linked Data approach, describes the package and the aggregated research data entities like datasets, software, workflows, publications, as well as the associated contextual entities such as people, organizations, software and equipment, in a series of linked JSON-LD objects - using common published vocabularies, chiefly schema.org.  + +**The mapping between SKG-IF and RO-Crate** is intended for individuals who are familiar with RO-Crate specification, but new to SKG-IF. +The mapping is presented in the table below. + + ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| Unnamed: 0 | RO-Crate Term | SKG-IF Ontology Term | SKG-IF JSON-LD term | Type | Fixed values | ++===========================+========================================+==================================+=====================================+==========+==============================================+ +| ResearchObject (RO-Crate) | | | | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:name | dcterms:title | titles | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:Dataset | fabio:Work | entity_type=product | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:Dataset | fabio:Dataset | product_type=research data | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | ro:ResearchObject | | product_type=rocrate_ResearchObject | Class | extension | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:identifier (supposed to be @id) | | local_identifier | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:identifier | datacite:hasIdentifier | identifiers | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | datacite:usesIdentifierScheme | scheme | Property | w3id (extension) | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | literal:hasLiteralValue | value | Property | ro-id/xxxx | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:author | pro:isRelatedToRoleInTime | contributions | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:contributor | pro:isRelatedToRoleInTime | contributions | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:publisher | pro:isRelatedToRoleInTime | contributions | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | author/contributor/publisher @id | pro:isHeldBy | by | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | pro:withRole | role | Property | author/contributor = author, publisher = | +| | | | | | publisher, creator = editor, | +| | | | | | copyrightHolder= rocrate_copyright-owner | +| | | | | | (extension) | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | co:index | rank | Property | Auto-incremental | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:description | dcterms:abstract | abstract | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:hasPart | schema:hasPart | rocrate_hasPart | Property | extension | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:funding | frapo:isFundedBy | funding | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:studySubject | bido:holdsBibliometricDataInTime | topics | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:sdDatePublished | dcterms:issued | publication | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:dateCreated | dcterms:created | creation | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:dateModified | dcterms:modified | modified | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| Grant | | | | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | @id | | local_identifier | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:Grant | frapo:Grant | entity_type=grant | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:funder | frapo:hasFundingAgency | funding_agency | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:name | foaf:name | name | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:title | dcterms:title | titles | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:identifier | datacite:hasIdentifier | identifiers | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | datacite:usesIdentifierScheme | scheme | Property | doi | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | http://purl.org/ontology/bibo/doi | literal:hasLiteralValue | value | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| FundingAgency | | | | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | @id | | local_identifier | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:Organization | frapo:FundingAgency | entity_type=funder | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:name | foaf:name | name | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:identifier | datacite:hasIdentifier | identifiers | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | datacite:usesIdentifierScheme | scheme | Property | doi | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | http://purl.org/ontology/bibo/doi | literal:hasLiteralValue | value | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| Authors/contributors | | | | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | @id | | local_identifier | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:Person | foaf:Person | entity_type=person | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:name | foaf:name | name | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:givenName | foaf:givenName | given_name | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:familyName | foaf:familyName | family_name | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:identifier | datacite:hasIdentifier | identifiers | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | datacite:usesIdentifierScheme | scheme | Property | orcid/email (extension) | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | https://w3id.org/dingo#orcid or | literal:hasLiteralValue | value | Property | | +| | schema:email | | | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| Publisher/copyrightholder | | | | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | @id | | local_identifier | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:Organization | foaf:Organization | entity_type=organisation | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:name | foaf:name | name | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:identifier | datacite:hasIdentifier | identifiers | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | datacite:usesIdentifierScheme | scheme | Property | ror/email (extension) | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:identifier or schema:email | literal:hasLiteralValue | value | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| Topic | | | | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | @id | | local_identifier | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:DefinedTerm | fabio:SubjectTerm | entity_type=topic | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:name | skos:prefLabel | labels | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:identifier | datacite:hasIdentifier | identifiers | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | datacite:usesIdentifierScheme | scheme | Property | url | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | literal:hasLiteralValue | value | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| Data source | | | | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | @id | | local_identifier | Property | local_identifier=https://doi.org/10.25504/FA | +| | | | | | IRsharing.d3c5fd | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:DataCatalog | dcat:DataService | entity_type=datasource | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:name | foaf:name | name | Property | name=ROHub | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:identifier | datacite:hasIdentifier | identifiers | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | datacite:usesIdentifierScheme | scheme | Property | doi | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | literal:hasLiteralValue | value | Property | value=10.25504/FAIRsharing.d3c5fd | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | odrl:hasPolicy | policy | Property | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | | odrl:action | about | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:target | odrl:target | target | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:mainEntityOfPage | foaf:page | documented_at | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:conformsTo | dcerms:conformsTo | persistent_identity_systems | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:requirements | dcterms:requires | pid_schemes | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:target | dcterms:coverage | for | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema: hasDefinedTerm | dcat:theme | data_source_classification | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:target | dcterms:coverage | research_product_type | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| Other | | | | | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:CreativeWork | skg:ResearchProduct | entity_type=product | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:ScholarlyArticle | fabio:ScholarlyWork | entity_type=literature | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:SoftwareSourceCode | fabio:Software | entity_type=research software | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:Event | fabio:ExpressionCollection | entity_type=venue | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ +| | schema:PublicationEvent | fabio:ExpressionCollection | entity_type=venue | Class | | ++---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ diff --git a/docs/commons/skg/mappings/index.rst b/docs/commons/skg/mappings/index.rst new file mode 100644 index 0000000..3d90fe0 --- /dev/null +++ b/docs/commons/skg/mappings/index.rst @@ -0,0 +1,13 @@ +SKG-IF mappings +================== + +- *Planned resource to be developed* + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + DDI SKG-IF mapping + RO-Crate SKG-IF mapping + + \ No newline at end of file diff --git a/docs/commons/skg/skg-if-entity-extension.rst b/docs/commons/skg/skg-if-entity-extension.rst new file mode 100644 index 0000000..c985a39 --- /dev/null +++ b/docs/commons/skg/skg-if-entity-extension.rst @@ -0,0 +1,34 @@ +OSTrails SKG-IF Extensions +----------------------------------------- + +Within the OSTrails context, a number of extensions have been submitted to the attention of the SKG-IF Working Group. + +The status of such extension proposed is summarised in the table below: + +.. list-table:: + :header-rows: 1 + + * - Acronym + - Scope + - Status + - Link/request + + * - SRV + - New entity to model services + - Under development + - https://skg-if.github.io/ext-srv/ + + * - SKG-PROV + - Provenance tracking + - To be discussed + - https://github.com/skg-if/extensions/issues/4 + + * - RP-STDS + - Research Products for Standards + - To be discussed + - https://github.com/skg-if/extensions/issues/5 + + * - RO-Crate + - Research Products for RO-Crates + - To be discussed + - https://github.com/skg-if/extensions/issues/11 \ No newline at end of file diff --git a/docs/tools/SKG.rst b/docs/tools/SKG.rst new file mode 100644 index 0000000..fe66224 --- /dev/null +++ b/docs/tools/SKG.rst @@ -0,0 +1,8 @@ +.. toctree:: + :caption: Tools + :maxdepth: 1 + :titlesonly: + + Lifewatch + OpenAire + ROHub \ No newline at end of file diff --git a/docs/tools/SKG_tools/rohub.rst b/docs/tools/SKG_tools/rohub.rst new file mode 100644 index 0000000..a0d35cf --- /dev/null +++ b/docs/tools/SKG_tools/rohub.rst @@ -0,0 +1,85 @@ +ROHub API +================ + +.. page-authors:: + Raul Palma + +ROHub (https://www.rohub.org/) is an RO-Crate management platform that provides a holistic solution for the storage, lifecycle management and preservation of scientific investigations, campaigns and operational processes via research objects. +It makes these resources available to others, allows to publish and release them through a DOI, and allows to discover and reuse pre-existing scientific knowledge. +ROHub implements the RO-Crate specification and uses it as the standard format for serialising and exchanging research objects. +ROHub provides the backbone to a wealth of RO centric applications and interfaces across different scientific communities. +It is available via a public instance, and can provided also as a dedicated/private instance (Platform as a service) or on-premises. + +Architecture overview and integrations +------------------------------------------ +ROHub comprises a backend component, an IAM component, (meta-) data and resource storage components and a set of user interfaces. +The backend exposes a comprehensive REST API, which can be used by different applications. +The user interfaces, include a reference Web Portal and a Python library. +The ROHub portal provides a comprehensive user interface for the management and preservation of research objects, while the Python library works on top of the ROHub backend REST API, wrapping and abstracting the REST methods in user-friendly API methods that can be used, for instance, via Jupyter Notebooks. +Additionally, various external services are integrated or leverated in ROHub, including RO added value services as well as various EOSC services. +These include: +• Semantic enrichment and recommendation plus a set of extended analytic services. The former generate structured machine-readable metadata about the content of a research object including the main concepts and phrases, the entities and their type, and topical information from domains according to the Expert.ai linguistic knowledge graph, and generate recommendations based on the discovered metadata. The latter include the challenge and solution extraction, the Question Generation service, the claim analysis service, and the novelty scoring service +• Checklist service: provides access to the minim-based checklist evaluation of research objects, used to assess their quality for different purposes, e.g., completeness, accessibility or ready to release, and according to the needs of a particular community or application. +• Quality monitoring service: enables the evaluation of the RO through time by capturing discrete values provided by the checklist service in different moments of its evolution. +• FAIROs service: measures the FAIRness of Research Objects, by calculating the FAIRness of individual aggregated resources, including the Research Object itself, and then aggregating those results to calculate the over FAIR score. +• EGI check-in, the EOSC Identity and Access Management (IAM) service that connects federated Identity Providers (IdPs) with EOSC service providers. +• Zenodo. ROHub allows to release and share ro-crates via Zenodo. +• B2share. ROHub allows to release and share ro-crates via B2Share. +• B2drop. ROHub users have the possibility to use the default ROHub storage, or B2drop as their personal storage space where the resources uploaded to their research objects will be stored. B2drop resources are synchronized with the corresponding research objects in both ways. +• Notebooks. ROHub users can open and load the Jupyter notebooks in the ROs automatically in EGI Notebooks directly from ROHub and execute their methods/processing in an interactive computing environment (eproducible science). +• Replay. ROHub users can open and load automatically Jupyter notebooks and reproduce their associated computing environment with Replay, including any related input datasets, directly from the ROs in ROHub. (highest reproducible science) +• OpenAire/EOSC Research Graph. ROHub resources, particularly ROs, Jupyter notebooks and data cubes, are harvested in the graph, and thus they are findable directly from the EOSC marketplace. +• Argos. ROHub enables the creation of ROs from DMPs in Argos, leveraging and representing all the DMP information in machine-readable format, enabling researchers to shift their DMP into machine actionable DMPs, connected with the datasets themselves. +• ADAM. ROHub enables the aggregation of data cubes from ADAM by reference, leveraging all the available metadata available in ADAM to describe them in the RO. ROHub users can open and load data cubes in ADAM directly from ROHub for their usage and exploration + + +Authentication and Authorization +------------------------------------------ +The ROHub Identity and Access Management (IAM) is based on Keycloak technology. +It allows users to authenticate to ROHub and enables the single sign-on across different various services. +The most important feature of ROHub IAM is that is integrated with EGI check-in AAI and with Pionier.ID. +The former allows the user to authenticate through the EGI check-in service that operates as a central hub to connect federated Identity Providers (IdPs) with EOSC service providers. +The latter allows access to the services of the PIONIER Consortium for Polish science and automatic membership in eduGain, which connects identity federations around the world, simplifying access to content, services and resources for the global research and education community. + + +SKG-IF implementation +------------------------------------------ +Initial implementation (under testing) of OSTrails SKG-IF to expose RO-Crates as Scientific Knowledge Graphs, focused on research products. +This required the specification and implementation of the mapping of the RO-Crate metadata to the SKG-IF data model. +This will allow the integration and/or harvesting of RO-Crate metadata in other SKGs that will use this API to harvest metadata, like OpenAire that plans to use such API in the future for harvesting. +Currently, OpenAire SKG harvest metadata about RO-Crates (and other key resources) from ROHub via its OAI-PMH endpoint. + +Resources and identifiers +-------------------------------- +Portal +~~~~~~~~ +- Portal: https://www.rohub.org/ +- re3data.org persistent identifier: http://doi.org/10.17616/R31NJN60 +- FAIRSharing identifier: https://fairsharing.org/4119 +- Portal documentation: https://reliance-eosc.github.io/rohub-portal-documentation/ +- Version 4.0.2 + +API +~~~~~~~~ +- API: https://api.rohub.org/api/ +- OpenAPI: https://api.rohub.org/api/swagger/ +- Redoc: https://api.rohub.org/api/redoc/ +- OAI-PMH endpoint: https://api.rohub.org/api/oai2d/ +- SPARQL endpoint: https://rohub2020-api-virtuoso-route-rohub2020.apps.paas.psnc.pl/sparql/ +- Version: 2.1.81 + +Python library +~~~~~~~~~~~~~~~~ +- Python library: https://reliance-eosc.github.io/ROHUB-API_documentation/html/README.html +- API library documentation: https://reliance-eosc.github.io/ROHUB-API_documentation/html/index.html +- API library example Jupyter Notebooks: https://github.com/RELIANCE-EOSC/sample-notebooks +- Repository: https://github.com/oeg-upm/FAIR-Research-Object +- License: MIT + +support +~~~~~~~~ +- ROHub in EOSC: https://open-science-cloud.ec.europa.eu/resources/datasources/21.11166%2FBA1Ba2 +- Tutorial: https://reliance-eosc.github.io/ROHUB-API_documentation/html/tutorials.html +- Training materials: https://www.reliance-project.eu/adopters/ +- Helpdesk: https://support.pcss.pl/servicedesk/customer/portal/27 +- support email: support@rohub.org \ No newline at end of file From 4a71e17e585e44f54715c887df899169961aae67 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 18 Dec 2025 08:58:36 +0100 Subject: [PATCH 068/101] fixed typo --- docs/commons/skg/skg-if-api-specification.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/commons/skg/skg-if-api-specification.rst b/docs/commons/skg/skg-if-api-specification.rst index 74615eb..c6b6d2b 100644 --- a/docs/commons/skg/skg-if-api-specification.rst +++ b/docs/commons/skg/skg-if-api-specification.rst @@ -1,6 +1,6 @@ OSTrails SKG-IF API Specification -------------------------------------- -OSTrails led the definition of the SKG-IF API specification, which provides dedicated endpoints for each SKG-IF core entity and supports querying and filtering +OSTrails coordinated the definition of the SKG-IF API specification, which provides dedicated endpoints for each SKG-IF core entity and supports querying and filtering. More information can be found online `in the official SKG-IF documentation `_. \ No newline at end of file From 84aec7c4bb068a725e2ab46d41b478b3de8d674a Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 18 Dec 2025 13:46:07 +0100 Subject: [PATCH 069/101] added openaire mappings by Miriam --- CONTRIBUTORS.yml | 7 ++ docs/commons/skg/mappings/index.rst | 2 +- .../skg/mappings/openaire-mappings.rst | 110 ++++++++++++++++++ 3 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 docs/commons/skg/mappings/openaire-mappings.rst diff --git a/CONTRIBUTORS.yml b/CONTRIBUTORS.yml index 4e78415..46dabfc 100644 --- a/CONTRIBUTORS.yml +++ b/CONTRIBUTORS.yml @@ -60,3 +60,10 @@ Paolo Manghi: github: paolomanghi orcid: 0000-0001-7291-3210 affiliation: CNR-ISTI + +Miriam Baglioni: + first_name: Miriam + last_name: baglioni + github: mirima2 + orcid: 0000-0002-2273-9004 + affiliation: CNR-ISTI \ No newline at end of file diff --git a/docs/commons/skg/mappings/index.rst b/docs/commons/skg/mappings/index.rst index c174682..6bc296a 100644 --- a/docs/commons/skg/mappings/index.rst +++ b/docs/commons/skg/mappings/index.rst @@ -1,10 +1,10 @@ SKG-IF mappings ================== -- *Planned resource to be developed* .. toctree:: :maxdepth: 1 :titlesonly: DDI SKG-IF mapping + OpenAIRE Graph SKG-IF mappings diff --git a/docs/commons/skg/mappings/openaire-mappings.rst b/docs/commons/skg/mappings/openaire-mappings.rst new file mode 100644 index 0000000..e3b9e52 --- /dev/null +++ b/docs/commons/skg/mappings/openaire-mappings.rst @@ -0,0 +1,110 @@ +OpenAIRE SKG-IF Mapping +----------------------------------------- +.. page-authors:: + Miriam Baglioni + + + +This page documents the conceptual mapping between the ` OpenAIRE Graph model `_ towards the `SKG-IF `_, `version 1.1.0 `_. + +The OpenAIRE APIs implementation draws from this mapping. The mapped entities reported are only those returned by the APIs. So far only research products. + +Research Product +=============================================== + +.. list-table:: + :header-rows: 1 + + * - SKG-IF Json-LD property + - OpenAIRE property + - Notes + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#local_identifier + - https://graph.openaire.eu/docs/data-model/entities/research-product#id + - The internal identifier is used to resolve to the landing page in Explore for the research product. The URL prefix "https://explore.openaire.eu/search/result?id=" is added to the result identifier. + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#identifiers + - https://graph.openaire.eu/docs/data-model/entities/research-product#pids + - + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#entity_type + - product + - Fixed value + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#titles + - https://graph.openaire.eu/docs/data-model/entities/research-product#maintitle or https://graph.openaire.eu/docs/data-model/entities/research-product#subtitle + - Maps the first title with type *main title*. If no *main title* exists, it maps the first *subtitle*. The element always has *none* as language keyword. + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#abstracts + - https://graph.openaire.eu/docs/data-model/entities/research-product#descriptions + - Maps the whole set of descriptions. All of them are associated with the language tag *none*. + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#product_type + - https://graph.openaire.eu/docs/data-model/entities/research-product#sub-types + - | + The sub-types are mapped in the SKG-IF as: + + - publication → literature + - dataset → research data + - software → research software + - otherresearchproduct → other + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#topics + - https://graph.openaire.eu/docs/data-model/entities/research-product#subjects + - | + The mapping considers *{FOS, SDG, keyword}* subject schemes. Each subfield is mapped as follows: + + - term -> otf identifier depending on the creation date of the dataset, and the value for the topic + - **provenance** + - trust -> subject.provenance.trust + - provenance -> subject.provenance.provenance + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#contributions + - https://graph.openaire.eu/docs/data-model/entities/research-product#authors + - | + Each subfield is mapped as follows: + + - by -> otf identifier depending on the creation date of the dataset and the ORCID if found in the metadata. If no ORCID is found, the identifier depends on the creation date and a concatenation of result ID and author position in the list of authors. + - declared_affiliations -> not mapped so far + - rank -> author[*].rank + - contribution_types -> not mapped so far + - role -> author + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#manifestations + - https://graph.openaire.eu/docs/data-model/entities/research-product#instances, https://graph.openaire.eu/docs/data-model/entities/research-product#container, and https://graph.openaire.eu/docs/data-model/relationships/relationship-object + - | + Each subfield is mapped as follows: + + - **type** + - class -> the COAR classification for instance[*].type + - labels -> instances[*].type (language keyword always *en*) + - defined_in -> https://vocabularies.coar-repositories.org/resource_types/ (Fixed) + - dates -> instance.publicationDate (date type always *publication*) + - identifiers -> instances[*].pids + - **peer_review** + - status -> set to *peer reviewed* if instances[*].refereed is *peer reviewed* + - description -> not mapped so far + - **access_right** + - status -> instances[*].accessright.label + - description -> fixed text depending on status value + - licence -> instances[*].licence + - version -> not mapped + - **biblio** + - issue -> container.iss (only for publications) + - edition -> container.edition (only for publications) + - volume -> container.volume (only for publications) + - pages -> container.sp and container.ep (only for publications) + - in -> otf identifier depending on the creation date and container.issnPrinted. If not present, container.issnOnline is used + - hosting_datasource -> "https://explore.openaire.eu/search/dataprovider?datasourceId=" + target in the relation isHostedBy + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#relevant_organisations + - https://graph.openaire.eu/docs/data-model/relationships/relationship-object + - The list of landing pages in OpenAIRE built from organization identifiers found in *relation.source* for relations with *relation.relType.name = isAuthorInstitutionOf* and *relation.target* as the considered result + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#funding + - https://graph.openaire.eu/docs/data-model/relationships/relationship-object + - The list of landing pages in OpenAIRE built from project identifiers found in *relation.source* for relations with *relation.relType.name = produces* and *relation.target* as the considered result + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#related_products + - https://graph.openaire.eu/docs/data-model/relationships/relationship-object + - For each supported semantics in SKG-IF, the corresponding semantics in the OpenAIRE graph is considered. For any relation type, the list of landing pages in OpenAIRE is built from *relation.target* relations having as *relation.source* the result under consideration \ No newline at end of file From c37c1878c13049c66dfc01b5e1593a799938138d Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 18 Dec 2025 13:48:44 +0100 Subject: [PATCH 070/101] added openaire mappings by Miriam --- docs/commons/skg/mappings/openaire-mappings.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/commons/skg/mappings/openaire-mappings.rst b/docs/commons/skg/mappings/openaire-mappings.rst index e3b9e52..ac859b4 100644 --- a/docs/commons/skg/mappings/openaire-mappings.rst +++ b/docs/commons/skg/mappings/openaire-mappings.rst @@ -5,7 +5,7 @@ OpenAIRE SKG-IF Mapping -This page documents the conceptual mapping between the ` OpenAIRE Graph model `_ towards the `SKG-IF `_, `version 1.1.0 `_. +This page documents the conceptual mapping between the `OpenAIRE Graph model `_ towards the `SKG-IF `_ (`version 1.1.0 `_). The OpenAIRE APIs implementation draws from this mapping. The mapped entities reported are only those returned by the APIs. So far only research products. From a453727bd01d8ea061b95d625a605582627820c2 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 18 Dec 2025 13:49:26 +0100 Subject: [PATCH 071/101] added openaire mappings by Miriam --- docs/commons/skg/mappings/openaire-mappings.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/commons/skg/mappings/openaire-mappings.rst b/docs/commons/skg/mappings/openaire-mappings.rst index ac859b4..f358542 100644 --- a/docs/commons/skg/mappings/openaire-mappings.rst +++ b/docs/commons/skg/mappings/openaire-mappings.rst @@ -15,8 +15,8 @@ Research Product .. list-table:: :header-rows: 1 - * - SKG-IF Json-LD property - - OpenAIRE property + * - SKG-IF JSON-LD property + - OpenAIRE Graph property - Notes * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#local_identifier From df068d7c790914f5c60eae96a3c6eca0280f36a9 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 18 Dec 2025 13:51:36 +0100 Subject: [PATCH 072/101] changed ascii arrows --- .../skg/mappings/openaire-mappings.rst | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/docs/commons/skg/mappings/openaire-mappings.rst b/docs/commons/skg/mappings/openaire-mappings.rst index f358542..afed18a 100644 --- a/docs/commons/skg/mappings/openaire-mappings.rst +++ b/docs/commons/skg/mappings/openaire-mappings.rst @@ -54,21 +54,21 @@ Research Product - | The mapping considers *{FOS, SDG, keyword}* subject schemes. Each subfield is mapped as follows: - - term -> otf identifier depending on the creation date of the dataset, and the value for the topic + - term → otf identifier depending on the creation date of the dataset, and the value for the topic - **provenance** - - trust -> subject.provenance.trust - - provenance -> subject.provenance.provenance + - trust → subject.provenance.trust + - provenance → subject.provenance.provenance * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#contributions - https://graph.openaire.eu/docs/data-model/entities/research-product#authors - | Each subfield is mapped as follows: - - by -> otf identifier depending on the creation date of the dataset and the ORCID if found in the metadata. If no ORCID is found, the identifier depends on the creation date and a concatenation of result ID and author position in the list of authors. - - declared_affiliations -> not mapped so far - - rank -> author[*].rank - - contribution_types -> not mapped so far - - role -> author + - by → otf identifier depending on the creation date of the dataset and the ORCID if found in the metadata. If no ORCID is found, the identifier depends on the creation date and a concatenation of result ID and author position in the list of authors. + - declared_affiliations → not mapped so far + - rank → author[*].rank + - contribution_types → not mapped so far + - role → author * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#manifestations - https://graph.openaire.eu/docs/data-model/entities/research-product#instances, https://graph.openaire.eu/docs/data-model/entities/research-product#container, and https://graph.openaire.eu/docs/data-model/relationships/relationship-object @@ -76,26 +76,26 @@ Research Product Each subfield is mapped as follows: - **type** - - class -> the COAR classification for instance[*].type - - labels -> instances[*].type (language keyword always *en*) - - defined_in -> https://vocabularies.coar-repositories.org/resource_types/ (Fixed) - - dates -> instance.publicationDate (date type always *publication*) - - identifiers -> instances[*].pids + - class → the COAR classification for instance[*].type + - labels → instances[*].type (language keyword always *en*) + - defined_in → https://vocabularies.coar-repositories.org/resource_types/ (Fixed) + - dates → instance.publicationDate (date type always *publication*) + - identifiers → instances[*].pids - **peer_review** - - status -> set to *peer reviewed* if instances[*].refereed is *peer reviewed* - - description -> not mapped so far + - status → set to *peer reviewed* if instances[*].refereed is *peer reviewed* + - description → not mapped so far - **access_right** - - status -> instances[*].accessright.label - - description -> fixed text depending on status value - - licence -> instances[*].licence - - version -> not mapped + - status → instances[*].accessright.label + - description → fixed text depending on status value + - licence → instances[*].licence + - version → not mapped - **biblio** - - issue -> container.iss (only for publications) - - edition -> container.edition (only for publications) - - volume -> container.volume (only for publications) - - pages -> container.sp and container.ep (only for publications) - - in -> otf identifier depending on the creation date and container.issnPrinted. If not present, container.issnOnline is used - - hosting_datasource -> "https://explore.openaire.eu/search/dataprovider?datasourceId=" + target in the relation isHostedBy + - issue → container.iss (only for publications) + - edition → container.edition (only for publications) + - volume → container.volume (only for publications) + - pages → container.sp and container.ep (only for publications) + - in → otf identifier depending on the creation date and container.issnPrinted. If not present, container.issnOnline is used + - hosting_datasource → "https://explore.openaire.eu/search/dataprovider?datasourceId=" + target in the relation isHostedBy * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#relevant_organisations - https://graph.openaire.eu/docs/data-model/relationships/relationship-object From 4ae0877bd4a950425ffb8843c232b56feb14f0c8 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 18 Dec 2025 13:53:26 +0100 Subject: [PATCH 073/101] fixing subproperty table --- docs/commons/skg/mappings/openaire-mappings.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/commons/skg/mappings/openaire-mappings.rst b/docs/commons/skg/mappings/openaire-mappings.rst index afed18a..2f499fa 100644 --- a/docs/commons/skg/mappings/openaire-mappings.rst +++ b/docs/commons/skg/mappings/openaire-mappings.rst @@ -76,6 +76,7 @@ Research Product Each subfield is mapped as follows: - **type** + | - class → the COAR classification for instance[*].type - labels → instances[*].type (language keyword always *en*) - defined_in → https://vocabularies.coar-repositories.org/resource_types/ (Fixed) From ed3f9a08aa9106ed54652817af40caba7240feb2 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 18 Dec 2025 13:55:37 +0100 Subject: [PATCH 074/101] fixing subproperty table --- docs/commons/skg/mappings/openaire-mappings.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/commons/skg/mappings/openaire-mappings.rst b/docs/commons/skg/mappings/openaire-mappings.rst index 2f499fa..41e7d20 100644 --- a/docs/commons/skg/mappings/openaire-mappings.rst +++ b/docs/commons/skg/mappings/openaire-mappings.rst @@ -75,8 +75,9 @@ Research Product - | Each subfield is mapped as follows: - - **type** - | + - | + **type** + - class → the COAR classification for instance[*].type - labels → instances[*].type (language keyword always *en*) - defined_in → https://vocabularies.coar-repositories.org/resource_types/ (Fixed) From 916f02ce0930805d93ef447fb01a22a0bccfebcf Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Thu, 18 Dec 2025 14:03:02 +0100 Subject: [PATCH 075/101] fixing rows with suproperties --- docs/commons/skg/mappings/openaire-mappings.rst | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/docs/commons/skg/mappings/openaire-mappings.rst b/docs/commons/skg/mappings/openaire-mappings.rst index 41e7d20..12e7903 100644 --- a/docs/commons/skg/mappings/openaire-mappings.rst +++ b/docs/commons/skg/mappings/openaire-mappings.rst @@ -55,7 +55,9 @@ Research Product The mapping considers *{FOS, SDG, keyword}* subject schemes. Each subfield is mapped as follows: - term → otf identifier depending on the creation date of the dataset, and the value for the topic - - **provenance** + - | + **provenance** + - trust → subject.provenance.trust - provenance → subject.provenance.provenance @@ -83,15 +85,21 @@ Research Product - defined_in → https://vocabularies.coar-repositories.org/resource_types/ (Fixed) - dates → instance.publicationDate (date type always *publication*) - identifiers → instances[*].pids - - **peer_review** + - | + **peer_review** + - status → set to *peer reviewed* if instances[*].refereed is *peer reviewed* - description → not mapped so far - - **access_right** + - | + **access_right** + - status → instances[*].accessright.label - description → fixed text depending on status value - licence → instances[*].licence - version → not mapped - - **biblio** + - | + **biblio** + - issue → container.iss (only for publications) - edition → container.edition (only for publications) - volume → container.volume (only for publications) From c99a51a7c2b6a510fc1d07b2e80a682d9e9a65c8 Mon Sep 17 00:00:00 2001 From: esgg Date: Fri, 19 Dec 2025 09:52:05 +0100 Subject: [PATCH 076/101] FAIROs exception added --- .../FAIR/Assessment-Recommended-API.rst | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index 8db1263..9ec6e09 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -76,3 +76,22 @@ All post requests must submit a body with the resource to assess as follows: * - ``/assess/algorithm/`` - ``algoid`` and ``resource_identifier`` - Test result in JSON-LD + +In some cases, FAIR assessments may require inspecting multiple large resources. This is, for example, the case when assessing Research Objects using the **FAIROs** tool. In such situations, the API may not immediately return the test results in JSON-LD format. Instead, it returns a JSON response with the following information: + +.. code-block:: json + + { + "ticket_id": "" + } + +In this case, the API returns an HTTP status code **202 (Accepted)**, indicating that the assessment request has been successfully created. Additionally, the response header **Location** contains a link where the results will be available once generated. + +The link follows this format:: + + /assess/algorithm/{ticket_id} + +When accessing this link, you may receive one of the following HTTP status codes: + +- **404 (Not Found)** if the results have not yet been generated +- **200 (OK)** if the results are available, returned in the same JSON-LD format as a standard test result \ No newline at end of file From 41944b35307fa737222659e9d6fc9af1fc4c3fc5 Mon Sep 17 00:00:00 2001 From: esgg Date: Fri, 19 Dec 2025 15:14:38 +0100 Subject: [PATCH 077/101] Reference to FAIROs removed --- docs/commons/FAIR/Assessment-Recommended-API.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index 9ec6e09..068fdac 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -77,7 +77,7 @@ All post requests must submit a body with the resource to assess as follows: - ``algoid`` and ``resource_identifier`` - Test result in JSON-LD -In some cases, FAIR assessments may require inspecting multiple large resources. This is, for example, the case when assessing Research Objects using the **FAIROs** tool. In such situations, the API may not immediately return the test results in JSON-LD format. Instead, it returns a JSON response with the following information: +In some cases, FAIR assessments may require inspecting multiple large resources. This is, for example, the case when assessing Research Objects. In such situations, the API may not immediately return the test results in JSON-LD format. Instead, it returns a JSON response with the following information: .. code-block:: json From 607b59c87bd06c6dd98a2c6332651ec6f0b3e2ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Such=C3=A1nek?= Date: Tue, 16 Dec 2025 16:18:41 +0100 Subject: [PATCH 078/101] Fix formatting and Sphinx build --- .editorconfig | 3 - CONTRIBUTING.md | 4 +- CONTRIBUTORS.yml | 9 +- .../FAIR/Assessment-Recommended-API.rst | 138 ++-- .../FAIR/FAIR-Test-Results-Vocabulary-FTR.rst | 8 +- .../FAIR/Guidance-Element-Specification.rst | 2 +- .../FAIR/index_catalogs_registries.rst | 10 - docs/commons/FAIR/index_standards.rst | 14 - docs/commons/dmp/API-specification.rst | 8 +- ...Austrian-FWF\342\200\223maDMP-mapping.rst" | 112 ++- .../mappings/Science-Europe-maDMP-mapping.rst | 685 +++++++++--------- docs/commons/dmp/mappings/index.rst | 8 +- docs/commons/resources.rst | 15 +- .../skg/mappings/Mapping-SKGIF-DDI.rst | 14 +- docs/commons/skg/mappings/index.rst | 10 +- .../skg/mappings/openaire-mappings.rst | 204 +++--- docs/commons/skg/skg-commons.rst | 19 +- docs/commons/skg/skg-if-api-specification.rst | 6 +- docs/commons/skg/skg-if-entity-extension.rst | 36 +- docs/commons/skg/skg-if-metadata-model.rst | 2 +- docs/index.rst | 3 - docs/tools/FAIR.rst | 24 +- .../FAIR_tools/Catalogue-of-Benchmarks.rst | 13 +- .../FAIR-Assessment-Authoring-Tool.rst | 22 +- docs/tools/FAIR_tools/FAIR-Champion.rst | 2 +- docs/tools/FAIR_tools/FAIR-Validator.rst | 5 +- docs/tools/FAIR_tools/FAIROS.rst | 4 +- docs/tools/FAIR_tools/FAIRsharing.rst | 26 +- docs/tools/FAIR_tools/FOOPS.rst | 4 +- docs/tools/SKG.rst | 14 +- docs/tools/SKG_tools/lifewatch.rst | 5 +- docs/tools/SKG_tools/openaire.rst | 5 +- docs/tools/SKG_tools/rohub.rst | 5 +- 33 files changed, 690 insertions(+), 749 deletions(-) delete mode 100644 docs/commons/FAIR/index_catalogs_registries.rst delete mode 100644 docs/commons/FAIR/index_standards.rst diff --git a/.editorconfig b/.editorconfig index be794c1..14281d9 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,9 +8,6 @@ trim_trailing_whitespace = true insert_final_newline = true max_line_length = off -[*.rst] -indent_size = 4 - [*.bat] indent_style = tab end_of_line = crlf diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b0ebe54..d6c3e76 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -39,13 +39,15 @@ The code style is captured using [EditorConfig](https://editorconfig.org/), see ### Building the Documentation First, install the required dependencies (preferably in a virtual environment): -To activate the env in windows use the cmd and venv\Scripts\activate.bat + ```bash python -m venv venv source venv/bin/activate pip install -r requirements.txt ``` +**Note**: To activate the env on Windows, run in cmd: `venv\Scripts\activate.bat`. + Then, you can build the documentation using the following command: ```bash diff --git a/CONTRIBUTORS.yml b/CONTRIBUTORS.yml index 46dabfc..bfe3737 100644 --- a/CONTRIBUTORS.yml +++ b/CONTRIBUTORS.yml @@ -66,4 +66,11 @@ Miriam Baglioni: last_name: baglioni github: mirima2 orcid: 0000-0002-2273-9004 - affiliation: CNR-ISTI \ No newline at end of file + affiliation: CNR-ISTI + +Pablo Alarcón-Moreno: + first_name: Pablo + last_name: Alarcón-Moreno + github: pabloalarconm + orcid: 0000-0001-5974-589X + affiliation: Universidad Politécnica de Madrid diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index 068fdac..a608421 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -1,97 +1,99 @@ Assessment Recommended API ----------------------------- - -The FAIR-IF follows, as closely as possible, the REST standard; -however, unlike many REST architectures, not all identifiers in -the IF are “local”, and thus it is often necessary to pass the -full GUID of an identifier from one component to another, or from -client to server. For example, the GUID of a Benchmark is the -DOI of that Benchmark as recorded in the FAIRsharing registry, -and as such, it cannot become part of the URL of the REST interface. - -Nevertheless, there are two “types” of calls in the FAIR-IF. -Calls that are intended to retrieve information and calls that are -intended to trigger an activity (such as a test or assessment). -The latter kinds of calls are prefixed with /assess/. - -Please refer to the paragraphs below for API calls or implementation. -An OpenAPI yaml specification for FTR is available in the following [link](https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/api/open_api_description.yaml) including examples and +-------------------------- + +The FAIR-IF follows, as closely as possible, the REST standard; +however, unlike many REST architectures, not all identifiers in +the IF are “local”, and thus it is often necessary to pass the +full GUID of an identifier from one component to another, or from +client to server. For example, the GUID of a Benchmark is the +DOI of that Benchmark as recorded in the FAIRsharing registry, +and as such, it cannot become part of the URL of the REST interface. + +Nevertheless, there are two “types” of calls in the FAIR-IF. +Calls that are intended to retrieve information and calls that are +intended to trigger an activity (such as a test or assessment). +The latter kinds of calls are prefixed with /assess/. + +Please refer to the paragraphs below for API calls or implementation. +An OpenAPI yaml specification for FTR is available in the following [link](https://github.com/OSTrails/FAIR_testing_resource_vocabulary/blob/main/development/api/open_api_description.yaml) including examples and method calls. GET calls ----------------------------- -Each of following methods will return metadata of the artifact in JSON-LD, -following the FAIR-IF Application Profile. The method MUST accept a GET -string with key/value as in the table below. The same method MAY accept a JSON -Body as in Table 1, via HTTP POST. +--------- + +Each of following methods will return metadata of the artifact in JSON-LD, +following the FAIR-IF Application Profile. The method MUST accept a GET +string with key/value as in the table below. The same method MAY accept a JSON +Body as in Table 1, via HTTP POST. .. list-table:: GET endpoints - :header-rows: 1 - :widths: 20 20 60 - - * - Method - - Parameter - - Returns - * - ``/tests/`` - - ``testid`` - - A list with all the test identifiers supported by the tool. - When an id is sent, a DCAT record in JSON-LD is returned. - * - ``/benchmarks/`` - - ``bmid`` - - A list with all the benchmark identifiers supported by the tool. - When an id is sent, a DCAT record in JSON-LD is returned. - * - ``/metrics/`` - - ``mid`` - - A list with all the metrics identifiers supported by the tool. - When an id is sent, a DCAT record in JSON-LD is returned. - * - ``/algorithms/`` - - ``aid`` - - A list with all the algorithms identifiers supported by the tool. - When an id is sent, a DCAT record in JSON-LD is returned. + :header-rows: 1 + :widths: 20 20 60 + + * - Method + - Parameter + - Returns + * - ``/tests/`` + - ``testid`` + - A list with all the test identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. + * - ``/benchmarks/`` + - ``bmid`` + - A list with all the benchmark identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. + * - ``/metrics/`` + - ``mid`` + - A list with all the metrics identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. + * - ``/algorithms/`` + - ``aid`` + - A list with all the algorithms identifiers supported by the tool. + When an id is sent, a DCAT record in JSON-LD is returned. POST calls ----------------------------- +---------- + All post requests must submit a body with the resource to assess as follows: .. code-block:: json - { - "resource_identifier": "https://w3id.org/example#" - } + { + "resource_identifier": "https://w3id.org/example#" + } .. list-table:: POST endpoints - :header-rows: 1 - :widths: 20 20 60 - - * - Method - - Parameter - - Returns - * - ``/assess/test/`` - - ``testid`` and ``resource_identifier`` - - Test result in JSON-LD - * - ``/assess/benchmark/`` - - ``bmid`` and ``resource_identifier`` - - Test result in JSON-LD - * - ``/assess/algorithm/`` - - ``algoid`` and ``resource_identifier`` - - Test result in JSON-LD + :header-rows: 1 + :widths: 20 20 60 + + * - Method + - Parameter + - Returns + * - ``/assess/test/`` + - ``testid`` and ``resource_identifier`` + - Test result in JSON-LD + * - ``/assess/benchmark/`` + - ``bmid`` and ``resource_identifier`` + - Test result in JSON-LD + * - ``/assess/algorithm/`` + - ``algoid`` and ``resource_identifier`` + - Test result in JSON-LD In some cases, FAIR assessments may require inspecting multiple large resources. This is, for example, the case when assessing Research Objects. In such situations, the API may not immediately return the test results in JSON-LD format. Instead, it returns a JSON response with the following information: .. code-block:: json - { - "ticket_id": "" - } + { + "ticket_id": "" + } In this case, the API returns an HTTP status code **202 (Accepted)**, indicating that the assessment request has been successfully created. Additionally, the response header **Location** contains a link where the results will be available once generated. The link follows this format:: - /assess/algorithm/{ticket_id} + /assess/algorithm/{ticket_id} When accessing this link, you may receive one of the following HTTP status codes: - **404 (Not Found)** if the results have not yet been generated -- **200 (OK)** if the results are available, returned in the same JSON-LD format as a standard test result \ No newline at end of file +- **200 (OK)** if the results are available, returned in the same JSON-LD format as a standard test result diff --git a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst index 14c3a0e..e243041 100644 --- a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst +++ b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst @@ -17,23 +17,17 @@ acting as a reference model that extends W3C standards such as and others to describe the different assessment components, such as: - **Test**: Service, formed by an API and associated piece of code that implements a Metric, and is executed (by a FAIR assessment tool), retrieving a particular and standardised result. - - **TestResult**: Output of running a test over a resource. A test result should also contain provenance metadata about the process followed to create it. ``TestResult`` is represented as an extension of ``prov:Entity``. A test result points to the corresponding test through the ``ftr:outputFromTest`` property. - - **TestResultSet**: A set of FAIR test results, together with their respective metadata. Common metadata may describe the set. For example, if all results were run by a request to the same API. - - **TestExecutionActivity**: The action carried out by an agent + calling an API in which a test (or set of tests) was run. The result of this activity is either a ``TestResult`` or a ``TestResultSet``. - **Metric**: Narrative domain-agnostic description that a Test must wholly implement. - - **Benchmark**: Community-specific groupings of a set of Metrics that provide a narrative describing how that community defines FAIR for assessment purposes. - - **ScoringAlgorithm**: Piece of code that contextualises the sum of all test results for a given benchmark into a final quantitative assessment result. - - **ScoringAlgorithmActivity**: The action carried out by an agent calling an API in which a ``ScoringAlgorithm`` was executed. The result of this activity is a ``BenchmarkScore``. - - **BenchmarkScore**: Output of a Scoring Algorithm over a resource, generating the final score and guidance for the whole assessment. ---- diff --git a/docs/commons/FAIR/Guidance-Element-Specification.rst b/docs/commons/FAIR/Guidance-Element-Specification.rst index d911828..cfd0582 100644 --- a/docs/commons/FAIR/Guidance-Element-Specification.rst +++ b/docs/commons/FAIR/Guidance-Element-Specification.rst @@ -1,5 +1,5 @@ FAIR Guidance Vocabulary Specification (FGV) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The **FAIR Guidance Vocabulary (FGV)** provides a machine-readable ontology that implements the FAIR Guidance Model described in the OSTrails Deliverable D1.3. It formalizes the structure of FAIR-enabling guidance by extending and aligning with standards such as `DCAT `__, `Schema.org `__, and the `Semanticscience Integrated Ontology (SIO) `__. diff --git a/docs/commons/FAIR/index_catalogs_registries.rst b/docs/commons/FAIR/index_catalogs_registries.rst deleted file mode 100644 index d3b5798..0000000 --- a/docs/commons/FAIR/index_catalogs_registries.rst +++ /dev/null @@ -1,10 +0,0 @@ -FAIR Catalog and Registry --------------------------- - -The following resources in this section are part of the FAIR Commons component. - -.. toctree:: - :caption: Catalogs and Registries - :maxdepth: 1 - :titlesonly: - diff --git a/docs/commons/FAIR/index_standards.rst b/docs/commons/FAIR/index_standards.rst deleted file mode 100644 index 0e4bca4..0000000 --- a/docs/commons/FAIR/index_standards.rst +++ /dev/null @@ -1,14 +0,0 @@ -FAIR Standards ----------------- -The following resources in this section are part of the FAIR Commons component. - - -.. toctree:: - :caption: Standards - :maxdepth: 1 - :titlesonly: - - Guidance Element Specification - FAIR Test Results Vocabulary (FTR) - Assessment Recommended API - diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst index 3887f5c..2e268db 100644 --- a/docs/commons/dmp/API-specification.rst +++ b/docs/commons/dmp/API-specification.rst @@ -6,13 +6,11 @@ OSTrails maDMP API Specification The API is developed jointly with the `Research Data Alliance maDMP API working group `_. -The charter of the group can be found `here `_. +The charter of the group can be found at the `RDA maDMP API WG page `_. -The API specification is in this repository - `click `_. +The API specification is in this GitHub repository: `RDA-DMP-Common/common-madmp-api `_. - - -The OpenAPI documentation can be accessed directly `here `_. +The OpenAPI documentation can be accessed directly at: `rda-dmp-common.github.io/common-madmp-api `_. diff --git "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" index 5fd4b78..e2ba08a 100644 --- "a/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" +++ "b/docs/commons/dmp/mappings/Austrian-FWF\342\200\223maDMP-mapping.rst" @@ -1,10 +1,10 @@ Austrian FWF – maDMP mapping -=============================================== +============================ We performed a mapping for each section using te Evaluation Rubric of the FWF template. Section: I General Information ---------------------------------- +------------------------------- .. list-table:: Subsection: I.1 Administrative information :class: small-table @@ -16,12 +16,12 @@ Section: I General Information - OSTrails AP * - Provide information such as name of principal investigator, FWF project number, and version of DMP - Contains the minimal information required to identify the principal investigator and the references of the project as well as the version of the DMP. - - dmp/contact/name, - dmp/project/number, + - dmp/contact/name, + dmp/project/number, dmp/project/description, dmp/project/funding/funder_id, dmp/project/funding/grant_id, - - + - .. list-table:: Subsection: I.2 Data management responsibilities and resources :class: small-table @@ -37,13 +37,13 @@ Section: I General Information contributor/role, contributor/affiliation, contributor/name, - - + - * - What resources will be dedicated to data management and ensuring that data will be FAIR (Findable, Accessible, Interoperable, Re-usable)? - Provides clear estimates of the resources and costs (for example, staff time and repository charges) that will be dedicated to data management and ensuring that data will be FAIR and describes how these costs will be covered. Alternatively, there is a statement that no additional resources are needed. - cost/description, - cost/value, + cost/value, cost/title, - - + - Section: II Data Characteristics --------------------------------- @@ -58,34 +58,34 @@ Section: II Data Characteristics - OSTrails AP * - How will new data be collected or produced and/or how will existing data be re-used? - Gives clear details of where the existing data come from and how new data will be collected or produced. It clearly explains methods and software used. - - + - - dataset/methodology * - What data (types, formats, and, volumes) will be collected or produced? - Explains, if existing data are re-used, how these data will be accessed and any constraints on their re-use. - - dataset/is_reused, + - dataset/is_reused, dataset/distribution /data_access, - - * - + * - - Clearly describes or lists what data types will be generated (for example, numeric, textual, audio, or video) and their associated data formats. - dataset/type , dataset/distribution /format - - - * - + - + * - - Explains why certain formats have been chosen and indicates if they are in open and standard format. If a proprietary format is used, it explains why. - dataset/distribution /description, - dataset/distribution /format_justification - * - + * - - Provides information about the estimated data volume. - dataset/distribution/byte_size - - + - Section: III Documentation and Data Quality ------------------------------------------------- +-------------------------------------------- .. list-table:: Subsection: III.1 Metadata and documentation :class: small-table @@ -98,15 +98,15 @@ Section: III Documentation and Data Quality * - What metadata and documentation (for example, the methodology of data collection and way of organising the data) will accompany the data? - Clearly outlines the metadata that will accompany the data, with reference to good practice in the community (for example, uses metadata standards where they exist). - datset/metadata - - - * - + - + * - - Indicates how the data will be organised during the project (for example, naming conventions, version control strategy, and folder structures). - dataset/metadata dataset/data_quality_assurance - - - * - + - + * - - Clearly outlines the documentation needed to enable data re-use, stating where the information will be recorded (for example, a database with links to each item, a ‘readme’ text file, code books, or lab notebooks). - - + - - dataset/methodology .. list-table:: Subsection: III.2 Data quality control @@ -119,11 +119,11 @@ Section: III Documentation and Data Quality - OSTrails AP * - What data quality control measures will be used? - Clearly describes the approach taken to ensure and document quality control in the collection of data during the lifetime of the project. - - + - - dataset/methodology Section: IV Data Storage, Sharing, and Long-Term Preservation --------------------------------------------------------------------- +-------------------------------------------------------------- .. list-table:: Subsection: IV.1 Data storage and backup during the research process :class: small-table @@ -137,20 +137,20 @@ Section: IV Data Storage, Sharing, and Long-Term Preservation - The location where the data and backups will be stored during the research activities. - dataset/distribution /host/url - - - * - + - + * - - How often backups will be performed. - dataset/distribution /host/backup_type - - - * - + - + * - - The use of robust, managed storage with automatic backup (for example, storage provided by the home institution). - dataset/distribution /host/backup_frequency, dataset/distribution /host/backup_type - - - * - + - + * - - Explains why institutional storage will not be used (and for what part of the data) and describes the (additional) locations, storage media, and procedures that will be used for storing and backing up data during the project. - dataset/distribution /host/description, @@ -158,7 +158,7 @@ Section: IV Data Storage, Sharing, and Long-Term Preservation /host/url , dataset/distribution /access_url - - + - * - How will data security and protection of sensitive data be taken care of during the research? - How the data will be recovered in the event of a technical incident. - dataset/distribution @@ -183,49 +183,47 @@ Section: IV Data Storage, Sharing, and Long-Term Preservation dataset/distribution /license/start_date, dataset/issued - - + - * - In which repository will the data be archived and made available for re-use? What persistent identifier (e.g., DOI) and which usage licence (e.g., CC BY) will be used? - Specifies a repository for data re-use and explains which persistent identifiers (PIDs) are provided for the data and under which licence the data will be made available. (see FWF Open Access Policy for Research Data). - dataset/distribution /host/url, dataset/distribution /licenselicense_ref - - - * - + - + * - - Clearly explains, if applicable, why data sharing is limited or not possible, and who can access the data under which conditions (for example, only members of certain communities or via a sharing agreement). - dataset/security_and _privacy, dataset/personal_data, dataset/sensitive_data - - - * - + - + * - - Explains what actions will be taken to overcome or to minimise data sharing restrictions. - dataset/distribution /license/start_date - - + - * - What methods and software tools are needed to access and use the data? - Clearly indicates which specific tools or software (for example, specific scripts, codes, or algorithms developed during the project, version of the software) potential users may need to access, interpret, and (re-) use the data. - dataset/technical_resouce/* - - * - + * - - Provides details on how the data, accompanying documentation, and any other required technology such as copies of software in specific versions will be archived in the long term. - dataset/distribution/host/url - - + - * - How will data for preservation be selected, and where will the data be preserved long-term? - Provides details of which (versions of) data and accompanying documentation will be retained or destroyed, and explains the rationale (for example, contractual, legal requirements, or regulatory purposes). - dataset/preservation_statement - dmp/related_policy - * - + * - - Provides details of what data collected or created in the project will be preserved in the long term and clearly indicates for how long. This should be in alignment with institutional, or national policies and/or legislation, or community standards. - dataset/preservation_statement, dataset/distribution /license/start_date, dataset/data_quality_assurance - - - - + - Section: V Legal and Ethical Aspects --------------------------------------------------------------------- +------------------------------------- .. list-table:: Subsection: V.1 Legal aspects :class: small-table @@ -237,31 +235,31 @@ Section: V Legal and Ethical Aspects - OSTrails AP * - How will legal issues, such as intellectual property rights and ownership, be managed? What legislation is applicable? - Clearly explains who will have the rights to control access to the data. - - dataset/creator/*, + - dataset/creator/\*, dataset/distribution /license/license_ref, dataset/data_quality_assurance - - - * - + - + * - - Explains for multi-partner projects and multiple data owners how these matters are addressed in the consortium agreement. - dataset/distribution /license/license_ref, dataset/data_quality_assurance - - - * - + - + * - - Clearly explains, if applicable, how intellectual property rights will be managed. - - + - - dataset/distribution /property_rights_explanation - * - + * - - Indicates, if applicable, whether there are any restrictions on the re-use of third-party data. - - + - - dataset/distribution /restriction_explanation * - If personal data are processed, how will compliance with legislation on personal data and on security be ensured? - Clearly indicates if personal data will be collected/used as part of the project, and, if applicable, how compliance with applicable legislation will be ensured (for example, by gaining informed consent, considering encryption, anonymisation, or pseudonymisation). - dataset/personal_data - - + - .. list-table:: Subsection: V.2 Ethical aspects :class: small-table @@ -274,14 +272,14 @@ Section: V Legal and Ethical Aspects * - What ethical issues and codes of conduct are there, and how will they be taken into account? - Provides details of what ethical issues have been considered that may affect data storage, sharing, and/or preservation, and demonstrates that adequate measures are in place to manage ethical requirements. - dataset/security_and_privacy - - - * - + - + * - - Mentions, if applicable, whether ethical review is being pursued. If ethical approval has been obtained, refers to the relevant committee and documents. - ethical_issues_exist, ethical_issues_report, ethical_issues_description - - - * - + - + * - - Refers to relevant ethical guidelines and/or codes of conduct or alternatively provides a clear statement that explains why ethical issues have not been considered. - - + - - dmp/related_policy diff --git a/docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst b/docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst index dda9f90..5340109 100644 --- a/docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst +++ b/docs/commons/dmp/mappings/Science-Europe-maDMP-mapping.rst @@ -1,392 +1,389 @@ Science Europe maDMP mapping -======================================= +============================ We performed a mapping for each section using te Evaluation Rubric of the Science Europe template. Section: GENERAL INFORMATION ---------------------------------- +----------------------------- .. list-table:: Subsection: Administrative information - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Provide information such as name of applicant, project number (if applicable), funding programme, version of DMP. - - This section contains the minimal information required to identify the applicant and the references of the project. - - dmp/contact/name, - dmp/project/number, - dmp/project/description, - dmp/project/funding/funder_id, - dmp/project/funding/grant_id - - + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Provide information such as name of applicant, project number (if applicable), funding programme, version of DMP. + - This section contains the minimal information required to identify the applicant and the references of the project. + - dmp/contact/name, + dmp/project/number, + dmp/project/description, + dmp/project/funding/funder_id, + dmp/project/funding/grant_id + - Section: 1 DATA DESCRIPTION AND COLLECTION OR RE-USE OF EXISTING DATA -------------------------------------------------------------------------- +---------------------------------------------------------------------- .. list-table:: Subsection: 1a How will new data be collected or produced and/or how will existing data be re-used? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Explain which methodologies or software will be used if new data are collected or produced. - - Gives clear details of where the existing data come from and how new data will be collected or produced. It clearly explains methods and software used. - - - - dataset/methodology - * - State any constraints on re-use of existing data if there are any. - - Explains, if existing data are re-used, how these data will be accessed and any constraints on their re-use. - - ditribution/data_access, - dmp/ethical_issues_exist, - dataset/is_reused, - dataset/security_and_privacy - - dataset/is_reused, - distribution/restriction_explanation - * - Explain how data provenance will be documented. - - Explains clearly, if applicable, why new data must be collected, rather than re-using existing data. - - dataset/data_quality_assurance - - - * - Briefly state the reasons if the re-use of any existing data sources has been considered but discarded. - - Explains clearly, if applicable, why new data must be collected, rather than re-using existing data. - - - - dataset/methodology + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain which methodologies or software will be used if new data are collected or produced. + - Gives clear details of where the existing data come from and how new data will be collected or produced. It clearly explains methods and software used. + - + - dataset/methodology + * - State any constraints on re-use of existing data if there are any. + - Explains, if existing data are re-used, how these data will be accessed and any constraints on their re-use. + - ditribution/data_access, + dmp/ethical_issues_exist, + dataset/is_reused, + dataset/security_and_privacy + - dataset/is_reused, + distribution/restriction_explanation + * - Explain how data provenance will be documented. + - Explains clearly, if applicable, why new data must be collected, rather than re-using existing data. + - dataset/data_quality_assurance + - + * - Briefly state the reasons if the re-use of any existing data sources has been considered but discarded. + - Explains clearly, if applicable, why new data must be collected, rather than re-using existing data. + - + - dataset/methodology .. list-table:: Subsection: 1b What data (for example the kind, formats, and volumes), will be collected or produced? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Give details on the kind of data: for example, numeric (databases, spreadsheets), textual (documents), image, audio, video, and/or mixed media. - - Clearly describes or lists what data types will be generated (for example numeric, textual, audio, or video) and their associated data formats, including, if needed, data conversion strategies. - - dataset/type, - dataset/description - - - * - Give details on the data format: the way in which the data is encoded for storage, often reflected by the filename extension (for example pdf, xls, doc, txt, or rdf). - - Explains why certain formats have been chosen and indicates if they are in open and standard format. If a proprietary format is used, it explains why - - dataset/format - distribution/format - - - * - Justify the use of certain formats. For example, decisions may be based on staff expertise within the host organisation, a preference for open formats, standards accepted by data repositories, widespread usage within the research community, or on the software or equipment that will be used. - - Explains why certain formats have been chosen and indicates if they are in open and standard format. If a proprietary format is used, it explains why - - distribution/description - - distribution/format_justification - * - Give preference to open and standard formats as they facilitate sharing and long-term re-use of data (several repositories provide lists of such ‘preferred formats’). - - Explains why certain formats have been chosen and indicates if they are in open and standard format. If a proprietary format is used, it explains why - - distribution/format - - - * - Give details on the volumes (they can be expressed in storage space required (bytes), and/or in numbers of objects, files, rows, and columns). - - Provides information about the estimated data volume. - - distribution/byte_size - - + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Give details on the kind of data: for example, numeric (databases, spreadsheets), textual (documents), image, audio, video, and/or mixed media. + - Clearly describes or lists what data types will be generated (for example numeric, textual, audio, or video) and their associated data formats, including, if needed, data conversion strategies. + - dataset/type, + dataset/description + - + * - Give details on the data format: the way in which the data is encoded for storage, often reflected by the filename extension (for example pdf, xls, doc, txt, or rdf). + - Explains why certain formats have been chosen and indicates if they are in open and standard format. If a proprietary format is used, it explains why + - dataset/format + distribution/format + - + * - Justify the use of certain formats. For example, decisions may be based on staff expertise within the host organisation, a preference for open formats, standards accepted by data repositories, widespread usage within the research community, or on the software or equipment that will be used. + - Explains why certain formats have been chosen and indicates if they are in open and standard format. If a proprietary format is used, it explains why + - distribution/description + - distribution/format_justification + * - Give preference to open and standard formats as they facilitate sharing and long-term re-use of data (several repositories provide lists of such ‘preferred formats’). + - Explains why certain formats have been chosen and indicates if they are in open and standard format. If a proprietary format is used, it explains why + - distribution/format + - + * - Give details on the volumes (they can be expressed in storage space required (bytes), and/or in numbers of objects, files, rows, and columns). + - Provides information about the estimated data volume. + - distribution/byte_size + - Section: 2 DOCUMENTATION AND DATA QUALITY ----------------------------------------------- - -.. list-table:: Subsection: 2a What metadata and documentation (for example the methodology of data collection and way of organising data) will accompany the data? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Indicate which metadata will be provided to help others identify and discover the data. - - Clearly outlines the metadata that will accompany the data, with reference to good practice in the community (for example uses metadata standards where they exist). - - dataset/metadata - - - * - Indicate which metadata standards (for example DDI, TEI, EML, MARC, CMDI) will be used. - - Clearly outlines the documentation needed to enable data re-use, stating where the information will be recorded (for example a database with links to each item, a ‘readme’ text file, file headers, code books, or lab notebooks). - - dataset/metadata - - - * - Use community metadata standards where these are in place. - - - - dataset/metadata - - - * - Indicate how the data will be organised during the project mentioning, for example, conventions, version control, and folder structures. Consistent, well-ordered research data will be easier to find, understand, and reuse. - - Indicates how the data will be organised during the project (for example naming conventions, version control strategy and folder structures). - - dataset/metadata, - dataset/keyword, - dataset/data_quality_assurance - - - * - Consider what other documentation is needed to enable re-use. This may include information on the methodology used to collect the data, analytical and procedural information, definitions of variables, units of measurement, and so on. - - - - - - dataset/methodology - * - Consider how this information will be captured and where it will be recorded (for example in a database with links to each item, a ’readme’ text file, file headers, code books, or lab notebooks). - - - - - - dataset/metadata/description, - distribution/host/* +------------------------------------------ + +.. list-table:: Subsection: 2a What metadata and documentation (for example the methodology of data collection and way of organising data) will accompany the data? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Indicate which metadata will be provided to help others identify and discover the data. + - Clearly outlines the metadata that will accompany the data, with reference to good practice in the community (for example uses metadata standards where they exist). + - dataset/metadata + - + * - Indicate which metadata standards (for example DDI, TEI, EML, MARC, CMDI) will be used. + - Clearly outlines the documentation needed to enable data re-use, stating where the information will be recorded (for example a database with links to each item, a ‘readme’ text file, file headers, code books, or lab notebooks). + - dataset/metadata + - + * - Use community metadata standards where these are in place. + - + - dataset/metadata + - + * - Indicate how the data will be organised during the project mentioning, for example, conventions, version control, and folder structures. Consistent, well-ordered research data will be easier to find, understand, and reuse. + - Indicates how the data will be organised during the project (for example naming conventions, version control strategy and folder structures). + - dataset/metadata, + dataset/keyword, + dataset/data_quality_assurance + - + * - Consider what other documentation is needed to enable re-use. This may include information on the methodology used to collect the data, analytical and procedural information, definitions of variables, units of measurement, and so on. + - + - + - dataset/methodology + * - Consider how this information will be captured and where it will be recorded (for example in a database with links to each item, a ’readme’ text file, file headers, code books, or lab notebooks). + - + - + - dataset/metadata/description, + distribution/host/* .. list-table:: Subsection: 2b What data quality control measures will be used? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Explain how the consistency and quality of data collection will be controlled and documented. This may include processes such as calibration, repeated samples or measurements, standardised data capture, data entry validation, peer review of data, or representation with controlled vocabularies. - - Clearly describes the approach taken to ensure and document quality control in the collection of data during the lifetime of the project. - - dataset/data_quality_assurance - - - + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain how the consistency and quality of data collection will be controlled and documented. This may include processes such as calibration, repeated samples or measurements, standardised data capture, data entry validation, peer review of data, or representation with controlled vocabularies. + - Clearly describes the approach taken to ensure and document quality control in the collection of data during the lifetime of the project. + - dataset/data_quality_assurance + - + Section: 3 STORAGE AND BACKUP DURING THE RESEARCH PROCESS --------------------------------------------------------------- +---------------------------------------------------------- .. list-table:: Subsection: 3a How will data and metadata be stored and backed up during the research? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Describe where the data will be stored and backed up during research activities and how often the backup will be performed. It is recommended to store data in least at two separate locations. - - Clearly (even if briefly) describes: - the location where the data and backups will be stored during the research activities. - how often backups will be performed. - the use of robust, managed storage with automatic backup (for example storage provided by the home institution). - - host/backup_type - host/backup_frequency - - - * - Give preference to the use of robust, managed storage with automatic backup, such as provided by IT support services of the home institution. Storing data on laptops, stand-alone hard drives, or external storage devices such as USB sticks is not recommended. - - Explains why institutional storage will not be used (and for what part of the data) and describes the (additional) locations, storage media, and procedures that will be used for storing and backing up data during the project. - - dataset/distribution/host/* - - - - -.. list-table:: Subsection: 3b How will data security and protection of sensitive data be taken care of during the research? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Explain how the data will be recovered in the event of an incident. - - Clearly explains - how the data will be recovered in the event of an incident. - - - - host/description - host/data_recovery_explanation - * - Explain who will have access to the data during the research and how access to data is controlled, especially in collaborative partnerships. - - Clearly explains - Who will have access to the data during the research. - - distribution/data_access - distribution/licence - - distribution/restriction_explanation - * - Consider data protection, particularly if your data is sensitive (for example containing personal data, politically sensitive information, or trade secrets). Describe the main risks and how these will be managed. - - which institutional and/or national data protection policies are in place and provides a link to where they can be accessed. - - dataset/security_and_privacy - dataset/distribution/host/licence - - distribution/restriction_explanation - dmp/related_policies - * - Explain which institutional data protection policies are in place. - - Clearly describes the additional security measures (in terms of physical security, network security, and security of computer systems and files) that will be taken to ensure that stored and transferred data are safe, when sensitive data are involved (for example personal data, politically sensitive information, or trade secrets). - - dataset/security_and_privacy - dataset/distribution/host/licence - - distribution/restriction_explanation - dmp/related_policies + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Describe where the data will be stored and backed up during research activities and how often the backup will be performed. It is recommended to store data in least at two separate locations. + - Clearly (even if briefly) describes: + the location where the data and backups will be stored during the research activities. + how often backups will be performed. + the use of robust, managed storage with automatic backup (for example storage provided by the home institution). + - host/backup_type + host/backup_frequency + - + * - Give preference to the use of robust, managed storage with automatic backup, such as provided by IT support services of the home institution. Storing data on laptops, stand-alone hard drives, or external storage devices such as USB sticks is not recommended. + - Explains why institutional storage will not be used (and for what part of the data) and describes the (additional) locations, storage media, and procedures that will be used for storing and backing up data during the project. + - dataset/distribution/host/* + - + + +.. list-table:: Subsection: 3b How will data security and protection of sensitive data be taken care of during the research? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain how the data will be recovered in the event of an incident. + - Clearly explains + how the data will be recovered in the event of an incident. + - + - host/description + host/data_recovery_explanation + * - Explain who will have access to the data during the research and how access to data is controlled, especially in collaborative partnerships. + - Clearly explains + Who will have access to the data during the research. + - distribution/data_access + distribution/licence + - distribution/restriction_explanation + * - Consider data protection, particularly if your data is sensitive (for example containing personal data, politically sensitive information, or trade secrets). Describe the main risks and how these will be managed. + - which institutional and/or national data protection policies are in place and provides a link to where they can be accessed. + - dataset/security_and_privacy + dataset/distribution/host/licence + - distribution/restriction_explanation + dmp/related_policies + * - Explain which institutional data protection policies are in place. + - Clearly describes the additional security measures (in terms of physical security, network security, and security of computer systems and files) that will be taken to ensure that stored and transferred data are safe, when sensitive data are involved (for example personal data, politically sensitive information, or trade secrets). + - dataset/security_and_privacy + dataset/distribution/host/licence + - distribution/restriction_explanation + dmp/related_policies Section: 4 LEGAL AND ETHICAL REQUIREMENTS, CODES OF CONDUCT --------------------------------------------------------------------- +------------------------------------------------------------ .. list-table:: Subsection: 4a If personal data are processed, how will compliance with legislation on personal data and security be ensured? - - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Ensure that when dealing with personal data, data protection laws (for example GDPR) are complied with: Gain informed consent for preservation and/or sharing of personal data. - - Clearly indicates if personal data will be collected/used as part of the project, and, if applicable, how compliance with applicable legislation will be ensured (for example by gaining informed consent, considering encryption, anonymisation, or pseudonymisation). - - dataset/security_and_privacy - - distribution/property_rights_explanation + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Ensure that when dealing with personal data, data protection laws (for example GDPR) are complied with: Gain informed consent for preservation and/or sharing of personal data. + - Clearly indicates if personal data will be collected/used as part of the project, and, if applicable, how compliance with applicable legislation will be ensured (for example by gaining informed consent, considering encryption, anonymisation, or pseudonymisation). + - dataset/security_and_privacy + - distribution/property_rights_explanation .. list-table:: Subsection: 4b How will other legal issues, such as intellectual property rights and ownership, be managed? What legislation is applicable? - - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Explain who will be the owner of the data, meaning who will have the rights to control access: - - - - contributor/role - - - * - Indicate whether intellectual property rights (for example Database Directive, sui generis rights) are affected. If so, explain which and how will they be dealt with. - - - - - - distribution/property_rights_explanation - * - Indicate whether there are any restrictions on the re-use of third-party data. - - - - distribution/data_access - distribution/licence - - distribution/restriction_explanation + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain who will be the owner of the data, meaning who will have the rights to control access: + - + - contributor/role + - + * - Indicate whether intellectual property rights (for example Database Directive, sui generis rights) are affected. If so, explain which and how will they be dealt with. + - + - + - distribution/property_rights_explanation + * - Indicate whether there are any restrictions on the re-use of third-party data. + - + - distribution/data_access + distribution/licence + - distribution/restriction_explanation .. list-table:: Subsection: 4c What ethical issues and codes of conduct are there, and how will they be taken into account? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Consider whether ethical issues can affect how data are stored and transferred, who can see or use them, and how long they are kept. Demonstrate awareness of these aspects and respective planning. + - Provides details of what ethical issues have been considered that may affect data storage, transfer, use, sharing and/or preservation, and demonstrates that adequate measures are in place to manage ethical requirements. + - dmp/ethical_issues_exist + dmp/ethical_issues_description + dmp/ethical_issues_report + - + * - Follow the national and international codes of conducts and institutional ethical guidelines, and check if ethical review (for example by an ethics committee) is required for data collection in the research project. + - Refers to relevant ethical guidelines and/or codes of conduct or alternatively provides a clear statement that explains why ethical issues have not been considered. + - dmp/ethical_issues_exist + dmp/ethical_issues_description + dmp/ethical_issues_report + - - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Consider whether ethical issues can affect how data are stored and transferred, who can see or use them, and how long they are kept. Demonstrate awareness of these aspects and respective planning. - - Provides details of what ethical issues have been considered that may affect data storage, transfer, use, sharing and/or preservation, and demonstrates that adequate measures are in place to manage ethical requirements. - - dmp/ethical_issues_exist - dmp/ethical_issues_description - dmp/ethical_issues_report - - - * - Follow the national and international codes of conducts and institutional ethical guidelines, and check if ethical review (for example by an ethics committee) is required for data collection in the research project. - - Refers to relevant ethical guidelines and/or codes of conduct or alternatively provides a clear statement that explains why ethical issues have not been considered. - - dmp/ethical_issues_exist - dmp/ethical_issues_description - dmp/ethical_issues_report - - - Section: 5 DATA SHARING AND LONG-TERM PRESERVATION --------------------------------------------------------------------- +-------------------------------------------------- .. list-table:: Subsection: 5a How and when will data be shared? Are there possible restrictions to data sharing or embargo reasons? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Explain how the data will be discoverable and shared (for example by deposit in a trustworthy data repository, indexed in a catalogue, use of a secure data service, direct handling of data requests, or use of another mechanism). - - Clearly describes how the data and/or metadata will be made discoverable and shared. - - host/titl - host/url - distribution/description - distribution/data_access - - + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain how the data will be discoverable and shared (for example by deposit in a trustworthy data repository, indexed in a catalogue, use of a secure data service, direct handling of data requests, or use of another mechanism). + - Clearly describes how the data and/or metadata will be made discoverable and shared. + - host/title + host/url + distribution/description + distribution/data_access + - .. list-table:: Subsection: 5b How will data for preservation be selected, and where data will be preserved longterm (for example a data repository or archive)? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Indicate what data must be retained or destroyed for contractual, legal, or regulatory purposes. - - Provides details of what data collected or created in the project will be preserved in the long term and clearly indicates for how long. This should be in alignment with funder, institutional, or national policies and/or legislation, or community standards. - - dataset/preservation_statement - - dmp/related_policies - * - Indicate how it will be decided what data to keep. Describe the data to be preserved long-term. - - Provides details of which (versions of) data and accompanying documentation will be retained or destroyed, and explains the rationale (for example contractual, legal requirements, or regulatory purposes). - - dataset/preservation_statement - - - * - Explain the foreseeable research uses (and/ or users) for the data. - - Provides details of how the selection is made, and what possible interest there would be for re-use (or not). - - dataset/descriptions - - - * - Indicate where the data will be deposited. If no established repository is proposed, demonstrate in the data management plan that the data can be curated effectively beyond the lifetime of the grant. It is recommended to demonstrate that the repositories policies and procedures (including any metadata standards, and costs involved) have been checked. - - Provides details on how the data, accompanying documentation, and any other required technology such as copies of software in specific versions will be archived in the long term. - - dmp/cost - dataset/preservation_statement - - + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Indicate what data must be retained or destroyed for contractual, legal, or regulatory purposes. + - Provides details of what data collected or created in the project will be preserved in the long term and clearly indicates for how long. This should be in alignment with funder, institutional, or national policies and/or legislation, or community standards. + - dataset/preservation_statement + - dmp/related_policies + * - Indicate how it will be decided what data to keep. Describe the data to be preserved long-term. + - Provides details of which (versions of) data and accompanying documentation will be retained or destroyed, and explains the rationale (for example contractual, legal requirements, or regulatory purposes). + - dataset/preservation_statement + - + * - Explain the foreseeable research uses (and/ or users) for the data. + - Provides details of how the selection is made, and what possible interest there would be for re-use (or not). + - dataset/descriptions + - + * - Indicate where the data will be deposited. If no established repository is proposed, demonstrate in the data management plan that the data can be curated effectively beyond the lifetime of the grant. It is recommended to demonstrate that the repositories policies and procedures (including any metadata standards, and costs involved) have been checked. + - Provides details on how the data, accompanying documentation, and any other required technology such as copies of software in specific versions will be archived in the long term. + - dmp/cost + dataset/preservation_statement + - .. list-table:: Subsection: 5c What methods or software tools are needed to access and use data? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Indicate whether potential users need specific tools to access and (re-)use the data. Consider the sustainability of software needed for accessing the data. - - Clearly indicates which specific tools or software (for example specific scripts, codes, or algorithms developed during the project, version of the software) potential users may need to access, interpret, and (re-)use the data. - - dataset/technical_resource - - dataset/methodology - * - Indicate whether data will be shared via a repository requests handled directly, or whether another mechanism will be used? - - Provides information, if relevant, on any protocol to access the data (for example if authentication is needed or if there is a data access request procedure). - - dataset/dataset_id - - + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Indicate whether potential users need specific tools to access and (re-)use the data. Consider the sustainability of software needed for accessing the data. + - Clearly indicates which specific tools or software (for example specific scripts, codes, or algorithms developed during the project, version of the software) potential users may need to access, interpret, and (re-)use the data. + - dataset/technical_resource + - dataset/methodology + * - Indicate whether data will be shared via a repository requests handled directly, or whether another mechanism will be used? + - Provides information, if relevant, on any protocol to access the data (for example if authentication is needed or if there is a data access request procedure). + - dataset/dataset_id + - .. list-table:: Subsection: 5d How will the application of a unique and persistent identifier (such as a Digital Object Identifier (DOI)) to each data set be ensured? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Explain how the data might be re-used in other contexts. Persistent identifiers (PIDs) should be applied so that data can be reliably and efficiently located and referred to. Persistent identifiers also help to track citations and re-use - - Specifies how the data can be re-used in other contexts. - Clearly indicates if and which persistent identifiers (PIDs) are provided for all datasets, individual datasets, data collections, or subsets. If PIDs will not be used, it explains why. - - dataset/dataset_id - - dataset/methodology - + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain how the data might be re-used in other contexts. Persistent identifiers (PIDs) should be applied so that data can be reliably and efficiently located and referred to. Persistent identifiers also help to track citations and re-use + - Specifies how the data can be re-used in other contexts. + Clearly indicates if and which persistent identifiers (PIDs) are provided for all datasets, individual datasets, data collections, or subsets. If PIDs will not be used, it explains why. + - dataset/dataset_id + - dataset/methodology + Section: 6 DATA MANAGEMENT RESPONSIBILITIES AND RESOURCES --------------------------------------------------------------------- +--------------------------------------------------------- .. list-table:: Subsection: 6a Who (for example role, position, and institution) will be responsible for data management (i.e. the data steward)? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Outline the roles and responsibilities for data management/ stewardship activities for example data capture, metadata production, data quality, storage and backup, data archiving, and data sharing. Name responsible individual(s) where possible. - - Clearly outlines the roles and responsibilities for data management/stewardship (for example data capture, metadata production, data quality, storage and backup, data archiving, and data sharing), naming responsible individual(s) where possible. - - contributor/role - - - * - For collaborative projects, explain the co-ordination of data management responsibilities across partners - - Clearly indicates who is responsible for day-to-day implementation and adjustments to the DMP. - - contributor/role - - - * - Indicate who is responsible for implementing the DMP, and for ensuring it is reviewed and, if necessary, revised. - - Explains, for collaborative projects, the co-ordination of data management responsibilities across partners. - - contributor/role - - - * - Indicate who is responsible for implementing the DMP, and for ensuring it is reviewed and, if necessary, revised. - - - - dmp/modified - - - -.. list-table:: Subsection: 6b What resources (for example financial and time) will be dedicated to data management and ensuring that data will be FAIR (Findable, Accessible, Interoperable, Reusable)? - :class: small-table - :header-rows: 1 - - * - Question or Requirement information - - Evaluation Rubric - - DCS - - OSTrails AP - * - Explain how the necessary resources (for example time) to prepare the data for sharing/preservation (data curation) have been costed in. - - - - dmp/cost - - dataset/methodology - * - Carefully consider and justify any resources needed to deliver the data. These may include storage costs, hardware, staff time, costs of preparing data for deposit, and repository charges. - - - - dmp/cost - - - * - Indicate whether additional resources will be needed to prepare data for deposit or to meet any charges from data repositories. If yes, explain how much is needed and how such costs will be covered - - - - dmp/cost - dataset/technical_resource - - \ No newline at end of file + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Outline the roles and responsibilities for data management/ stewardship activities for example data capture, metadata production, data quality, storage and backup, data archiving, and data sharing. Name responsible individual(s) where possible. + - Clearly outlines the roles and responsibilities for data management/stewardship (for example data capture, metadata production, data quality, storage and backup, data archiving, and data sharing), naming responsible individual(s) where possible. + - contributor/role + - + * - For collaborative projects, explain the co-ordination of data management responsibilities across partners + - Clearly indicates who is responsible for day-to-day implementation and adjustments to the DMP. + - contributor/role + - + * - Indicate who is responsible for implementing the DMP, and for ensuring it is reviewed and, if necessary, revised. + - Explains, for collaborative projects, the co-ordination of data management responsibilities across partners. + - contributor/role + - + * - Indicate who is responsible for implementing the DMP, and for ensuring it is reviewed and, if necessary, revised. + - + - dmp/modified + - + +.. list-table:: Subsection: 6b What resources (for example financial and time) will be dedicated to data management and ensuring that data will be FAIR (Findable, Accessible, Interoperable, Reusable)? + :class: small-table + :header-rows: 1 + + * - Question or Requirement information + - Evaluation Rubric + - DCS + - OSTrails AP + * - Explain how the necessary resources (for example time) to prepare the data for sharing/preservation (data curation) have been costed in. + - + - dmp/cost + - dataset/methodology + * - Carefully consider and justify any resources needed to deliver the data. These may include storage costs, hardware, staff time, costs of preparing data for deposit, and repository charges. + - + - dmp/cost + - + * - Indicate whether additional resources will be needed to prepare data for deposit or to meet any charges from data repositories. If yes, explain how much is needed and how such costs will be covered + - + - dmp/cost + dataset/technical_resource + - diff --git a/docs/commons/dmp/mappings/index.rst b/docs/commons/dmp/mappings/index.rst index 8575f5a..1f08713 100644 --- a/docs/commons/dmp/mappings/index.rst +++ b/docs/commons/dmp/mappings/index.rst @@ -4,8 +4,8 @@ maDMP mappings - *Planned resource to be developed* .. toctree:: - :maxdepth: 1 - :titlesonly: + :maxdepth: 1 + :titlesonly: - Science Europe maDMP mapping - Austrian FWF – maDMP mapping + Science Europe maDMP mapping + Austrian FWF – maDMP mapping diff --git a/docs/commons/resources.rst b/docs/commons/resources.rst index b665e86..efed865 100644 --- a/docs/commons/resources.rst +++ b/docs/commons/resources.rst @@ -14,17 +14,12 @@ This page embodies the OSTrails Commons, a collection of reusable resource accor The following resources in this section are part of the DMP Commons component. .. toctree:: - :maxdepth: 1 - :caption: Commons Resources - - DMP Commons - SKG Commons - FAIR Commons - - - - + :maxdepth: 1 + :caption: Commons Resources + DMP Commons + SKG Commons + FAIR Commons Cross-Cutting and Supporting Resources -------------------------------------- diff --git a/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst b/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst index d4ed6ae..fc10915 100644 --- a/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst +++ b/docs/commons/skg/mappings/Mapping-SKGIF-DDI.rst @@ -1422,7 +1422,7 @@ Topic when collected from DDI2.5 files | $.identifiers[*].scheme | String | mandatory | The scheme/name of the external identifier | | Using ExtLink element is a workaround, there is not actually a field | | | | | system | /codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink/@title | for (Persistent) Identifiers | | | | | | /codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink/@title | Even if keyword and topcClas are the best mappings, it is possible to | -| | | | | | map any "vocabulary field" to this e.g. | +| | | | | | map any "vocabulary field" to this e.g. | | | | | | | /codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink/@title | | | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink/@title | | | | | | | /codeBook/stdyDscr/method/dataColl/sampProc/ExtLink/@title | @@ -1431,7 +1431,7 @@ Topic when collected from DDI2.5 files | | | | | | /codeBook/stdyDscr/method/dataColl/resInstru/ExtLink/@title | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.identifiers[*].value | String | mandatory | The external identifier | | Even if keyword and topcClas are the best mappings, it is possible to | -| | | | | /codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink | map any "vocabulary field" to this e.g. | +| | | | | /codeBook/stdyDscr/stdyInfo/subject/keyword/ExtLink | map any "vocabulary field" to this e.g. | | | | | | /codeBook/stdyDscr/stdyInfo/subject/topcClas/ExtLink | /codeBook/stdyDscr/sumDscr/anlyUnit/ExtLink | | | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth/ExtLink | | | | | | | /codeBook/stdyDscr/method/dataColl/sampProc/ExtLink | @@ -1439,13 +1439,13 @@ Topic when collected from DDI2.5 files | | | | | | /codeBook/stdyDscr/sumDscr/dataKind/ExtLink | | | | | | | /codeBook/stdyDscr/method/dataColl/resInstru/ExtLink | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to topic. | information can be generated because it is always “topic” |   | +| $.entity_type | String | mandatory | Needed for parsing purposes; fixed to topic. | information can be generated because it is always “topic” | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ -| $.labels | Object | optional | Labels (terms) | structure, no need to map |   | +| $.labels | Object | optional | Labels (terms) | structure, no need to map | | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.labels.ISO 639-1 language | name of the key | ? | The name of the key, which must be ISO 639-1 | | Even if keyword and topcClas are the best mappings, it is possible to | -| code | | | language code and be the language of the content | /codeBook/stdyDscr/stdyInfo/subject/keyword/@xml:lang | map any "vocabulary field" to this e.g. | -| | | | of the value | /codeBook/stdyDscr/stdyInfo/subject/topcClas/@xml:lang | /codeBook/stdyDscr/sumDscr/anlyUnit/@xml:lang | +| code | | | language code and be the language of the content | /codeBook/stdyDscr/stdyInfo/subject/keyword/@xml:lang | map any "vocabulary field" to this e.g. | +| | | | of the value | /codeBook/stdyDscr/stdyInfo/subject/topcClas/@xml:lang | /codeBook/stdyDscr/sumDscr/anlyUnit/@xml:lang | | | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth/@xml:lang | | | | | | | /codeBook/stdyDscr/method/dataColl/sampProc/@xml:lang | | | | | | | /codeBook/stdyDscr/method/dataColl/collMode/@xml:lang | @@ -1453,7 +1453,7 @@ Topic when collected from DDI2.5 files | | | | | | /codeBook/stdyDscr/method/dataColl/resInstru/@xml:lang | +------------------------------+------------------+----------------------+--------------------------------------------------+------------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------+ | $.labels.ISO 639-1 language | Array of Strings | ? | Label describing a Topic in the given (ISO | | Even if keyword and topcClas are the best mappings, it is possible to | -| code[*] | | | 639-1) language, specified by the key name | /codeBook/stdyDscr/stdyInfo/subject/keyword | map any "vocabulary field" to this e.g. | +| code[*] | | | 639-1) language, specified by the key name | /codeBook/stdyDscr/stdyInfo/subject/keyword | map any "vocabulary field" to this e.g. | | | | | | /codeBook/stdyDscr/stdyInfo/subject/topcClas | /codeBook/stdyDscr/sumDscr/anlyUnit | | | | | | | /codeBook/stdyDscr/method/dataColl/timeMeth | | | | | | | /codeBook/stdyDscr/method/dataColl/sampProc | diff --git a/docs/commons/skg/mappings/index.rst b/docs/commons/skg/mappings/index.rst index 6bc296a..d6df7af 100644 --- a/docs/commons/skg/mappings/index.rst +++ b/docs/commons/skg/mappings/index.rst @@ -1,10 +1,10 @@ SKG-IF mappings -================== +=============== .. toctree:: - :maxdepth: 1 - :titlesonly: + :maxdepth: 1 + :titlesonly: - DDI SKG-IF mapping - OpenAIRE Graph SKG-IF mappings + DDI SKG-IF mapping + OpenAIRE Graph SKG-IF mappings diff --git a/docs/commons/skg/mappings/openaire-mappings.rst b/docs/commons/skg/mappings/openaire-mappings.rst index 12e7903..ca6a48a 100644 --- a/docs/commons/skg/mappings/openaire-mappings.rst +++ b/docs/commons/skg/mappings/openaire-mappings.rst @@ -13,108 +13,102 @@ Research Product =============================================== .. list-table:: - :header-rows: 1 - - * - SKG-IF JSON-LD property - - OpenAIRE Graph property - - Notes - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#local_identifier - - https://graph.openaire.eu/docs/data-model/entities/research-product#id - - The internal identifier is used to resolve to the landing page in Explore for the research product. The URL prefix "https://explore.openaire.eu/search/result?id=" is added to the result identifier. - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#identifiers - - https://graph.openaire.eu/docs/data-model/entities/research-product#pids - - - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#entity_type - - product - - Fixed value - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#titles - - https://graph.openaire.eu/docs/data-model/entities/research-product#maintitle or https://graph.openaire.eu/docs/data-model/entities/research-product#subtitle - - Maps the first title with type *main title*. If no *main title* exists, it maps the first *subtitle*. The element always has *none* as language keyword. - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#abstracts - - https://graph.openaire.eu/docs/data-model/entities/research-product#descriptions - - Maps the whole set of descriptions. All of them are associated with the language tag *none*. - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#product_type - - https://graph.openaire.eu/docs/data-model/entities/research-product#sub-types - - | - The sub-types are mapped in the SKG-IF as: - - - publication → literature - - dataset → research data - - software → research software - - otherresearchproduct → other - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#topics - - https://graph.openaire.eu/docs/data-model/entities/research-product#subjects - - | - The mapping considers *{FOS, SDG, keyword}* subject schemes. Each subfield is mapped as follows: - - - term → otf identifier depending on the creation date of the dataset, and the value for the topic - - | - **provenance** - - - trust → subject.provenance.trust - - provenance → subject.provenance.provenance - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#contributions - - https://graph.openaire.eu/docs/data-model/entities/research-product#authors - - | - Each subfield is mapped as follows: - - - by → otf identifier depending on the creation date of the dataset and the ORCID if found in the metadata. If no ORCID is found, the identifier depends on the creation date and a concatenation of result ID and author position in the list of authors. - - declared_affiliations → not mapped so far - - rank → author[*].rank - - contribution_types → not mapped so far - - role → author - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#manifestations - - https://graph.openaire.eu/docs/data-model/entities/research-product#instances, https://graph.openaire.eu/docs/data-model/entities/research-product#container, and https://graph.openaire.eu/docs/data-model/relationships/relationship-object - - | - Each subfield is mapped as follows: - - - | - **type** - - - class → the COAR classification for instance[*].type - - labels → instances[*].type (language keyword always *en*) - - defined_in → https://vocabularies.coar-repositories.org/resource_types/ (Fixed) - - dates → instance.publicationDate (date type always *publication*) - - identifiers → instances[*].pids - - | - **peer_review** - - - status → set to *peer reviewed* if instances[*].refereed is *peer reviewed* - - description → not mapped so far - - | - **access_right** - - - status → instances[*].accessright.label - - description → fixed text depending on status value - - licence → instances[*].licence - - version → not mapped - - | - **biblio** - - - issue → container.iss (only for publications) - - edition → container.edition (only for publications) - - volume → container.volume (only for publications) - - pages → container.sp and container.ep (only for publications) - - in → otf identifier depending on the creation date and container.issnPrinted. If not present, container.issnOnline is used - - hosting_datasource → "https://explore.openaire.eu/search/dataprovider?datasourceId=" + target in the relation isHostedBy - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#relevant_organisations - - https://graph.openaire.eu/docs/data-model/relationships/relationship-object - - The list of landing pages in OpenAIRE built from organization identifiers found in *relation.source* for relations with *relation.relType.name = isAuthorInstitutionOf* and *relation.target* as the considered result - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#funding - - https://graph.openaire.eu/docs/data-model/relationships/relationship-object - - The list of landing pages in OpenAIRE built from project identifiers found in *relation.source* for relations with *relation.relType.name = produces* and *relation.target* as the considered result - - * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#related_products - - https://graph.openaire.eu/docs/data-model/relationships/relationship-object - - For each supported semantics in SKG-IF, the corresponding semantics in the OpenAIRE graph is considered. For any relation type, the list of landing pages in OpenAIRE is built from *relation.target* relations having as *relation.source* the result under consideration \ No newline at end of file + :header-rows: 1 + + * - SKG-IF JSON-LD property + - OpenAIRE Graph property + - Notes + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#local_identifier + - https://graph.openaire.eu/docs/data-model/entities/research-product#id + - The internal identifier is used to resolve to the landing page in Explore for the research product. The URL prefix "https://explore.openaire.eu/search/result?id=" is added to the result identifier. + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#identifiers + - https://graph.openaire.eu/docs/data-model/entities/research-product#pids + - + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#entity_type + - product + - Fixed value + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#titles + - https://graph.openaire.eu/docs/data-model/entities/research-product#maintitle or https://graph.openaire.eu/docs/data-model/entities/research-product#subtitle + - Maps the first title with type *main title*. If no *main title* exists, it maps the first *subtitle*. The element always has *none* as language keyword. + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#abstracts + - https://graph.openaire.eu/docs/data-model/entities/research-product#descriptions + - Maps the whole set of descriptions. All of them are associated with the language tag *none*. + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#product_type + - https://graph.openaire.eu/docs/data-model/entities/research-product#sub-types + - The sub-types are mapped in the SKG-IF as: + + - publication → literature + - dataset → research data + - software → research software + - otherresearchproduct → other + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#topics + - https://graph.openaire.eu/docs/data-model/entities/research-product#subjects + - The mapping considers *{FOS, SDG, keyword}* subject schemes. Each subfield is mapped as follows: + + - term → otf identifier depending on the creation date of the dataset, and the value for the topic + - **provenance** + + - trust → subject.provenance.trust + - provenance → subject.provenance.provenance + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#contributions + - https://graph.openaire.eu/docs/data-model/entities/research-product#authors + - Each subfield is mapped as follows: + + - by → otf identifier depending on the creation date of the dataset and the ORCID if found in the metadata. If no ORCID is found, the identifier depends on the creation date and a concatenation of result ID and author position in the list of authors. + - declared_affiliations → not mapped so far + - rank → author[*].rank + - contribution_types → not mapped so far + - role → author + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#manifestations + - https://graph.openaire.eu/docs/data-model/entities/research-product#instances, https://graph.openaire.eu/docs/data-model/entities/research-product#container, and https://graph.openaire.eu/docs/data-model/relationships/relationship-object + - Each subfield is mapped as follows: + + - **type** + + - class → the COAR classification for instance[*].type + - labels → instances[*].type (language keyword always *en*) + - defined_in → https://vocabularies.coar-repositories.org/resource_types/ (Fixed) + + - dates → instance.publicationDate (date type always *publication*) + - identifiers → instances[*].pids + - **peer_review** + + - status → set to *peer reviewed* if instances[*].refereed is *peer reviewed* + - description → not mapped so far + + - **access_right** + + - status → instances[*].accessright.label + - description → fixed text depending on status value + + - licence → instances[*].licence + - version → not mapped + - **biblio** + + - issue → container.iss (only for publications) + - edition → container.edition (only for publications) + - volume → container.volume (only for publications) + - pages → container.sp and container.ep (only for publications) + - in → otf identifier depending on the creation date and container.issnPrinted. If not present, container.issnOnline is used + - hosting_datasource → "https://explore.openaire.eu/search/dataprovider?datasourceId=" + target in the relation isHostedBy + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#relevant_organisations + - https://graph.openaire.eu/docs/data-model/relationships/relationship-object + - The list of landing pages in OpenAIRE built from organization identifiers found in *relation.source* for relations with *relation.relType.name = isAuthorInstitutionOf* and *relation.target* as the considered result + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#funding + - https://graph.openaire.eu/docs/data-model/relationships/relationship-object + - The list of landing pages in OpenAIRE built from project identifiers found in *relation.source* for relations with *relation.relType.name = produces* and *relation.target* as the considered result + + * - https://skg-if.github.io/interoperability-framework/docs/research-product.html#related_products + - https://graph.openaire.eu/docs/data-model/relationships/relationship-object + - For each supported semantics in SKG-IF, the corresponding semantics in the OpenAIRE graph is considered. For any relation type, the list of landing pages in OpenAIRE is built from *relation.target* relations having as *relation.source* the result under consideration diff --git a/docs/commons/skg/skg-commons.rst b/docs/commons/skg/skg-commons.rst index 063ea04..6a64119 100644 --- a/docs/commons/skg/skg-commons.rst +++ b/docs/commons/skg/skg-commons.rst @@ -1,15 +1,14 @@ SKG Commons ---------------- +----------- The following resources in this section are part of the SKG Commons component. .. toctree:: - :caption: SKGs Resources - :maxdepth: 1 - :titlesonly: - - - OSTrails Metadata Model for SKGs - OSTrails SKG-IF API Specification - OSTrails SKG-IF Extensions - SKG-IF mappings + :caption: SKGs Resources + :maxdepth: 1 + :titlesonly: + + OSTrails Metadata Model for SKGs + OSTrails SKG-IF API Specification + OSTrails SKG-IF Extensions + SKG-IF mappings diff --git a/docs/commons/skg/skg-if-api-specification.rst b/docs/commons/skg/skg-if-api-specification.rst index c6b6d2b..1eecc9d 100644 --- a/docs/commons/skg/skg-if-api-specification.rst +++ b/docs/commons/skg/skg-if-api-specification.rst @@ -1,6 +1,6 @@ -OSTrails SKG-IF API Specification --------------------------------------- +OSTrails SKG-IF API Specification +--------------------------------- OSTrails coordinated the definition of the SKG-IF API specification, which provides dedicated endpoints for each SKG-IF core entity and supports querying and filtering. -More information can be found online `in the official SKG-IF documentation `_. \ No newline at end of file +More information can be found online `in the official SKG-IF documentation `_. diff --git a/docs/commons/skg/skg-if-entity-extension.rst b/docs/commons/skg/skg-if-entity-extension.rst index 682f9c6..dea1c04 100644 --- a/docs/commons/skg/skg-if-entity-extension.rst +++ b/docs/commons/skg/skg-if-entity-extension.rst @@ -1,29 +1,29 @@ OSTrails SKG-IF Extensions ------------------------------------------ +-------------------------- Within the OSTrails context, a number of extensions have been submitted to the attention of the SKG-IF Working Group. The status of such extension proposed is summarised in the table below: .. list-table:: - :header-rows: 1 + :header-rows: 1 - * - Acronym - - Scope - - Status - - Link/request + * - Acronym + - Scope + - Status + - Link/request - * - SRV - - New entity to model services - - Under development - - https://skg-if.github.io/ext-srv/ + * - SRV + - New entity to model services + - Under development + - https://skg-if.github.io/ext-srv/ - * - SKG-PROV - - Provenance tracking - - To be discussed - - https://github.com/skg-if/extensions/issues/4 + * - SKG-PROV + - Provenance tracking + - To be discussed + - https://github.com/skg-if/extensions/issues/4 - * - RP-STDS - - Research Products for Standards - - To be discussed - - https://github.com/skg-if/extensions/issues/5 \ No newline at end of file + * - RP-STDS + - Research Products for Standards + - To be discussed + - https://github.com/skg-if/extensions/issues/5 diff --git a/docs/commons/skg/skg-if-metadata-model.rst b/docs/commons/skg/skg-if-metadata-model.rst index bb7ccd9..97e9db3 100644 --- a/docs/commons/skg/skg-if-metadata-model.rst +++ b/docs/commons/skg/skg-if-metadata-model.rst @@ -1,5 +1,5 @@ OSTrails Metadata Model for SKGs ---------------------------------------------------- +-------------------------------- OSTrails contributed to the consolidation and complies to the JSON format defined by the SKG-IF. diff --git a/docs/index.rst b/docs/index.rst index 801c685..2cf7368 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -46,6 +46,3 @@ The documentation is structured as follows: other/contributing other/resources other/contributors - - - \ No newline at end of file diff --git a/docs/tools/FAIR.rst b/docs/tools/FAIR.rst index 9ca270e..996ef12 100644 --- a/docs/tools/FAIR.rst +++ b/docs/tools/FAIR.rst @@ -5,16 +5,16 @@ OSTrails FAIR Tools The following resources in this section are part of the FAIR Tools component. .. toctree:: - :caption: Tools - :maxdepth: 1 - :titlesonly: + :caption: Tools + :maxdepth: 1 + :titlesonly: - FAIR Champion - FOOPS - FAIROS - FAIRsharing - FAIR Assessment Authoring Tool - FAIR Validator - Catalogue of Benchmark Scoring Algorithms - Catalogue of Benchmarks and Metrics - Catalogue of Tests \ No newline at end of file + FAIR Champion + FOOPS + FAIROS + FAIRsharing + FAIR Assessment Authoring Tool + FAIR Validator + Catalogue of Benchmark Scoring Algorithms + Catalogue of Benchmarks and Metrics + Catalogue of Tests diff --git a/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst b/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst index 8f372e3..c47a5fb 100644 --- a/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst +++ b/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst @@ -1,5 +1,5 @@ Catalogue of Metrics and Benchmarks -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The FAIRassist registry (`https://fairassist.org/registry `_), powered by FAIRsharing (`https://fairsharing.org/ `_), is the catalogue of metrics and benchmarks for OSTrails and the @@ -22,17 +22,14 @@ Via content negotiation and various FAIRsharing APIs, this registry makes a rich FAIR assessments in a machine-actionable format using DCAT and JSON. Searching and Filtering Metrics and Benchmarks ------------------------------------------------ +---------------------------------------------- Metrics and benchmarks can be filtered and searched via `https://fairassist.org/registry `_ in two ways: -1. Through graphical navigation beginning with the FAIR Principles of interest to the user and traversing to, - ultimately, any benchmarks linked to those principles (Figure 1). +1. Through graphical navigation beginning with the FAIR Principles of interest to the user and traversing to, ultimately, any benchmarks linked to those principles (Figure 1). -2. By selecting as many filters and/or search strings as required. The search results generated are separated into - sections according to record type and include not only the metrics and/or benchmarks of interest, but also related - standards, databases, policies, and collections from the broader FAIRsharing registry (Figures 2 and 3). +2. By selecting as many filters and/or search strings as required. The search results generated are separated into sections according to record type and include not only the metrics and/or benchmarks of interest, but also related standards, databases, policies, and collections from the broader FAIRsharing registry (Figures 2 and 3). Guided Discovery and Re-use --------------------------- @@ -49,4 +46,4 @@ ultimately fostering component re-use. If a user finds a metric that suits their needs, they can re-use that metric very easily, particularly when filtering by tools that already implement it. Future work will add additional filters as well as a graphical summary of the -connectivity among the search results. \ No newline at end of file +connectivity among the search results. diff --git a/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst b/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst index e2e4059..6d1c2fa 100644 --- a/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst +++ b/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst @@ -17,16 +17,16 @@ The FAIR Assessment Authoring Tool integrates **three main steps**: 1. **FAIR Wizard Knowledge Model** - A questionnaire-based knowledge model for capturing your metadata fields using machine-actionable questions. - It connects via APIs to various registries, such as `ORCID `_, `ROR `_, and `FAIRsharing `_. + A questionnaire-based knowledge model for capturing your metadata fields using machine-actionable questions. + It connects via APIs to various registries, such as `ORCID `_, `ROR `_, and `FAIRsharing `_. 2. **DSW-TDK-based Template Transformation** - DSW-TDK templates transform your questionnaire data into different serializations, such as JSON and RDF (Turtle). + DSW-TDK templates transform your questionnaire data into different serializations, such as JSON and RDF (Turtle). 3. **Proxy Submission Service** - Registers your generated metadata into the appropriate repository or registry, authoring your FAIR metadata automatically. + Registers your generated metadata into the appropriate repository or registry, authoring your FAIR metadata automatically. Submissions ~~~~~~~~~~~ @@ -51,10 +51,10 @@ Step-by-Step Guide 1. Fill in the Questionnaire ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -1. Go to the dedicated environment for this questionnaire: +1. Go to the dedicated environment for this questionnaire: https://ostrails-fair.fair-wizard.com/wizard/ 2. Register yourself or log in if you already have access. -3. Navigate to **Projects** and click **Create** to start a new project. +3. Navigate to **Projects** and click **Create** to start a new project. Each project corresponds to one FAIR assessment component. 4. Give your project a **name** and select the **filter** corresponding to the specific type of assessment component you want to create. @@ -66,7 +66,7 @@ Step-by-Step Guide 3. Create an instance of your completed questionnaire by selecting the latest version of the **FAIR Assessment Authoring Tool Template**. 4. Choose your preferred **serialization format**: - * **JSON** – for registration in FAIRsharing + * **JSON** – for registration in FAIRsharing * **Turtle (RDF)** – for generating a DCAT-compliant record 3. Submit Your Information @@ -83,13 +83,13 @@ Depending on your document format: .. note:: - *Why Use This Tool?* - FAIR assessment components are a specific subtype of records within the FAIRsharing registry. + *Why Use This Tool?* + FAIR assessment components are a specific subtype of records within the FAIRsharing registry. Using this tool significantly reduces manual curation and accelerates the registration process. * If your record is formatted in **Turtle**, the submission will be sent via the GitHub API to be registered in an OSTrails GitHub repository for collecting metadata about these assessment components. -If your assessment component is a **FAIR Test**, this submission will also register the test in the +If your assessment component is a **FAIR Test**, this submission will also register the test in the `OSTrails FAIR Data Point test index `_. References @@ -105,5 +105,5 @@ References Contact us ---------- -Any question or issue related to this workflow, please contact: +Any question or issue related to this workflow, please contact: ``pablo.alarcon@upm.es`` diff --git a/docs/tools/FAIR_tools/FAIR-Champion.rst b/docs/tools/FAIR_tools/FAIR-Champion.rst index 47d89d9..3a9b869 100644 --- a/docs/tools/FAIR_tools/FAIR-Champion.rst +++ b/docs/tools/FAIR_tools/FAIR-Champion.rst @@ -7,4 +7,4 @@ FAIR Champion is a general-purpose FAIR assessment tool intended to be used by a - Code repository: https://github.com/OSTrails/FAIR-Champion - Version: Release v1 - Release: https://github.com/OSTrails/FAIR-Champion/releases/tag/1.0.0 -- License: MIT \ No newline at end of file +- License: MIT diff --git a/docs/tools/FAIR_tools/FAIR-Validator.rst b/docs/tools/FAIR_tools/FAIR-Validator.rst index ef9d9d4..ccd114a 100644 --- a/docs/tools/FAIR_tools/FAIR-Validator.rst +++ b/docs/tools/FAIR_tools/FAIR-Validator.rst @@ -1,5 +1,5 @@ FAIR Validator -^^^^^^^^^^^^^ +^^^^^^^^^^^^^^ The OpenAIRE Metadata Validator is a software tool designed to evaluate metadata records for research products (publications, datasets, software, and other outputs) against the OpenAIRE Guidelines, which define the minimum requirements for inclusion in the OpenAIRE Graph. In addition to guideline compliance, the tool is being extended with FAIR evaluation capabilities through the FAIR Validator, which builds on the OpenAIRE Guidelines assessment. The version presented here supports and implements the FAIR Reference Model defined by OSTrails. This release includes the source code of the tool. @@ -8,6 +8,3 @@ The OpenAIRE Metadata Validator is a software tool designed to evaluate metadata - Version: Release v0.1.0 - Release: https://code-repo.d4science.org/MaDgIK/openaire-ostrails-api/releases/tag/0.1.0 - License: Apache-2.0 - - - diff --git a/docs/tools/FAIR_tools/FAIROS.rst b/docs/tools/FAIR_tools/FAIROS.rst index fceac18..beddd49 100644 --- a/docs/tools/FAIR_tools/FAIROS.rst +++ b/docs/tools/FAIR_tools/FAIROS.rst @@ -1,9 +1,9 @@ FAIROS -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^ FAIROs is a FAIR assessment tool for [Research Objects](https://www.researchobject.org/ro-crate/). The tool uses external tools such as [F-UJI](https://f-uji.net/), [FOOPS](https://w3id.org/foops/) and [RSFC](https://github.com/oeg-upm/rsfc) to assess datasets, ontologies and software. The catalog contains the metrics and tests used to evaluate Research Objects. The source code with the FTR specification is in the branch dev-ostrails. -- Persistent identifier: https://w3id.org/FAIROS/ +- Persistent identifier: https://w3id.org/FAIROS/ - Zenodo link (latest release): https://doi.org/10.5281/zenodo.7795727 - Code repository: https://github.com/oeg-upm/FAIR-Research-Object - Version: 0.0.2 diff --git a/docs/tools/FAIR_tools/FAIRsharing.rst b/docs/tools/FAIR_tools/FAIRsharing.rst index 78e1848..4a6fee7 100644 --- a/docs/tools/FAIR_tools/FAIRsharing.rst +++ b/docs/tools/FAIR_tools/FAIRsharing.rst @@ -1,5 +1,7 @@ +.. _fairsharing-registry: + FAIRsharing Registry -=================== +==================== Across all disciplines, there are thousands of repositories (databases and knowledge bases), as well as community-developed standards for the identification, citation, and reporting of digital objects (DOs), @@ -40,8 +42,7 @@ brings together domain and discipline experts who: - Act as advocates for standards, databases, and policies for digital objects, - Create educational material to support discovery, use, and adoption of these resources, and -- Enrich FAIRsharing content by improving the description and discoverability of standards, repositories, - and policies. +- Enrich FAIRsharing content by improving the description and discoverability of standards, repositories, and policies. OSTrails Cluster representatives participate as Champions and collaborators, working with the programme to advance open and FAIR data management within the project. @@ -52,23 +53,17 @@ FAIRsharing and the Assess-IF The Assess-IF requires high-quality information on standards and digital object types. OSTrails Cluster representatives therefore engage with FAIRsharing to: -- **Curate FAIRsharing content**, ensuring that domain-agnostic and discipline-specific standards and data - resources are represented according to Cluster usage, recommendations, and community best practices. - This curation enables these resources to be used within FAIR assistance and evaluation workflows. - -- **Curate FAIRassist content**, by registering and maintaining FAIR assistance benchmarks and associated - components. These records are essential for the development of FAIR test workflows for OSTrails Clusters, - as well as thematic and national pilots. - -- **Create collections of resources**, which group standards and data resources to facilitate discovery and - use by humans and machines. Collections are based on community best practices and are required to support - each Cluster’s assessment process. +- **Curate FAIRsharing content**, ensuring that domain-agnostic and discipline-specific standards and data resources are represented according to Cluster usage, recommendations, and community best practices. This curation enables these resources to be used within FAIR assistance and evaluation workflows. +- **Curate FAIRassist content**, by registering and maintaining FAIR assistance benchmarks and associated components. These records are essential for the development of FAIR test workflows for OSTrails Clusters, as well as thematic and national pilots. +- **Create collections of resources**, which group standards and data resources to facilitate discovery and use by humans and machines. Collections are based on community best practices and are required to support each Cluster’s assessment process. Collections also provide graphical representations of Cluster requirements, illustrating relationships among standards and repositories (for example, which terminologies are required by specific formats, or which identifier schemes are used by a given repository). This approach fosters reuse of common standards and repositories across Clusters, disciplines, and communities where appropriate. +.. _fairassist-registry: + FAIRassist Registry ------------------- @@ -79,8 +74,7 @@ assistance and evaluation**. FAIRassist and the FDP Index are complementary exemplar services that showcase: - Registration and sharing of the components of the Assess-IF, -- Assistance with their discoverability (based on digital object types, discipline specificity, or generic - scope), and +- Assistance with their discoverability (based on digital object types, discipline specificity, or generic scope), and - Delivery of information and documentation to guide and support the FAIR assessment process. In particular, FAIRassist complements the FDP registry of **software components** from the Assess-IF (tests and diff --git a/docs/tools/FAIR_tools/FOOPS.rst b/docs/tools/FAIR_tools/FOOPS.rst index ee7babe..9d8c7d1 100644 --- a/docs/tools/FAIR_tools/FOOPS.rst +++ b/docs/tools/FAIR_tools/FOOPS.rst @@ -1,5 +1,5 @@ -FOOPS! -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +FOOPS! +^^^^^^ The Ontology Pitfall Scanner for FAIR (FOOPS!) is a FAIR assessment tool for vocabularies and ontologies. In this release, FOOPS! has been adapted to comply with the [FTR specification](https://w3id.org/ftr/). A catalog of test descriptions and metrics has been made available in https://w3id.org/foops/catalogue. The release contains the source code of the tools, as well as the machine-readable and human-readable documentation of all tests, metrics and benchmarks associated with the tool. diff --git a/docs/tools/SKG.rst b/docs/tools/SKG.rst index 9251932..50827f9 100644 --- a/docs/tools/SKG.rst +++ b/docs/tools/SKG.rst @@ -1,13 +1,13 @@ OSTrails SKG Tools -=================== +================== The following resources in this section are part of the FAIR Tools component. .. toctree:: - :caption: Tools - :maxdepth: 1 - :titlesonly: + :caption: Tools + :maxdepth: 1 + :titlesonly: - OpenAIRE Graph SKG-IF API - RO-HUB SKG-IF API - LifeWatch Eric KG \ No newline at end of file + OpenAIRE Graph SKG-IF API + RO-HUB SKG-IF API + LifeWatch Eric KG diff --git a/docs/tools/SKG_tools/lifewatch.rst b/docs/tools/SKG_tools/lifewatch.rst index 2ca710b..4e3a293 100644 --- a/docs/tools/SKG_tools/lifewatch.rst +++ b/docs/tools/SKG_tools/lifewatch.rst @@ -1,5 +1,4 @@ LifeWatch ERIC Knowledge Graph for Research Planning and Tracking ------------------------------------------------------------------------- +----------------------------------------------------------------- - -TODO \ No newline at end of file +*TODO* diff --git a/docs/tools/SKG_tools/openaire.rst b/docs/tools/SKG_tools/openaire.rst index 6cf25f6..e9e5f3f 100644 --- a/docs/tools/SKG_tools/openaire.rst +++ b/docs/tools/SKG_tools/openaire.rst @@ -1,5 +1,4 @@ OpenAIRE Graph API ------------------------------------------------------------------------- +------------------ - -TODO \ No newline at end of file +*TODO* diff --git a/docs/tools/SKG_tools/rohub.rst b/docs/tools/SKG_tools/rohub.rst index 21f8800..0bd964c 100644 --- a/docs/tools/SKG_tools/rohub.rst +++ b/docs/tools/SKG_tools/rohub.rst @@ -1,5 +1,4 @@ RO-HUB API ------------------------------------------------------------------------- +---------- - -TODO \ No newline at end of file +*TODO* From 0dba6d02187680e7860bdeeeaea0eacd9601c835 Mon Sep 17 00:00:00 2001 From: TomMiksa Date: Wed, 7 Jan 2026 12:39:38 +0100 Subject: [PATCH 079/101] Update rohub.rst fixed bullet points --- docs/tools/SKG_tools/rohub.rst | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/tools/SKG_tools/rohub.rst b/docs/tools/SKG_tools/rohub.rst index 9ad663e..9d71de4 100644 --- a/docs/tools/SKG_tools/rohub.rst +++ b/docs/tools/SKG_tools/rohub.rst @@ -17,19 +17,19 @@ The user interfaces, include a reference Web Portal and a Python library. The ROHub portal provides a comprehensive user interface for the management and preservation of research objects, while the Python library works on top of the ROHub backend REST API, wrapping and abstracting the REST methods in user-friendly API methods that can be used, for instance, via Jupyter Notebooks. Additionally, various external services are integrated or leverated in ROHub, including RO added value services as well as various EOSC services. These include: -• Semantic enrichment and recommendation plus a set of extended analytic services. The former generate structured machine-readable metadata about the content of a research object including the main concepts and phrases, the entities and their type, and topical information from domains according to the Expert.ai linguistic knowledge graph, and generate recommendations based on the discovered metadata. The latter include the challenge and solution extraction, the Question Generation service, the claim analysis service, and the novelty scoring service -• Checklist service: provides access to the minim-based checklist evaluation of research objects, used to assess their quality for different purposes, e.g., completeness, accessibility or ready to release, and according to the needs of a particular community or application. -• Quality monitoring service: enables the evaluation of the RO through time by capturing discrete values provided by the checklist service in different moments of its evolution. -• FAIROs service: measures the FAIRness of Research Objects, by calculating the FAIRness of individual aggregated resources, including the Research Object itself, and then aggregating those results to calculate the over FAIR score. -• EGI check-in, the EOSC Identity and Access Management (IAM) service that connects federated Identity Providers (IdPs) with EOSC service providers. -• Zenodo. ROHub allows to release and share ro-crates via Zenodo. -• B2share. ROHub allows to release and share ro-crates via B2Share. -• B2drop. ROHub users have the possibility to use the default ROHub storage, or B2drop as their personal storage space where the resources uploaded to their research objects will be stored. B2drop resources are synchronized with the corresponding research objects in both ways. -• Notebooks. ROHub users can open and load the Jupyter notebooks in the ROs automatically in EGI Notebooks directly from ROHub and execute their methods/processing in an interactive computing environment (eproducible science). -• Replay. ROHub users can open and load automatically Jupyter notebooks and reproduce their associated computing environment with Replay, including any related input datasets, directly from the ROs in ROHub. (highest reproducible science) -• OpenAire/EOSC Research Graph. ROHub resources, particularly ROs, Jupyter notebooks and data cubes, are harvested in the graph, and thus they are findable directly from the EOSC marketplace. -• Argos. ROHub enables the creation of ROs from DMPs in Argos, leveraging and representing all the DMP information in machine-readable format, enabling researchers to shift their DMP into machine actionable DMPs, connected with the datasets themselves. -• ADAM. ROHub enables the aggregation of data cubes from ADAM by reference, leveraging all the available metadata available in ADAM to describe them in the RO. ROHub users can open and load data cubes in ADAM directly from ROHub for their usage and exploration +- Semantic enrichment and recommendation plus a set of extended analytic services. The former generate structured machine-readable metadata about the content of a research object including the main concepts and phrases, the entities and their type, and topical information from domains according to the Expert.ai linguistic knowledge graph, and generate recommendations based on the discovered metadata. The latter include the challenge and solution extraction, the Question Generation service, the claim analysis service, and the novelty scoring service +- Checklist service: provides access to the minim-based checklist evaluation of research objects, used to assess their quality for different purposes, e.g., completeness, accessibility or ready to release, and according to the needs of a particular community or application. +- Quality monitoring service: enables the evaluation of the RO through time by capturing discrete values provided by the checklist service in different moments of its evolution. +- FAIROs service: measures the FAIRness of Research Objects, by calculating the FAIRness of individual aggregated resources, including the Research Object itself, and then aggregating those results to calculate the over FAIR score. +- EGI check-in, the EOSC Identity and Access Management (IAM) service that connects federated Identity Providers (IdPs) with EOSC service providers. +- Zenodo. ROHub allows to release and share ro-crates via Zenodo. +- B2share. ROHub allows to release and share ro-crates via B2Share. +- B2drop. ROHub users have the possibility to use the default ROHub storage, or B2drop as their personal storage space where the resources uploaded to their research objects will be stored. B2drop resources are synchronized with the corresponding research objects in both ways. +- Notebooks. ROHub users can open and load the Jupyter notebooks in the ROs automatically in EGI Notebooks directly from ROHub and execute their methods/processing in an interactive computing environment (eproducible science). +- Replay. ROHub users can open and load automatically Jupyter notebooks and reproduce their associated computing environment with Replay, including any related input datasets, directly from the ROs in ROHub. (highest reproducible science) +- OpenAire/EOSC Research Graph. ROHub resources, particularly ROs, Jupyter notebooks and data cubes, are harvested in the graph, and thus they are findable directly from the EOSC marketplace. +- Argos. ROHub enables the creation of ROs from DMPs in Argos, leveraging and representing all the DMP information in machine-readable format, enabling researchers to shift their DMP into machine actionable DMPs, connected with the datasets themselves. +- ADAM. ROHub enables the aggregation of data cubes from ADAM by reference, leveraging all the available metadata available in ADAM to describe them in the RO. ROHub users can open and load data cubes in ADAM directly from ROHub for their usage and exploration Authentication and Authorization From 28f30892b61606ae097e2ad0b12bda067e1703f7 Mon Sep 17 00:00:00 2001 From: TomMiksa Date: Fri, 9 Jan 2026 10:35:58 +0100 Subject: [PATCH 080/101] Update DMP Commons --- docs/commons/dmp/API-specification.rst | 53 ++++++++++++++++++-- docs/commons/dmp/application-profile.rst | 8 ++- docs/commons/dmp/dmp-commons.rst | 19 ++++--- docs/commons/dmp/mappings/index.rst | 64 +++++++++++++++++++++++- 4 files changed, 129 insertions(+), 15 deletions(-) diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst index 2e268db..585e617 100644 --- a/docs/commons/dmp/API-specification.rst +++ b/docs/commons/dmp/API-specification.rst @@ -4,13 +4,58 @@ OSTrails maDMP API Specification .. page-authors:: Tomasz Miksa -The API is developed jointly with the `Research Data Alliance maDMP API working group `_. -The charter of the group can be found at the `RDA maDMP API WG page `_. +Overview +-------- +The **maDMP API** is a standardized interface designed to enable seamless exchange of information between machine-actionable Data Management Plans (maDMPs) and other research data management (RDM) services. It is developed jointly with the Research Data Alliance maDMP API Working Group. -The API specification is in this GitHub repository: `RDA-DMP-Common/common-madmp-api `_. +The API specification is published as an OpenAPI document, ensuring interoperability and ease of integration across diverse platforms. -The OpenAPI documentation can be accessed directly at: `rda-dmp-common.github.io/common-madmp-api `_. +Objectives +---------- +The main objectives of the maDMP API are: +* **Promote reuse of information from DMPs** + Facilitate the transfer of information to and from DMPs to inform and automate actions within other research software systems. + +* **Enable interoperability and interchangeability of DMP platforms** + Ensure that any DMP tool can be integrated into diverse contexts without compatibility concerns. + +* **Reduce reliance on static text documents** + Move away from narrative PDF-based DMPs toward actionable, API-driven solutions using persistent identifiers. + +* **Enhance the quality and timeliness of DMPs** + Improve accuracy by sourcing data directly from systems where RDM activities occur. + +Involved Tools +-------------- + +The development and adoption of the maDMP API involve collaboration with several DMP platforms and services, including: + +* Argos +* DAMAP +* DMPonline +* DMP OPIDoR +* DMP Tool +* DSW +* DataPLAN + +These tools will implement the API endpoints to enable interoperability and integration with other services such as data repositories, FAIR assessment tools, and virtual research environments. + +External Resources +------------------ + +* The API is developed jointly with the `Research Data Alliance maDMP API working group `_. + +* The charter of the group can be found at the `RDA maDMP API WG page `_. + +* The API specification is in this GitHub repository: `RDA-DMP-Common/common-madmp-api `_. + +* The OpenAPI documentation can be accessed directly at: `rda-dmp-common.github.io/common-madmp-api `_. + +Work in Progress +---------------- + +The API is under active development. The current specification reflects the consensus of the working group and is being tested by participating tools. Future updates will incorporate feedback from the community and ensure broad compatibility. diff --git a/docs/commons/dmp/application-profile.rst b/docs/commons/dmp/application-profile.rst index a06553f..6442a48 100644 --- a/docs/commons/dmp/application-profile.rst +++ b/docs/commons/dmp/application-profile.rst @@ -1,7 +1,11 @@ OSTrails Application Profile for maDMPs ======================================= -OSTrails Application Profile (AP) as a tailored extension of the `RDA DMP Common Standard (DCS) for maDMPs `_ will be designed to enhance interoperability while addressing various requirements (e.g. funders). Technically, the specification of the application profile will be done as prescribed by the DCS (which will support such extensions) and will be part of the Commons as the description of data structure. +The **OSTrails Application Profile (AP)** is a tailored extension of the +`RDA DMP Common Standard (DCS) for maDMPs `_. -- *Planned resource to be developed* +It is designed to enhance interoperability while addressing requirements from national and thematic pilots, often reflecting specific funder and community templates. The profile provides a list of additional terms that can be used to express information contained in DMPs in a machine-actionable way. +Upon successful review, some of the fields from the AP will be incorporated into the RDA DCS. This process is still ongoing and requires broader community consensus and RDA involvement. + +The AP presented on this page reflects the **working draft as of January 2026**. diff --git a/docs/commons/dmp/dmp-commons.rst b/docs/commons/dmp/dmp-commons.rst index 4c94962..c9c8343 100644 --- a/docs/commons/dmp/dmp-commons.rst +++ b/docs/commons/dmp/dmp-commons.rst @@ -1,17 +1,22 @@ DMP Commons ------------ +=========== -The following resources in this section are part of the DMP Commons component. +.. page-authors:: + Tomasz Miksa + +DMP Commons support the adoption of the **DMP Interoperability Framework**. They are primarily aimed at software developers building services that create or consume machine-actionable DMPs (maDMPs). This includes: + +- DMP platform providers +- Other services that integrate with these platforms, as outlined in our *Architecture and Pathways* + +In addition, DMP Commons are relevant for data stewards and other stakeholders who need to structure information about Research Data Management (RDM). + +For the time being, the Commons consist of: .. toctree:: - :caption: Commons Resources :maxdepth: 1 :titlesonly: OSTrails Application Profile for maDMPs OSTrails maDMP API Specification maDMP mappings - - - - diff --git a/docs/commons/dmp/mappings/index.rst b/docs/commons/dmp/mappings/index.rst index 1f08713..241c891 100644 --- a/docs/commons/dmp/mappings/index.rst +++ b/docs/commons/dmp/mappings/index.rst @@ -1,7 +1,67 @@ -maDMP mappings +maDMP Mappings ============== -- *Planned resource to be developed* +.. page-authors:: + Tomasz Miksa + +Overview +-------- + +**maDMP mappings** are structured documents that translate traditional Data Management Plan (DMP) templates into a machine-actionable format based on the `RDA maDMP Common Standard (DCS) `_ and the OSTrails Application Profile (AP). These mappings are published as part of the commons to support interoperability and automation in Research Data Management (RDM). + +Purpose +------- + +The main goals of maDMP mappings are: + +* **Enable machine-actionability** + Convert narrative DMP templates into structured, interoperable formats that can be processed by software systems. + +* **Support integration with RDM services** + Facilitate connections between DMP platforms and services such as CRIS systems, repositories, and PID infrastructures. + +* **Provide a shared reference** + Publish mappings as commons so they can be reused and adapted by other projects and communities. + +Creation Process +---------------- + +The creation of maDMP mappings follows a collaborative workflow: + +1. **Select a traditional DMP template** + Identify the template to be converted into a machine-actionable format. + +2. **Review standards and profiles** + Familiarize yourself with the RDA maDMP Common Standard and the OSTrails Application Profile. Review existing mappings (e.g., Science Europe template). + +3. **Draft the mapping** + * Map sections and fields from the traditional template to maDMP components. + * Define validation rules and controlled vocabularies (licenses, access levels, standards). + * Request additions to the OSTrails AP if no corresponding field exists. + +4. **Test usability** + Validate the mapping with 3–5 real projects to ensure practical applicability. + +5. **Publish as commons** + The final mapping becomes part of the OSTrails commons and is available for reuse. + + +Integration +----------- + +Once mappings are created, they can be integrated into DMP platforms and connected to RDM services such as: + +* CRIS systems +* Data repositories +* PID systems + +This integration enables automated workflows and ensures that DMPs remain accurate and up-to-date throughout the research lifecycle. +This work must be done by respective tool owners. The mappings are the relevant guidance for them that helps them achieve interoperability. + + +Mappings +----------- +Here we present the mappings identified for common DMP templates used across countries and thematic clusters. .. toctree:: :maxdepth: 1 From 38bd35d16748bbd8b4c07eb5cf9b6154925195c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Such=C3=A1nek?= Date: Tue, 23 Dec 2025 08:29:47 +0100 Subject: [PATCH 081/101] Add details on DMP Commons Co-authored-by: Jana Martinkova Co-authored-by: Vojtech Knaisl --- CONTRIBUTORS.yml | 14 ++ docs/commons/dmp/API-specification.rst | 61 -------- docs/commons/dmp/application-profile.rst | 67 +++++++- docs/commons/dmp/dmp-common-standard.rst | 77 +++++++++ docs/commons/dmp/dmp-commons.rst | 37 ++++- docs/commons/dmp/madmp-api-specification.rst | 94 +++++++++++ docs/commons/dmp/ostrails_dmp-commons.png | Bin 0 -> 54012 bytes docs/commons/dmp/ostrails_dmp-commons.svg | 156 +++++++++++++++++++ docs/references.bib | 6 + 9 files changed, 443 insertions(+), 69 deletions(-) delete mode 100644 docs/commons/dmp/API-specification.rst create mode 100644 docs/commons/dmp/dmp-common-standard.rst create mode 100644 docs/commons/dmp/madmp-api-specification.rst create mode 100644 docs/commons/dmp/ostrails_dmp-commons.png create mode 100644 docs/commons/dmp/ostrails_dmp-commons.svg diff --git a/CONTRIBUTORS.yml b/CONTRIBUTORS.yml index bfe3737..30298e7 100644 --- a/CONTRIBUTORS.yml +++ b/CONTRIBUTORS.yml @@ -5,6 +5,20 @@ Marek Suchánek: orcid: 0000-0001-7525-9218 affiliation: CTU in Prague +Jana Martínková: + first_name: Jana + last_name: Martínková + github: jmartinkova + orcid: 0000-0001-8575-6533 + affiliation: CTU in Prague + +Vojtěch Knaisl: + first_name: Vojtěch + last_name: Knaisl + github: vknaisl + orcid: 0000-0003-0103-8468 + affiliation: Codevence Solutions + Daniel Garijo: first_name: Daniel last_name: Garijo diff --git a/docs/commons/dmp/API-specification.rst b/docs/commons/dmp/API-specification.rst deleted file mode 100644 index 585e617..0000000 --- a/docs/commons/dmp/API-specification.rst +++ /dev/null @@ -1,61 +0,0 @@ -OSTrails maDMP API Specification -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -.. page-authors:: - Tomasz Miksa - - -Overview --------- - -The **maDMP API** is a standardized interface designed to enable seamless exchange of information between machine-actionable Data Management Plans (maDMPs) and other research data management (RDM) services. It is developed jointly with the Research Data Alliance maDMP API Working Group. - -The API specification is published as an OpenAPI document, ensuring interoperability and ease of integration across diverse platforms. - -Objectives ----------- - -The main objectives of the maDMP API are: - -* **Promote reuse of information from DMPs** - Facilitate the transfer of information to and from DMPs to inform and automate actions within other research software systems. - -* **Enable interoperability and interchangeability of DMP platforms** - Ensure that any DMP tool can be integrated into diverse contexts without compatibility concerns. - -* **Reduce reliance on static text documents** - Move away from narrative PDF-based DMPs toward actionable, API-driven solutions using persistent identifiers. - -* **Enhance the quality and timeliness of DMPs** - Improve accuracy by sourcing data directly from systems where RDM activities occur. - -Involved Tools --------------- - -The development and adoption of the maDMP API involve collaboration with several DMP platforms and services, including: - -* Argos -* DAMAP -* DMPonline -* DMP OPIDoR -* DMP Tool -* DSW -* DataPLAN - -These tools will implement the API endpoints to enable interoperability and integration with other services such as data repositories, FAIR assessment tools, and virtual research environments. - -External Resources ------------------- - -* The API is developed jointly with the `Research Data Alliance maDMP API working group `_. - -* The charter of the group can be found at the `RDA maDMP API WG page `_. - -* The API specification is in this GitHub repository: `RDA-DMP-Common/common-madmp-api `_. - -* The OpenAPI documentation can be accessed directly at: `rda-dmp-common.github.io/common-madmp-api `_. - -Work in Progress ----------------- - -The API is under active development. The current specification reflects the consensus of the working group and is being tested by participating tools. Future updates will incorporate feedback from the community and ensure broad compatibility. diff --git a/docs/commons/dmp/application-profile.rst b/docs/commons/dmp/application-profile.rst index 6442a48..10c03f1 100644 --- a/docs/commons/dmp/application-profile.rst +++ b/docs/commons/dmp/application-profile.rst @@ -1,11 +1,72 @@ OSTrails Application Profile for maDMPs ======================================= -The **OSTrails Application Profile (AP)** is a tailored extension of the -`RDA DMP Common Standard (DCS) for maDMPs `_. +.. page-authors:: + Tomasz Miksa + Marek Suchánek + Jana Martínková + + +The **OSTrails Application Profile (AP) for machine-actionable Data Management Plans (maDMPs)** is a tailored extension of the :doc:`RDA DMP Common Standard (DCS) for maDMPs `. It is designed to enhance interoperability while addressing requirements from national and thematic pilots, often reflecting specific funder and community templates. The profile provides a list of additional terms that can be used to express information contained in DMPs in a machine-actionable way. Upon successful review, some of the fields from the AP will be incorporated into the RDA DCS. This process is still ongoing and requires broader community consensus and RDA involvement. -The AP presented on this page reflects the **working draft as of January 2026**. +The work presented on this page reflects the **working draft as of January 2026**. + +Purpose and scope +----------------- + +The OSTrails AP enhances interoperability by introducing **additional entities, fields, constraints, and usage patterns** that are not covered by the minimal core defined in the DMP Common Standard. + +It is designed to: + +- Support **information requirements imposed by funding agencies** +- Reflect **national, institutional, and thematic practices** around DMPs +- Enable reliable machine-to-machine interactions in the European research data management ecosystem + +Technically, the application profile is specified in accordance with the extension mechanisms foreseen by the DMP Common Standard and forms a core artefact of the DMP Commons as a formal description of the maDMP data structure. + +Iterative and community-driven development +------------------------------------------ + +The OSTrails Application Profile is developed **iteratively**. + +Rather than defining a fixed, one-time specification, the profile continuously evolves by consolidating requirements gathered from multiple perspectives and real-world implementations. This approach allows the AP to respond to emerging needs while maintaining internal consistency and interoperability. + +The application profile is intentionally designed as an artefact that is **by-design ready for future evolution**, both within the OSTrails project and beyond it. + +At present, the OSTrails AP is in an **early stage of development**, and its structure and content are expected to mature through successive iterations. + +Sources of requirements and inputs +---------------------------------- + +The OSTrails Application Profile is informed by a wide range of inputs, including: + +- **Funding agency DMP templates** and policy requirements +- **European and EOSC-level guidelines** and interoperability recommendations +- **National and regional DMP practices** identified through pilots +- **Institutional requirements**, including those of research-performing and research-supporting organisations +- **Thematic and domain-specific guidelines** from research communities +- **Feedback from national and thematic pilots within OSTrails** +- **Practical implementation experience** from DMP platforms and services +- **Gaps and ambiguities identified in the DMP Common Standard** when applied in operational settings + +These inputs are analysed, consolidated, and progressively incorporated into the application profile. Some of the exemplary efforts are documented in the :doc:`maDMP mappings `. + +Relationship to the DMP Common Standard +--------------------------------------- + +The OSTrails Application Profile is a **formal extension** of the :doc:`RDA DMP Common Standard (DCS) for maDMPs `. + +This means that the profile may introduce: + +- new entities, +- additional fields or attributes, +- more specific constraints on existing elements, +- clarified usage patterns for machine-actionable exchange. + +At the same time, **compatibility is a core design principle**. Every maDMP that conforms to the OSTrails Application Profile is also compliant with the broader and in a sense simpler DMP Common Standard. + +This ensures that DMPs expressed using the OSTrails AP remain interoperable with services that only support the core RDA model, while enabling richer interactions where the application profile is implemented. diff --git a/docs/commons/dmp/dmp-common-standard.rst b/docs/commons/dmp/dmp-common-standard.rst new file mode 100644 index 0000000..d879df0 --- /dev/null +++ b/docs/commons/dmp/dmp-common-standard.rst @@ -0,0 +1,77 @@ +RDA DMP Common Standard for maDMPs +================================== + +.. page-authors:: + Tomasz Miksa + Marek Suchánek + + +The **RDA DMP Common Standard for machine-actionable Data Management Plans (maDMPs)** defines a minimal, interoperable data model for representing information contained in Data Management Plans in a machine-actionable way. + +The standard provides a shared vocabulary and structure for core DMP concepts that are common across domains, funders, and infrastructures. It is designed to enable consistent interpretation and exchange of DMP information between systems, while remaining independent of specific implementations, workflows, or regional policies. + +Version and usage +----------------- + +The DMP Commons currently build on **version 1.2** of the RDA DMP Common Standard: + +- https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/tree/v1.2 + +This version serves as the **foundational layer** for the DMP Commons and is used as the base model for higher-level specifications: :doc:`OSTrails Application Profile ` and then :doc:`API specification `. All extensions and constraints introduced by the DMP Commons are defined as additions on top of this common core, ensuring compatibility with the RDA standard. + +Scope and role within the DMP Commons +------------------------------------- + +Within the DMP Commons, the RDA DMP Common Standard: + +- Defines the **minimum set of concepts** needed to describe a DMP in a machine-actionable way +- Establishes a **shared semantic baseline** across tools and services +- Enables interoperability without constraining internal data models or system architectures + +The standard intentionally avoids domain-specific requirements or policy-driven constraints. Such specializations are addressed at higher layers (e.g. application profiles), allowing the common standard to remain stable and broadly applicable. + +.. figure:: https://raw.githubusercontent.com/RDA-DMP-Common/RDA-DMP-Common-Standard/refs/tags/v1.2/docs/diagrams/maDMP-diagram.png + :alt: RDA DMP Common Standard for maDMPs v1.2 + :target: https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/tree/v1.2 + + RDA DMP Common Standard for maDMPs v1.2 + +Community governance and maintenance +------------------------------------ + +The RDA DMP Common Standard is developed and maintained by the community under the Research Data Alliance (RDA). Issues, discussions, and proposals related **directly to the standard itself** are handled within its established community processes. + +Relevant resources include: + +- **Specification repository**: + https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard + +- **Issue tracker and discussions**: + https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/issues + +- **RDA Working Group page**: + https://www.rd-alliance.org/groups/dmp-common-standards-wg + +These channels are the authoritative venues for proposing changes, reporting issues, and discussing the evolution of the standard. + +Contribution and future evolution +---------------------------------- + +In OSTrails and DMP Commons, we actively **collaborate with and contribute to the evolution of the RDA DMP Common Standard**. + +This collaboration is driven by practical experience gained through building the :doc:`OSTrails Application Profile ` and also API on top of the standard, as well as by identifying gaps or ambiguities that affect interoperability beyond specific infrastructures or regional contexts. + +Proposed improvements are intentionally **not limited to OSTrails, EOSC, or Europe-specific needs**, but aim to strengthen the standard for the broader international community and future versions of the specification. + +As the RDA DMP Common Standard evolves, the DMP Commons will track and align with new versions, ensuring continuity while supporting incremental adoption. + +References +---------- + +.. bibliography:: + :list: bullet + :filter: False + :keyprefix: dmp-common-standard- + :labelprefix: dmp-common-standard- + + Miksa_RDA_DMP_Common diff --git a/docs/commons/dmp/dmp-commons.rst b/docs/commons/dmp/dmp-commons.rst index c9c8343..c52ae03 100644 --- a/docs/commons/dmp/dmp-commons.rst +++ b/docs/commons/dmp/dmp-commons.rst @@ -2,21 +2,48 @@ DMP Commons =========== .. page-authors:: + Marek Suchánek + Jana Martínková Tomasz Miksa -DMP Commons support the adoption of the **DMP Interoperability Framework**. They are primarily aimed at software developers building services that create or consume machine-actionable DMPs (maDMPs). This includes: -- DMP platform providers -- Other services that integrate with these platforms, as outlined in our *Architecture and Pathways* +The **DMP Commons** provide a shared, reusable, and interoperable foundation for working with **machine-actionable Data Management Plans (maDMPs)** across tools and services to support the adoption of the **DMP Interoperability Framework**. They define how DMP information is structured, constrained, and exchanged, without prescribing how individual systems are internally designed or implemented. DMP Commons are primarily aimed at software developers building services that create or consume machine-actionable DMPs (maDMPs). This includes: + +- DMP platform providers, +- Other services that integrate with these platforms, as outlined in our *Architecture and Pathways*. In addition, DMP Commons are relevant for data stewards and other stakeholders who need to structure information about Research Data Management (RDM). -For the time being, the Commons consist of: +The Commons are built as a **layered framework** consisting of a common data model, an OSTrails (i.e. Europe/EOSC) -specific application profile, and a standard API. Together, these layers enable consistent interpretation of DMP content and predictable interactions between services, regardless of their internal architectures. This approach allows platforms to evolve independently while remaining interoperable at the boundaries. In addition, we provide `maDMP mappings `_ to support the development of application profiles and to align DMP information with external standards and domain models. + +.. figure:: ostrails_dmp-commons.png + :alt: DMP Commons Layers + :align: center + :scale: 60% + + DMP Commons Layers + + +As illustrated above, the DMP Commons consist of three main components: + +- :doc:`RDA DMP Common Standard for maDMPs `: The foundational data model defining core DMP concepts and structures in a machine-actionable way. +- :doc:`OSTrails Application Profile for maDMPs `: A Europe/EOSC-specific extension of the common standard that introduces additional entities, fields, and constraints to address regional interoperability needs. +- :doc:`OSTrails maDMP API Specification `: A standardised interface for programmatically interacting with maDMPs across platforms, built on top of the common standard and compatible with the application profile. + +The primary users of the DMP Commons are **software developers, system architects, and service operators** who design or operate DMP platforms and related research data management services. Researchers are not expected to interact with the Commons directly; instead, they benefit indirectly through increased automation, reduced duplication of effort, and better reuse of DMP information across systems. + +The DMP Commons are **community-driven and evolutionary** in a sense that they are designed to continuously evolve based on community feedback and emerging needs. They build heavily on work carried out in the Research Data Alliance (RDA), including the RDA DMP Common Standard recommendation, and in turn actively contribute back to those communities. The framework is designed to support gradual adoption, while enabling full interoperability when all components are implemented. + +---- + +For the time being, the Commons consist of the following resources: .. toctree:: + :caption: DMP Commons Resources :maxdepth: 1 :titlesonly: + DMP Common Standard for maDMPs OSTrails Application Profile for maDMPs - OSTrails maDMP API Specification + OSTrails maDMP API Specification maDMP mappings diff --git a/docs/commons/dmp/madmp-api-specification.rst b/docs/commons/dmp/madmp-api-specification.rst new file mode 100644 index 0000000..3060b73 --- /dev/null +++ b/docs/commons/dmp/madmp-api-specification.rst @@ -0,0 +1,94 @@ +maDMP API Specification +======================= + +.. page-authors:: + Tomasz Miksa + Marek Suchánek + Vojtěch Knaisl + + +The **maDMP API specification** defines a common way to **programmatically interact with machine-actionable Data Management Plans (maDMPs)** across DMP platforms and related services. + +The API enables uniform access to DMP information and actions, even when individual platforms differ in their internal architectures, functional focus, user experience, or integrations with other systems. + +Purpose and design principles +----------------------------- + +The maDMP API is designed to: + +- Enable **standardised operations** over DMPs across platforms +- Support **machine-to-machine interoperability** in heterogeneous environments +- Decouple external interactions from internal system design +- Facilitate automation of research data management workflows + +The API focuses on *how* DMP information is accessed and manipulated, not on *how* services internally store or manage that information. This allows platforms to evolve independently while exposing a predictable and interoperable interface. + +Relationship to the data models +------------------------------- + +The maDMP API builds directly on top of the :doc:`RDA DMP Common Standard ` and uses its concepts and structures as the semantic foundation for all exchanged messages. + +The API is designed to be **flexible with respect to compatible extensions**, such as the :doc:`OSTrails Application Profile `. This means that: + +- The API can operate over DMPs expressed using the core DMP Common Standard. +- It can also be used with extended profiles, as long as they remain compatible with the common model. + +This approach allows the same API to be reused across different contexts and extensions, while preserving interoperability at the core level. + +Uniform operations across DMP platforms +--------------------------------------- + +By implementing the maDMP API, DMP platforms expose a common set of operations that can be used consistently across systems, for example: + +- searching or filtering DMPs based on various criteria, +- retrieving DMPs and their metadata, +- updating or enriching DMP information, +- creating new DMPs, +- deleting or archiving DMPs. + +These operations are performed in a unified way, independent of the platform’s specific focus, user interface, or internal integrations. + +Community governance and maintenance +------------------------------------ + +The maDMP API specification is being **developed jointly** within the `RDA Common Application Programming Interface (API) for machine-actionable Data Management Plans (maDMPs) Working Group `_. + +The working group was established during the OSTrails project and brings together experts from multiple initiatives and infrastructures to define a broadly applicable, community-endorsed API. + +Relevant resources include: + +- **Specification repository**: + https://github.com/RDA-DMP-Common/common-madmp-api + +- **Issue tracker and discussions**: + https://github.com/RDA-DMP-Common/common-madmp-api/issues + +- **RDA Working Group page**: + https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps + +Documentation and versioning +---------------------------- + +The API is documented using OpenAPI, with rendered documentation available at: + +- **OpenAPI documentation**: + https://rda-dmp-common.github.io/common-madmp-api/ + +Currently, the API specification is at **version 0.1.0**, representing an early stage of development. Future versions will evolve based on community feedback, implementation experience, and emerging needs. The current specification reflects the consensus of the working group and is being tested by participating tools. Future updates will incorporate feedback from the community and ensure broad compatibility. + +Involved tools +-------------- + +The development and adoption of the maDMP API involve collaboration with several DMP platforms and services, including: + +* Argos +* DAMAP +* DMPonline +* DMP OPIDoR +* DMP Tool +* Data Stewardship Wizard (DSW) +* DataPLAN +* FAIR Wizard +* OpenCDMP + +These tools will implement the API endpoints to enable interoperability and integration with other services such as data repositories, FAIR assessment tools, and virtual research environments. diff --git a/docs/commons/dmp/ostrails_dmp-commons.png b/docs/commons/dmp/ostrails_dmp-commons.png new file mode 100644 index 0000000000000000000000000000000000000000..fe6d91137dd9de02ba3155f266752c7fe1ede3b9 GIT binary patch literal 54012 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�zIwiZANqlklM)Bo5M_DKb2ytc5LY&#Lqxx&S1tc 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 literal 0 HcmV?d00001 diff --git a/docs/commons/dmp/ostrails_dmp-commons.svg b/docs/commons/dmp/ostrails_dmp-commons.svg new file mode 100644 index 0000000..7bf9be0 --- /dev/null +++ b/docs/commons/dmp/ostrails_dmp-commons.svg @@ -0,0 +1,156 @@ + + + + + +DMP Common Standard for maDMPsOSTrails Application ProfileCommon maDMP APIBase CommonData ModelEOSC-ExtendedData ModelUnified Operationsfor Data Model diff --git a/docs/references.bib b/docs/references.bib index 05db23b..1c836f0 100644 --- a/docs/references.bib +++ b/docs/references.bib @@ -55,3 +55,9 @@ @misc{ostrails_d2.5 doi = {10.5281/zenodo.14795060}, } +@misc{Miksa_RDA_DMP_Common, + author = {Miksa, Tomasz and Walk, Paul and Neish, Peter}, + doi = {10.15497/rda00039}, + title = {{RDA DMP Common Standard for Machine-actionable Data Management Plans}}, + version = {1.1} +} From 8cd739ecb36b9d7b9f6b9f2a1744069a69f8407f Mon Sep 17 00:00:00 2001 From: Mark Wilkinson Date: Fri, 16 Jan 2026 13:08:20 +0100 Subject: [PATCH 082/101] Add 'Code of Shared Tests' to FAIR commons --- docs/commons/FAIR/FAIR-commons.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/commons/FAIR/FAIR-commons.rst b/docs/commons/FAIR/FAIR-commons.rst index 781d716..a23c741 100644 --- a/docs/commons/FAIR/FAIR-commons.rst +++ b/docs/commons/FAIR/FAIR-commons.rst @@ -12,3 +12,4 @@ The following resources in this section are part of the FAIR Commons component. Guidance Element Specification FAIR Test Results Vocabulary (FTR) Assessment Recommended API + Code of Shared Tests From ed0f8cc4f21cd33c3ecd7f547b7aaa67e936d8cb Mon Sep 17 00:00:00 2001 From: Mark Wilkinson Date: Fri, 16 Jan 2026 13:11:00 +0100 Subject: [PATCH 083/101] Add Shared Tests documentation for FAIR assessments Document the Shared Tests for FAIR assessments and provide links to relevant repositories. --- docs/commons/FAIR/Shared-Tests.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 docs/commons/FAIR/Shared-Tests.rst diff --git a/docs/commons/FAIR/Shared-Tests.rst b/docs/commons/FAIR/Shared-Tests.rst new file mode 100644 index 0000000..7da6c8d --- /dev/null +++ b/docs/commons/FAIR/Shared-Tests.rst @@ -0,0 +1,15 @@ +Shared Tests +-------------------------- + +The FAIR-IF defines the API for assessments. + +In OSTrails, code for assessment tools ("Tests") that adhere to that API is stored in public GitHub repositories. +The repository reflects, primarily, the origin assessment platform that authored the test (e.g. Champion vs. FOOPS!) + +This code can be deployed by anyone, or can be used as a template to guide independent implementations of Tests. + +Repositories +--------- + +FAIR Champion Core FAIR Tests +FAIR Champion OSTrails Pilots Community Tests From e1d7726fad12913092ecd2f41e4e3d19d55a3097 Mon Sep 17 00:00:00 2001 From: Markus Tuominen Date: Fri, 16 Jan 2026 14:40:20 +0200 Subject: [PATCH 084/101] Add CESSDA SKG-IF API in Tools (#32) * Add CESSDA SKG-IF API in Tools * Issues fixed so edit status accordingly * Fix formatting of SKG tools list in documentation --- docs/tools/SKG.rst | 1 + docs/tools/SKG_tools/cessda.rst | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 docs/tools/SKG_tools/cessda.rst diff --git a/docs/tools/SKG.rst b/docs/tools/SKG.rst index 50827f9..53ad6ac 100644 --- a/docs/tools/SKG.rst +++ b/docs/tools/SKG.rst @@ -11,3 +11,4 @@ The following resources in this section are part of the FAIR Tools component. OpenAIRE Graph SKG-IF API RO-HUB SKG-IF API LifeWatch Eric KG + CESSDA SKG-IF API diff --git a/docs/tools/SKG_tools/cessda.rst b/docs/tools/SKG_tools/cessda.rst new file mode 100644 index 0000000..28035ce --- /dev/null +++ b/docs/tools/SKG_tools/cessda.rst @@ -0,0 +1,25 @@ + +CESSDA SKG-IF API +================= + +Overview +-------- + +For links to OpenAPI documentation, implemented endpoints and examples of filter usage: + +`https://skg-if-staging.cessda.eu/ `__ + +Endpoints +--------- + +* `https://skg-if-staging.cessda.eu/products `__ – Returns studies from the CESSDA Data Catalogue (CDC). +* `https://skg-if-staging.cessda.eu/topics `__ – Returns topics from the European Language Social Science Thesaurus (ELSST). + +Current Status +-------------- + +Version 0.1.0 has been released with minor fixes since then. The Products endpoint may respond slowly but should return all CDC studies without any errors. + +.. note:: + + This is a staging environment intended for testing. Availability is not guaranteed, and services may be down without prior notice. Endpoints, data, and behavior are subject to change at any time. From 0a407d6d83f057d05fa36ed56af0f1b4493dc4bf Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Mon, 19 Jan 2026 17:15:29 +0100 Subject: [PATCH 085/101] fix: inconsistent headings sections --- .../FAIR/Assessment-Recommended-API.rst | 2 +- .../FAIR/FAIR-Test-Results-Vocabulary-FTR.rst | 2 +- docs/commons/FAIR/FAIR-commons.rst | 2 +- .../FAIR/Guidance-Element-Specification.rst | 2 +- docs/tools/SKG.rst | 1 + docs/tools/SKG_tools/openaire.rst | 2 +- docs/tools/SKG_tools/rohub.rst | 77 +++++++++---------- 7 files changed, 43 insertions(+), 45 deletions(-) diff --git a/docs/commons/FAIR/Assessment-Recommended-API.rst b/docs/commons/FAIR/Assessment-Recommended-API.rst index a608421..de04713 100644 --- a/docs/commons/FAIR/Assessment-Recommended-API.rst +++ b/docs/commons/FAIR/Assessment-Recommended-API.rst @@ -1,5 +1,5 @@ Assessment Recommended API --------------------------- +========================== The FAIR-IF follows, as closely as possible, the REST standard; however, unlike many REST architectures, not all identifiers in diff --git a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst index e243041..cf1215f 100644 --- a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst +++ b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst @@ -1,5 +1,5 @@ FAIR Testing Resource Vocabulary (FTR) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +======================================= Definition ---------- diff --git a/docs/commons/FAIR/FAIR-commons.rst b/docs/commons/FAIR/FAIR-commons.rst index 781d716..a29701d 100644 --- a/docs/commons/FAIR/FAIR-commons.rst +++ b/docs/commons/FAIR/FAIR-commons.rst @@ -1,5 +1,5 @@ FAIR Commons ------------- +============= The following resources in this section are part of the FAIR Commons component. diff --git a/docs/commons/FAIR/Guidance-Element-Specification.rst b/docs/commons/FAIR/Guidance-Element-Specification.rst index cfd0582..68d6c99 100644 --- a/docs/commons/FAIR/Guidance-Element-Specification.rst +++ b/docs/commons/FAIR/Guidance-Element-Specification.rst @@ -1,5 +1,5 @@ FAIR Guidance Vocabulary Specification (FGV) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +============================================= The **FAIR Guidance Vocabulary (FGV)** provides a machine-readable ontology that implements the FAIR Guidance Model described in the OSTrails Deliverable D1.3. It formalizes the structure of FAIR-enabling guidance by extending and aligning with standards such as `DCAT `__, `Schema.org `__, and the `Semanticscience Integrated Ontology (SIO) `__. diff --git a/docs/tools/SKG.rst b/docs/tools/SKG.rst index c15a125..215e31c 100644 --- a/docs/tools/SKG.rst +++ b/docs/tools/SKG.rst @@ -1,4 +1,5 @@ OSTrails SKG Tools +==================== The following resources in this section are part of the FAIR Tools component. diff --git a/docs/tools/SKG_tools/openaire.rst b/docs/tools/SKG_tools/openaire.rst index e9e5f3f..d37f425 100644 --- a/docs/tools/SKG_tools/openaire.rst +++ b/docs/tools/SKG_tools/openaire.rst @@ -1,4 +1,4 @@ OpenAIRE Graph API ------------------- +=================== *TODO* diff --git a/docs/tools/SKG_tools/rohub.rst b/docs/tools/SKG_tools/rohub.rst index 9d71de4..54d3be2 100644 --- a/docs/tools/SKG_tools/rohub.rst +++ b/docs/tools/SKG_tools/rohub.rst @@ -1,27 +1,28 @@ ROHub API +========== .. page-authors:: Raul Palma - -ROHub (https://www.rohub.org/) is an RO-Crate management platform that provides a holistic solution for the storage, lifecycle management and preservation of scientific investigations, campaigns and operational processes via research objects. -It makes these resources available to others, allows to publish and release them through a DOI, and allows to discover and reuse pre-existing scientific knowledge. -ROHub implements the RO-Crate specification and uses it as the standard format for serialising and exchanging research objects. -ROHub provides the backbone to a wealth of RO centric applications and interfaces across different scientific communities. -It is available via a public instance, and can provided also as a dedicated/private instance (Platform as a service) or on-premises. + +ROHub (https://www.rohub.org/) is an RO-Crate management platform that provides a holistic solution for the storage, lifecycle management and preservation of scientific investigations, campaigns and operational processes via research objects. +It makes these resources available to others, allows to publish and release them through a DOI, and allows to discover and reuse pre-existing scientific knowledge. +ROHub implements the RO-Crate specification and uses it as the standard format for serialising and exchanging research objects. +ROHub provides the backbone to a wealth of RO centric applications and interfaces across different scientific communities. +It is available via a public instance, and can provided also as a dedicated/private instance (Platform as a service) or on-premises. Architecture overview and integrations ------------------------------------------ -ROHub comprises a backend component, an IAM component, (meta-) data and resource storage components and a set of user interfaces. -The backend exposes a comprehensive REST API, which can be used by different applications. -The user interfaces, include a reference Web Portal and a Python library. -The ROHub portal provides a comprehensive user interface for the management and preservation of research objects, while the Python library works on top of the ROHub backend REST API, wrapping and abstracting the REST methods in user-friendly API methods that can be used, for instance, via Jupyter Notebooks. -Additionally, various external services are integrated or leverated in ROHub, including RO added value services as well as various EOSC services. +ROHub comprises a backend component, an IAM component, (meta-) data and resource storage components and a set of user interfaces. +The backend exposes a comprehensive REST API, which can be used by different applications. +The user interfaces, include a reference Web Portal and a Python library. +The ROHub portal provides a comprehensive user interface for the management and preservation of research objects, while the Python library works on top of the ROHub backend REST API, wrapping and abstracting the REST methods in user-friendly API methods that can be used, for instance, via Jupyter Notebooks. +Additionally, various external services are integrated or leverated in ROHub, including RO added value services as well as various EOSC services. These include: - Semantic enrichment and recommendation plus a set of extended analytic services. The former generate structured machine-readable metadata about the content of a research object including the main concepts and phrases, the entities and their type, and topical information from domains according to the Expert.ai linguistic knowledge graph, and generate recommendations based on the discovered metadata. The latter include the challenge and solution extraction, the Question Generation service, the claim analysis service, and the novelty scoring service - Checklist service: provides access to the minim-based checklist evaluation of research objects, used to assess their quality for different purposes, e.g., completeness, accessibility or ready to release, and according to the needs of a particular community or application. -- Quality monitoring service: enables the evaluation of the RO through time by capturing discrete values provided by the checklist service in different moments of its evolution. +- Quality monitoring service: enables the evaluation of the RO through time by capturing discrete values provided by the checklist service in different moments of its evolution. - FAIROs service: measures the FAIRness of Research Objects, by calculating the FAIRness of individual aggregated resources, including the Research Object itself, and then aggregating those results to calculate the over FAIR score. -- EGI check-in, the EOSC Identity and Access Management (IAM) service that connects federated Identity Providers (IdPs) with EOSC service providers. +- EGI check-in, the EOSC Identity and Access Management (IAM) service that connects federated Identity Providers (IdPs) with EOSC service providers. - Zenodo. ROHub allows to release and share ro-crates via Zenodo. - B2share. ROHub allows to release and share ro-crates via B2Share. - B2drop. ROHub users have the possibility to use the default ROHub storage, or B2drop as their personal storage space where the resources uploaded to their research objects will be stored. B2drop resources are synchronized with the corresponding research objects in both ways. @@ -33,56 +34,52 @@ These include: Authentication and Authorization ------------------------------------------- -The ROHub Identity and Access Management (IAM) is based on Keycloak technology. -It allows users to authenticate to ROHub and enables the single sign-on across different various services. -The most important feature of ROHub IAM is that is integrated with EGI check-in AAI and with Pionier.ID. -The former allows the user to authenticate through the EGI check-in service that operates as a central hub to connect federated Identity Providers (IdPs) with EOSC service providers. +---------------------------------- +The ROHub Identity and Access Management (IAM) is based on Keycloak technology. +It allows users to authenticate to ROHub and enables the single sign-on across different various services. +The most important feature of ROHub IAM is that is integrated with EGI check-in AAI and with Pionier.ID. +The former allows the user to authenticate through the EGI check-in service that operates as a central hub to connect federated Identity Providers (IdPs) with EOSC service providers. The latter allows access to the services of the PIONIER Consortium for Polish science and automatic membership in eduGain, which connects identity federations around the world, simplifying access to content, services and resources for the global research and education community. SKG-IF implementation ------------------------------------------- -Initial implementation (under testing) of OSTrails SKG-IF to expose RO-Crates as Scientific Knowledge Graphs, focused on research products. -This required the specification and implementation of the mapping of the RO-Crate metadata to the SKG-IF data model. -This will allow the integration and/or harvesting of RO-Crate metadata in other SKGs that will use this API to harvest metadata, like OpenAire that plans to use such API in the future for harvesting. -Currently, OpenAire SKG harvest metadata about RO-Crates (and other key resources) from ROHub via its OAI-PMH endpoint. +------------------------ +Initial implementation (under testing) of OSTrails SKG-IF to expose RO-Crates as Scientific Knowledge Graphs, focused on research products. +This required the specification and implementation of the mapping of the RO-Crate metadata to the SKG-IF data model. +This will allow the integration and/or harvesting of RO-Crate metadata in other SKGs that will use this API to harvest metadata, like OpenAire that plans to use such API in the future for harvesting. +Currently, OpenAire SKG harvest metadata about RO-Crates (and other key resources) from ROHub via its OAI-PMH endpoint. -Resources and identifiers --------------------------------- +Resources and identifiers +-------------------------- Portal ~~~~~~~~ - Portal: https://www.rohub.org/ - re3data.org persistent identifier: http://doi.org/10.17616/R31NJN60 - FAIRSharing identifier: https://fairsharing.org/4119 -- Portal documentation: https://reliance-eosc.github.io/rohub-portal-documentation/ +- Portal documentation: https://reliance-eosc.github.io/rohub-portal-documentation/ - Version 4.0.2 API ~~~~~~~~ - API: https://api.rohub.org/api/ - OpenAPI: https://api.rohub.org/api/swagger/ -- Redoc: https://api.rohub.org/api/redoc/ -- OAI-PMH endpoint: https://api.rohub.org/api/oai2d/ -- SPARQL endpoint: https://rohub2020-api-virtuoso-route-rohub2020.apps.paas.psnc.pl/sparql/ +- Redoc: https://api.rohub.org/api/redoc/ +- OAI-PMH endpoint: https://api.rohub.org/api/oai2d/ +- SPARQL endpoint: https://rohub2020-api-virtuoso-route-rohub2020.apps.paas.psnc.pl/sparql/ - Version: 2.1.81 Python library ~~~~~~~~~~~~~~~~ -- Python library: https://reliance-eosc.github.io/ROHUB-API_documentation/html/README.html -- API library documentation: https://reliance-eosc.github.io/ROHUB-API_documentation/html/index.html -- API library example Jupyter Notebooks: https://github.com/RELIANCE-EOSC/sample-notebooks +- Python library: https://reliance-eosc.github.io/ROHUB-API_documentation/html/README.html +- API library documentation: https://reliance-eosc.github.io/ROHUB-API_documentation/html/index.html +- API library example Jupyter Notebooks: https://github.com/RELIANCE-EOSC/sample-notebooks - Repository: https://github.com/oeg-upm/FAIR-Research-Object - License: MIT support ~~~~~~~~ - ROHub in EOSC: https://open-science-cloud.ec.europa.eu/resources/datasources/21.11166%2FBA1Ba2 -- Tutorial: https://reliance-eosc.github.io/ROHUB-API_documentation/html/tutorials.html -- Training materials: https://www.reliance-project.eu/adopters/ -- Helpdesk: https://support.pcss.pl/servicedesk/customer/portal/27 -- support email: support@rohub.org -RO-HUB API ----------- - -*TODO* +- Tutorial: https://reliance-eosc.github.io/ROHUB-API_documentation/html/tutorials.html +- Training materials: https://www.reliance-project.eu/adopters/ +- Helpdesk: https://support.pcss.pl/servicedesk/customer/portal/27 +- support email: support@rohub.org From af494eabcd338b1bda933e6d073649e2e2e80a85 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Tue, 20 Jan 2026 12:06:22 +0100 Subject: [PATCH 086/101] removed repeated toctree --- docs/commons/skg/mappings/index.rst | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/docs/commons/skg/mappings/index.rst b/docs/commons/skg/mappings/index.rst index eb8d7ea..251a0a3 100644 --- a/docs/commons/skg/mappings/index.rst +++ b/docs/commons/skg/mappings/index.rst @@ -8,13 +8,5 @@ SKG-IF mappings DDI SKG-IF mapping RO-Crate SKG-IF mapping - - - - -.. toctree:: - :maxdepth: 1 - :titlesonly: - - DDI SKG-IF mapping - OpenAIRE Graph SKG-IF mappings + OpenAIRE Graph SKG-IF mappings + From 8607b226981a36b594f9ebb9766c72e862571d49 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Tue, 20 Jan 2026 12:07:21 +0100 Subject: [PATCH 087/101] fix: headers issue in shraed-tests --- docs/commons/FAIR/Shared-Tests.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/commons/FAIR/Shared-Tests.rst b/docs/commons/FAIR/Shared-Tests.rst index 7da6c8d..927dd0e 100644 --- a/docs/commons/FAIR/Shared-Tests.rst +++ b/docs/commons/FAIR/Shared-Tests.rst @@ -1,5 +1,5 @@ Shared Tests --------------------------- +============== The FAIR-IF defines the API for assessments. From d9c0782068dac31e85dd052ee05d6af640c535f8 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Tue, 20 Jan 2026 12:10:06 +0100 Subject: [PATCH 088/101] uniformed file name --- .../{openaire-mappings.rst => Mapping-SKGIF-OpenAIRE.rst} | 0 docs/commons/skg/mappings/index.rst | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename docs/commons/skg/mappings/{openaire-mappings.rst => Mapping-SKGIF-OpenAIRE.rst} (100%) diff --git a/docs/commons/skg/mappings/openaire-mappings.rst b/docs/commons/skg/mappings/Mapping-SKGIF-OpenAIRE.rst similarity index 100% rename from docs/commons/skg/mappings/openaire-mappings.rst rename to docs/commons/skg/mappings/Mapping-SKGIF-OpenAIRE.rst diff --git a/docs/commons/skg/mappings/index.rst b/docs/commons/skg/mappings/index.rst index 251a0a3..b2f74e2 100644 --- a/docs/commons/skg/mappings/index.rst +++ b/docs/commons/skg/mappings/index.rst @@ -8,5 +8,5 @@ SKG-IF mappings DDI SKG-IF mapping RO-Crate SKG-IF mapping - OpenAIRE Graph SKG-IF mappings + OpenAIRE Graph SKG-IF mappings From faeb0d1057f693ede3c56a8f882d39bb5c86f356 Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Tue, 20 Jan 2026 12:10:51 +0100 Subject: [PATCH 089/101] fixed rst heading --- docs/commons/skg/mappings/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/commons/skg/mappings/index.rst b/docs/commons/skg/mappings/index.rst index b2f74e2..0c6fad1 100644 --- a/docs/commons/skg/mappings/index.rst +++ b/docs/commons/skg/mappings/index.rst @@ -1,4 +1,5 @@ SKG-IF mappings +================ - *Planned resource to be developed* From 19d0cda2c01f9462711f6d34fa128665f1a1a5ec Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Tue, 20 Jan 2026 12:12:29 +0100 Subject: [PATCH 090/101] fixed typo --- docs/commons/skg/mappings/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/commons/skg/mappings/index.rst b/docs/commons/skg/mappings/index.rst index 0c6fad1..a8494b4 100644 --- a/docs/commons/skg/mappings/index.rst +++ b/docs/commons/skg/mappings/index.rst @@ -9,5 +9,5 @@ SKG-IF mappings DDI SKG-IF mapping RO-Crate SKG-IF mapping - OpenAIRE Graph SKG-IF mappings + OpenAIRE Graph SKG-IF mapping From 588d575edc349c444fdd23cc1f6197d396214370 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Tue, 20 Jan 2026 15:11:47 +0100 Subject: [PATCH 091/101] Fix: bullet points in mappings --- docs/commons/dmp/mappings/index.rst | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/commons/dmp/mappings/index.rst b/docs/commons/dmp/mappings/index.rst index 241c891..8706a5a 100644 --- a/docs/commons/dmp/mappings/index.rst +++ b/docs/commons/dmp/mappings/index.rst @@ -29,21 +29,26 @@ Creation Process The creation of maDMP mappings follows a collaborative workflow: 1. **Select a traditional DMP template** - Identify the template to be converted into a machine-actionable format. + + * Identify the template to be converted into a machine-actionable format. 2. **Review standards and profiles** - Familiarize yourself with the RDA maDMP Common Standard and the OSTrails Application Profile. Review existing mappings (e.g., Science Europe template). + + * Familiarize yourself with the RDA maDMP Common Standard and the OSTrails Application Profile. Review existing mappings (e.g., Science Europe template). 3. **Draft the mapping** + * Map sections and fields from the traditional template to maDMP components. * Define validation rules and controlled vocabularies (licenses, access levels, standards). * Request additions to the OSTrails AP if no corresponding field exists. 4. **Test usability** - Validate the mapping with 3–5 real projects to ensure practical applicability. + + * Validate the mapping with 3–5 real projects to ensure practical applicability. 5. **Publish as commons** - The final mapping becomes part of the OSTrails commons and is available for reuse. + + * The final mapping becomes part of the OSTrails commons and is available for reuse. Integration From fe5cdbf3b08764e6477efcede78578d002169082 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Tue, 20 Jan 2026 15:56:03 +0100 Subject: [PATCH 092/101] fix: List of the links standard --- docs/commons/FAIR/Shared-Tests.rst | 4 +- docs/commons/dmp/dmp-common-standard.rst | 11 ++--- docs/commons/dmp/madmp-api-specification.rst | 11 ++--- .../FAIR_tools/Catalogue-of-Benchmarks.rst | 8 ++-- .../FAIR-Assessment-Authoring-Tool.rst | 12 +++--- docs/tools/FAIR_tools/FAIR-Champion.rst | 10 ++--- docs/tools/FAIR_tools/FAIR-Validator.rst | 10 ++--- docs/tools/FAIR_tools/FAIROS.rst | 14 +++---- docs/tools/FAIR_tools/FOOPS.rst | 14 +++---- docs/tools/SKG_tools/cessda.rst | 6 +-- docs/tools/SKG_tools/rohub.rst | 42 +++++++++---------- 11 files changed, 66 insertions(+), 76 deletions(-) diff --git a/docs/commons/FAIR/Shared-Tests.rst b/docs/commons/FAIR/Shared-Tests.rst index 927dd0e..2a2e7a7 100644 --- a/docs/commons/FAIR/Shared-Tests.rst +++ b/docs/commons/FAIR/Shared-Tests.rst @@ -11,5 +11,5 @@ This code can be deployed by anyone, or can be used as a template to guide indep Repositories --------- -FAIR Champion Core FAIR Tests -FAIR Champion OSTrails Pilots Community Tests + - **FAIR Champion Core FAIR Tests**: https://github.com/wilkinsonlab/FAIR-Core-Tests + - **FAIR Champion OSTrails Pilots Community Tests**: https://github.com/wilkinsonlab/Community-FAIR-Tests diff --git a/docs/commons/dmp/dmp-common-standard.rst b/docs/commons/dmp/dmp-common-standard.rst index d879df0..a793c8e 100644 --- a/docs/commons/dmp/dmp-common-standard.rst +++ b/docs/commons/dmp/dmp-common-standard.rst @@ -43,14 +43,9 @@ The RDA DMP Common Standard is developed and maintained by the community under t Relevant resources include: -- **Specification repository**: - https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard - -- **Issue tracker and discussions**: - https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/issues - -- **RDA Working Group page**: - https://www.rd-alliance.org/groups/dmp-common-standards-wg + - **Specification repository**: https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard + - **Issue tracker and discussions**: https://github.com/RDA-DMP-Common/RDA-DMP-Common-Standard/issues + - **RDA Working Group page**: https://www.rd-alliance.org/groups/dmp-common-standards-wg These channels are the authoritative venues for proposing changes, reporting issues, and discussing the evolution of the standard. diff --git a/docs/commons/dmp/madmp-api-specification.rst b/docs/commons/dmp/madmp-api-specification.rst index 3060b73..7c06b06 100644 --- a/docs/commons/dmp/madmp-api-specification.rst +++ b/docs/commons/dmp/madmp-api-specification.rst @@ -57,14 +57,9 @@ The working group was established during the OSTrails project and brings togethe Relevant resources include: -- **Specification repository**: - https://github.com/RDA-DMP-Common/common-madmp-api - -- **Issue tracker and discussions**: - https://github.com/RDA-DMP-Common/common-madmp-api/issues - -- **RDA Working Group page**: - https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps + - **Specification repository**: https://github.com/RDA-DMP-Common/common-madmp-api + - **Issue tracker and discussions**: https://github.com/RDA-DMP-Common/common-madmp-api/issues + - **RDA Working Group page**: https://www.rd-alliance.org/groups/common-application-programming-interface-api-for-machine-actionable-data-management-plans-madmps Documentation and versioning ---------------------------- diff --git a/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst b/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst index c47a5fb..91a0455 100644 --- a/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst +++ b/docs/tools/FAIR_tools/Catalogue-of-Benchmarks.rst @@ -36,10 +36,10 @@ Guided Discovery and Re-use FAIRassist guides users to the benchmarks and metrics they need through a variety of routes, including: -- the FAIR principles to which they relate, -- subject area and research object type of interest, -- associated organisations, and -- the FAIR evaluation tools that implement them. +- The FAIR principles to which they relate. +- Subject area and research object type of interest. +- Associated organisations. +- The FAIR evaluation tools that implement them. The ecosystem of related resources is summarised and presented as tabular results, enabling further exploration and ultimately fostering component re-use. diff --git a/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst b/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst index 6d1c2fa..aaec303 100644 --- a/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst +++ b/docs/tools/FAIR_tools/FAIR-Assessment-Authoring-Tool.rst @@ -95,12 +95,12 @@ If your assessment component is a **FAIR Test**, this submission will also regis References ---------- -* `DCAT Vocabulary (W3C) `_ -* `FAIR Testing Resource (FTR) `_ -* `DSW-TDK Github template repository `_ -* `Proxy service Github repository `_ -* `Proxy service endpoint `_ -* `FAIRsharing API documentation `_ + * `DCAT Vocabulary (W3C) `_ + * `FAIR Testing Resource (FTR) `_ + * `DSW-TDK Github template repository `_ + * `Proxy service Github repository `_ + * `Proxy service endpoint `_ + * `FAIRsharing API documentation `_ Contact us ---------- diff --git a/docs/tools/FAIR_tools/FAIR-Champion.rst b/docs/tools/FAIR_tools/FAIR-Champion.rst index 3a9b869..5da4529 100644 --- a/docs/tools/FAIR_tools/FAIR-Champion.rst +++ b/docs/tools/FAIR_tools/FAIR-Champion.rst @@ -3,8 +3,8 @@ FAIR Champion FAIR Champion is a general-purpose FAIR assessment tool intended to be used by all communities and for all digital objects. In this release, FAIR Champion is aware of the 22 FAIR Tests (below), but any test, from any provider, can be registered so long as the test generates a metadata descriptor compliant with the FAIR Reference Model defined by OSTrails. The OpenAPI interface descriptor for this release is only partially complete; the Champion has a variety of functions related to new test registration and benchmark registration that are currently pending decisions by the OSTrails project. -- Persistent identifier: https://tools.ostrails.eu/champion/sets/ -- Code repository: https://github.com/OSTrails/FAIR-Champion -- Version: Release v1 -- Release: https://github.com/OSTrails/FAIR-Champion/releases/tag/1.0.0 -- License: MIT + - **Persistent identifier**: https://tools.ostrails.eu/champion/sets/ + - **Code repository**: https://github.com/OSTrails/FAIR-Champion + - **Version**: Release v1 + - **Release**: https://github.com/OSTrails/FAIR-Champion/releases/tag/1.0.0 + - **License**: MIT diff --git a/docs/tools/FAIR_tools/FAIR-Validator.rst b/docs/tools/FAIR_tools/FAIR-Validator.rst index ccd114a..f1bcee3 100644 --- a/docs/tools/FAIR_tools/FAIR-Validator.rst +++ b/docs/tools/FAIR_tools/FAIR-Validator.rst @@ -3,8 +3,8 @@ FAIR Validator The OpenAIRE Metadata Validator is a software tool designed to evaluate metadata records for research products (publications, datasets, software, and other outputs) against the OpenAIRE Guidelines, which define the minimum requirements for inclusion in the OpenAIRE Graph. In addition to guideline compliance, the tool is being extended with FAIR evaluation capabilities through the FAIR Validator, which builds on the OpenAIRE Guidelines assessment. The version presented here supports and implements the FAIR Reference Model defined by OSTrails. This release includes the source code of the tool. -- Persistent identifier: not available yet -- Code repository: https://code-repo.d4science.org/MaDgIK/openaire-ostrails-api/ -- Version: Release v0.1.0 -- Release: https://code-repo.d4science.org/MaDgIK/openaire-ostrails-api/releases/tag/0.1.0 -- License: Apache-2.0 + - **Persistent identifier**: not available yet + - **Code repository**: https://code-repo.d4science.org/MaDgIK/openaire-ostrails-api/ + - **Version**: Release v0.1.0 + - **Release**: https://code-repo.d4science.org/MaDgIK/openaire-ostrails-api/releases/tag/0.1.0 + - **License**: Apache-2.0 diff --git a/docs/tools/FAIR_tools/FAIROS.rst b/docs/tools/FAIR_tools/FAIROS.rst index beddd49..c61ae9a 100644 --- a/docs/tools/FAIR_tools/FAIROS.rst +++ b/docs/tools/FAIR_tools/FAIROS.rst @@ -3,10 +3,10 @@ FAIROS FAIROs is a FAIR assessment tool for [Research Objects](https://www.researchobject.org/ro-crate/). The tool uses external tools such as [F-UJI](https://f-uji.net/), [FOOPS](https://w3id.org/foops/) and [RSFC](https://github.com/oeg-upm/rsfc) to assess datasets, ontologies and software. The catalog contains the metrics and tests used to evaluate Research Objects. The source code with the FTR specification is in the branch dev-ostrails. -- Persistent identifier: https://w3id.org/FAIROS/ -- Zenodo link (latest release): https://doi.org/10.5281/zenodo.7795727 -- Code repository: https://github.com/oeg-upm/FAIR-Research-Object -- Version: 0.0.2 -- Release:https://github.com/oeg-upm/FAIR-Research-Object/releases/tag/v0.0.2 -- License: Apache-2.0 -- Test and metric catalogue: https://w3id.org/FAIROS/catalog + - **Persistent identifier**: https://w3id.org/FAIROS/ + - **Zenodo link (latest release)**: https://doi.org/10.5281/zenodo.7795727 + - **Code repository**: https://github.com/oeg-upm/FAIR-Research-Object + - **Version**: 0.0.2 + - **Release**:https://github.com/oeg-upm/FAIR-Research-Object/releases/tag/v0.0.2 + - **License**: Apache-2.0 + - **Test and metric catalogue**: https://w3id.org/FAIROS/catalog diff --git a/docs/tools/FAIR_tools/FOOPS.rst b/docs/tools/FAIR_tools/FOOPS.rst index 9d8c7d1..ddfbebd 100644 --- a/docs/tools/FAIR_tools/FOOPS.rst +++ b/docs/tools/FAIR_tools/FOOPS.rst @@ -3,10 +3,10 @@ FOOPS! The Ontology Pitfall Scanner for FAIR (FOOPS!) is a FAIR assessment tool for vocabularies and ontologies. In this release, FOOPS! has been adapted to comply with the [FTR specification](https://w3id.org/ftr/). A catalog of test descriptions and metrics has been made available in https://w3id.org/foops/catalogue. The release contains the source code of the tools, as well as the machine-readable and human-readable documentation of all tests, metrics and benchmarks associated with the tool. -- Persistent identifier: https://w3id.org/foops/ -- Zenodo link (latest release): https://doi.org/10.5281/zenodo.14767999 -- Code repository: https://github.com/oeg-upm/fair_ontologies -- Version: 0.2.0 -- Release: https://github.com/oeg-upm/fair_ontologies/releases/tag/v0.2.0 -- License: Apache-2.0 -- Catalog of tests and metrics: https://w3id.org/foops/catalogue + - **Persistent identifier**: https://w3id.org/foops/ + - **Zenodo link (latest release)**: https://doi.org/10.5281/zenodo.14767999 + - **Code repository**: https://github.com/oeg-upm/fair_ontologies + - **Version**: 0.2.0 + - **Release**: https://github.com/oeg-upm/fair_ontologies/releases/tag/v0.2.0 + - **License**: Apache-2.0 + - **Catalog of tests and metrics**: https://w3id.org/foops/catalogue diff --git a/docs/tools/SKG_tools/cessda.rst b/docs/tools/SKG_tools/cessda.rst index 28035ce..13bf0b0 100644 --- a/docs/tools/SKG_tools/cessda.rst +++ b/docs/tools/SKG_tools/cessda.rst @@ -7,13 +7,13 @@ Overview For links to OpenAPI documentation, implemented endpoints and examples of filter usage: -`https://skg-if-staging.cessda.eu/ `__ + - `https://skg-if-staging.cessda.eu/ `__ Endpoints --------- -* `https://skg-if-staging.cessda.eu/products `__ – Returns studies from the CESSDA Data Catalogue (CDC). -* `https://skg-if-staging.cessda.eu/topics `__ – Returns topics from the European Language Social Science Thesaurus (ELSST). + * `https://skg-if-staging.cessda.eu/products `__ – Returns studies from the CESSDA Data Catalogue (CDC). + * `https://skg-if-staging.cessda.eu/topics `__ – Returns topics from the European Language Social Science Thesaurus (ELSST). Current Status -------------- diff --git a/docs/tools/SKG_tools/rohub.rst b/docs/tools/SKG_tools/rohub.rst index 54d3be2..4082143 100644 --- a/docs/tools/SKG_tools/rohub.rst +++ b/docs/tools/SKG_tools/rohub.rst @@ -53,33 +53,33 @@ Resources and identifiers -------------------------- Portal ~~~~~~~~ -- Portal: https://www.rohub.org/ -- re3data.org persistent identifier: http://doi.org/10.17616/R31NJN60 -- FAIRSharing identifier: https://fairsharing.org/4119 -- Portal documentation: https://reliance-eosc.github.io/rohub-portal-documentation/ -- Version 4.0.2 + - **Portal**: https://www.rohub.org/ + - **re3data.org persistent identifier**: http://doi.org/10.17616/R31NJN60 + - **FAIRSharing identifier**: https://fairsharing.org/4119 + - **Portal documentation**: https://reliance-eosc.github.io/rohub-portal-documentation/ + - **Version**: 4.0.2 API ~~~~~~~~ -- API: https://api.rohub.org/api/ -- OpenAPI: https://api.rohub.org/api/swagger/ -- Redoc: https://api.rohub.org/api/redoc/ -- OAI-PMH endpoint: https://api.rohub.org/api/oai2d/ -- SPARQL endpoint: https://rohub2020-api-virtuoso-route-rohub2020.apps.paas.psnc.pl/sparql/ -- Version: 2.1.81 + - **API**: https://api.rohub.org/api/ + - **OpenAPI**: https://api.rohub.org/api/swagger/ + - **Redoc**: https://api.rohub.org/api/redoc/ + - **OAI-PMH endpoint**: https://api.rohub.org/api/oai2d/ + - **SPARQL endpoint**: https://rohub2020-api-virtuoso-route-rohub2020.apps.paas.psnc.pl/sparql/ + - **Version**: 2.1.81 Python library ~~~~~~~~~~~~~~~~ -- Python library: https://reliance-eosc.github.io/ROHUB-API_documentation/html/README.html -- API library documentation: https://reliance-eosc.github.io/ROHUB-API_documentation/html/index.html -- API library example Jupyter Notebooks: https://github.com/RELIANCE-EOSC/sample-notebooks -- Repository: https://github.com/oeg-upm/FAIR-Research-Object -- License: MIT + - **Python library**: https://reliance-eosc.github.io/ROHUB-API_documentation/html/README.html + - **API library documentation**: https://reliance-eosc.github.io/ROHUB-API_documentation/html/index.html + - **API library example Jupyter Notebooks**: https://github.com/RELIANCE-EOSC/sample-notebooks + - **Repository**: https://github.com/oeg-upm/FAIR-Research-Object + - **License**: MIT support ~~~~~~~~ -- ROHub in EOSC: https://open-science-cloud.ec.europa.eu/resources/datasources/21.11166%2FBA1Ba2 -- Tutorial: https://reliance-eosc.github.io/ROHUB-API_documentation/html/tutorials.html -- Training materials: https://www.reliance-project.eu/adopters/ -- Helpdesk: https://support.pcss.pl/servicedesk/customer/portal/27 -- support email: support@rohub.org + - **ROHub in EOSC**: https://open-science-cloud.ec.europa.eu/resources/datasources/21.11166%2FBA1Ba2 + - **Tutorial**: https://reliance-eosc.github.io/ROHUB-API_documentation/html/tutorials.html + - **Training materias**: https://www.reliance-project.eu/adopters/ + - **Helpdesk**: https://support.pcss.pl/servicedesk/customer/portal/27 + - **support email**: support@rohub.org From add73219ac8ddb971152a8c3eb1924cf47033e21 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Thu, 22 Jan 2026 11:31:09 +0100 Subject: [PATCH 093/101] docs: Update information for skg commons --- docs/commons/skg/skg-commons.rst | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/docs/commons/skg/skg-commons.rst b/docs/commons/skg/skg-commons.rst index 6a64119..96db70c 100644 --- a/docs/commons/skg/skg-commons.rst +++ b/docs/commons/skg/skg-commons.rst @@ -1,5 +1,34 @@ SKG Commons ------------ +============ + +The SKG Commons provide a common, reusable, +extensible, and interoperable foundation for handling data exchange between Scholarly Knowledge Graph (SKG) +interfaces across tools and services that implement the Scholarly Knowledge Graph Interoperability Framework (SKG-IF). +They specify how SKG information is modelled, constrained, and exchanged, +while remaining neutral regarding the internal design or implementation of individual systems. The main audience for the SKG Commons consists of software developers who build services to create, manage, or consume SKGs. This includes SKG providers (e.g., OpenAIRE Graph, OpenCitations), other services that manage scholarly metadata and wish to expose interoperable interfaces (e.g., FAIRSharing, RO-Hub), and services that want to integrate with such platforms, as described in the OSTrails Architecture and Pathways. + +The Commons are organised as a framework composed of a shared core data model, SKG-IF community extensions to that model, +standard APIs, and shared mappings from local platform models onto the SKG-IF: + +- **RDA SKG-IF Core Data Model**: The base model that captures the key SKG entities, relationships, and constraints in a machine-actionable form. +- **SKG-IF Extensions**: Community- or domain-specific specialisations of the core model that add entities, fields, and constraints to meet particular interoperability and policy requirements. +- **SKG Commons API Specifications**: Standardised APIs for programmatic access to SKG data across platforms, built on the core model and designed to work with the defined application profiles. +- **SKG mappings**: data model mappings between SKG-IF and external vocabularies, schemas, and domain models, facilitating the creation of application profiles and the alignment of SKG information with existing standards. + +These layers together ensure a consistent understanding of SKG content and predictable behaviour when services interact, regardless of how they are implemented internally. This design enables platforms to evolve independently while remaining interoperable at their interfaces. + + +The SKG Commons primarily target software developers, system architects, and service providers who build or run SKGs and related research information services. Researchers and other end users typically do not interact with the Commons directly; instead, they benefit indirectly through improved automation, more comprehensive linking of research outputs and actors, and enhanced reuse of SKG data across systems. +The SKG Commons follow a community-driven, evolutionary approach, meaning they are intended to adapt continuously to community input, emerging practices, and new interoperability demands. They are grounded in work carried out within the Research Data Alliance (RDA), notably the SKG Interoperability Framework and associated recommendations, and they actively feed back into these communities. The framework supports stepwise adoption while still enabling full interoperability once all components are in place. + +Contribution and future evolution +---------------------------------- +The SKG Commons actively collaborate with and contributes to the further development of the SKG-IF Core Data Model and SKG-O. + +This contribution is informed by practical implementation experience with SKG-IF Extensions, JSON-LD contexts, SHACL validation, and the SKG Commons APIs, as well as by identifying gaps or ambiguities that hinder interoperability across infrastructures, domains, or regions. + +Proposed enhancements are not limited to a particular platform or geography; they aim to strengthen SKG-IF for the broader international community and future versions of the framework. As SKG-IF evolves, the SKG Commons will track and adopt new versions, preserving continuity while enabling incremental uptake of improvements. + The following resources in this section are part of the SKG Commons component. From 7954935e627ba5e38da9c62195dff198ce258259 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Thu, 22 Jan 2026 11:31:27 +0100 Subject: [PATCH 094/101] docs: add content to the skg metadata model --- docs/commons/skg/skg-if-metadata-model.rst | 56 ++++++++++++++++++++-- 1 file changed, 53 insertions(+), 3 deletions(-) diff --git a/docs/commons/skg/skg-if-metadata-model.rst b/docs/commons/skg/skg-if-metadata-model.rst index 97e9db3..6af5be3 100644 --- a/docs/commons/skg/skg-if-metadata-model.rst +++ b/docs/commons/skg/skg-if-metadata-model.rst @@ -1,6 +1,56 @@ OSTrails Metadata Model for SKGs --------------------------------- +================================== -OSTrails contributed to the consolidation and complies to the JSON format defined by the SKG-IF. +The RDA Scholarly Knowledge Graph Interoperability Framework (SKG-IF) Core Data Model defines a minimal, interoperable metadata model for representing SKG data in a machine-actionable way. + +The model is used to describe the main SKG-IF entities, their attributes, and their relations, using Semantic Web technologies. It reuses and aligns existing ontologies that address specific scholarly communication scenarios, ensuring compatibility with the overall aims of SKG-IF while avoiding reinvention of established models. + +The SKG-IF Core Data Model, summarised in Graffoo diagrams, supports the representation of the following key entities: + +- **Agent**: individuals or organisations (or other acting entities) involved in the creation, publication, dissemination, curation, or assessment of research products. +- **Data source**: services or platforms where research products (metadata and, where applicable, files) are stored, preserved, made discoverable, and accessed. +- **Grant**: funding awarded by a funding body to one or more agents. +- **Research product**: research outputs of different types, such as research literature, research data, research software, or other categories. +- **Topic**: scientific disciplines, subjects, or keywords relevant to a research product and its context. +- **Venue**: publishing or dissemination channels through which research products are made available (e.g., journals, conferences, platforms). + +The SKG-IF Core Data Model is implemented as an OWL ontology, the SKG-IF Ontology (SKG-O). Rather than introducing yet another standalone bibliographic ontology, SKG-O aggregates and organises complementary ontological entities from several existing vocabularies used within SKG-IF, providing a coherent space for descriptive metadata compliant with the SKG-IF Data Model. + +SKG-O is structured into six ontological modules, one for each SKG-IF entity type, all formally imported into the main ontology: + +- **SKG-O**: agent – https://w3id.org/skg-if/ontology/agent/ +- **SKG-O**: data-source – https://w3id.org/skg-if/ontology/data-source/ +- **SKG-O**: grant – https://w3id.org/skg-if/ontology/grant/ +- **SKG-O**: research-product – https://w3id.org/skg-if/ontology/research-product/ +- **SKG-O**: topic – https://w3id.org/skg-if/ontology/topic/ +- **SKG-O**: venue – https://w3id.org/skg-if/ontology/venue/ + +Version and usage +------------------ +Within the SKG Commons, the SKG-IF Core Data Model and SKG-O serve as the foundational layer on which higher-level specifications are built: SKG-IF Extensions, application profiles, and the SKG Commons API specifications. All additional constraints and specialisations are defined on top of this core model, ensuring alignment with the RDA SKG-IF framework. + +SKG-IF data produced under the Interoperability Framework align with SKG-O via the SKG-IF JSON-LD context, which binds JSON structures to ontology terms. Furthermore, a dedicated SHACL shapes document is provided for semantic validation of data against the Core Data Model, ensuring conformance and consistency across implementations. + +Scope and role within the SKG Commons +---------------------------------------- + +Within the SKG Commons, the SKG-IF Core Data Model: + +- Defines the minimum set of concepts required to describe SKGs in a machine-actionable, semantically rich way +- Establishes a shared semantic baseline across tools and services +- Enables interoperability without dictating internal data models or architectures in individual systems + +Domain- or policy-specific requirements are intentionally handled at higher layers (e.g., SKG-IF Extensions and application profiles). This separation keeps the core model stable, reusable, and broadly applicable across communities and infrastructures. + +Community governance and maintenance +--------------------------------------- +The SKG-IF Core Data Model and SKG-O are developed and maintained by the community within the Research Data Alliance (RDA) SKG-IF activities. Issues, discussions, and change proposals concerning the model and ontology are managed via the established RDA community processes. + +Typical resources include: + + * `SKG-IF Framework: `_ + * `SKG-IF on GitHub: `_ + * `JSON-LD Context: `_ + +These venues are the authoritative channels for proposing changes, reporting issues, and discussing the ongoing evolution of the SKG-IF Core Data Model and its ontology. -More information about the entities, their properties and relations can be found online `in the official SKG-IF documentation `_. From dc0786846c1f30292d5be10bc4731324e491cbd9 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Thu, 22 Jan 2026 13:14:38 +0100 Subject: [PATCH 095/101] docs: add content for skg api --- docs/commons/skg/skg-if-api-specification.rst | 81 ++++++++++++++++++- 1 file changed, 78 insertions(+), 3 deletions(-) diff --git a/docs/commons/skg/skg-if-api-specification.rst b/docs/commons/skg/skg-if-api-specification.rst index 1eecc9d..0435c56 100644 --- a/docs/commons/skg/skg-if-api-specification.rst +++ b/docs/commons/skg/skg-if-api-specification.rst @@ -1,6 +1,81 @@ OSTrails SKG-IF API Specification ---------------------------------- +================================== -OSTrails coordinated the definition of the SKG-IF API specification, which provides dedicated endpoints for each SKG-IF core entity and supports querying and filtering. +The SKG-IF OpenAPI specification defines a common way to programmatically interact with Scholarly Knowledge Graph (SKG) providers and related services. The API enables uniform access to SKG information and operations, even when individual implementations differ in their internal architectures, technology stacks, or integration patterns. + +Purpose and design principles +------------------------------- + +The SKG-IF API specifications are designed so as to: + +* Provide a standardised REST/OpenAPI interface for SKG-IF entities (research products, agents, venues, data sources, grants, topics); +* Support machine-to-machine interoperability in heterogeneous environments; +* Decouple external interactions from internal data models and storage technologies; +* Facilitate validation, testing, and automation of SKG-IF–based workflows. + + +The specification focuses on the shape and semantics of the JSON responses and operations, not on how services internally manage or persist data. This enables the independent evolution of local systems while maintaining a predictable, interoperable way for exchanging data. + +Relationship to the data model and JSON-LD +--------------------------------------------- + +The SKG-IF OpenAPI builds directly on the SKG-IF Data Model and the SKG-IF JSON-LD context. In particular: + +* Single-entity operations (`/{entity-type}/{local_identifier}`) return JSON that is compatible with the SKG-IF JSON-LD context (via `@context`), and **must** conform to the OpenAPI response schemas. +* Search operations (`/{entity-type}?filter=…`) return JSON-only responses with a `meta` object and a `results` array; work is in progress to provide an appropriate JSON-LD context pattern for paged/search results. + +The specification defines how key SKG-IF concepts, such as `local_identifier`, `entity_type`, and identifiers (DOI, ORCID, ROR, etc.), as well as embedded entities (e.g., agents and venues within products), are exposed via the API. + +Uniform operations and validation across implementations +--------------------------------------------------------- + +By implementing the SKG-IF OpenAPI, SKG-IF providers can expose a consistent set of operations, such as: + +* Retrieving a single entity by `local_identifier`, +* Searching entities using filter expressions, +* Serving JSON-LD–compatible representations for core SKG-IF entities. + +Implementations can be automatically validated against the SKG-IF OpenAPI specification using a validation proxy such as Stoplight Prism. A typical validation setup: + +1. Download the SKG-IF OpenAPI YAML file: https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml +2. Run a Prism proxy in front of your implementation, e.g.: docker run --init --rm -v $(pwd):/tmp -p 4010:4010 stoplight/prism:4 proxy -h 0.0.0.0 /tmp/skg-if-openapi.yaml http://my-dev-server:8080 --errors +3. Exercise your endpoints through the proxy (e.g., http://localhost:4010/products) and use the proxy responses to detect schema and contract violations. + +This validation approach can be integrated into CI/CD pipelines. If an implementation passes the OpenAPI conformance tests, it is considered compliant with SKG-IF at the API level; SHACL validation is not required in addition to OpenAPI compliance. + +Community governance and maintenance +------------------------------------- + +The SKG-IF OpenAPI specification is developed and maintained collaboratively within the RDA SKG-IF Working Group and its broader implementer community. Discussion and feedback loops are driven by concrete implementation experience (e.g., hackathons, pilot deployments) and captured in public issue trackers and documents. + +Relevant community resources include: + +* SKG-IF OpenAPI YAML (“current” dev version): https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml +* GitHub source (current): https://raw.githubusercontent.com/skg-if/api/refs/heads/main/openapi/ver/current/skg-if-openapi.yaml +* Permanent alias for the current version: https://w3id.org/skg-if/api/skg-if-openapi.yaml +* General API repository: https://github.com/skg-if/api ++ RDA SKG-IF WG and implementer channel on Discord. + +These venues are the authoritative places to report issues, discuss design choices (e.g., filter grammar, JSON-LD options, authentication strategies), and propose enhancements. + +Documentation and versioning +----------------------------- + +The SKG-IF OpenAPI specification is published as a machine-readable OpenAPI document and can be explored through multiple viewers: + +* Stoplight Elements: https://elements-demo.stoplight.io/?spec=https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml +* Redocly Redoc: https://redocly.github.io/redoc/?url=https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml +* Swagger Editor https://editor-next.swagger.io with input https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml + +Versioning follows a clear separation between the SKG-IF Data Model / JSON-LD context version (e.g., `https://w3id.org/skg-if/context/1.0.1/skg-if.json`), and the **SKG-IF OpenAPI version, using semantic versioning in `info.version` (e.g., `1.1.3`), with the rule that major versions of the data model and the OpenAPI should always match. + +Examples: +--------- + +* Official released OpenAPI version: https://github.com/skg-if/api/openapi/ver/1.1.3/skg-if-openapi.yaml +* Permanent URL: https://w3id.org/skg-if/api/1.1.3/skg-if-openapi.yaml +* Data Model / context versions: https://w3id.org/skg-if/context/1.0.0/skg-if.json, and https://w3id.org/skg-if/context/1.0.1/skg-if.json +* Current alias: https://w3id.org/skg-if/context/skg-if.json + +The specification evolves iteratively, incorporating feedback from real-world implementations (e.g., on filters, extensions, missing fields, JSON-LD behaviour). Future versions aim to maintain compatibility with the SKG-IF Data Model while providing a stable yet extensible API surface for the SKG Commons. -More information can be found online `in the official SKG-IF documentation `_. From feb926e9639860f9d1022fd2f6b21b4bd3b71917 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Thu, 22 Jan 2026 13:37:29 +0100 Subject: [PATCH 096/101] docs: add content to skg extensions --- docs/commons/skg/skg-if-entity-extension.rst | 65 +++++++++++--------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/docs/commons/skg/skg-if-entity-extension.rst b/docs/commons/skg/skg-if-entity-extension.rst index 9921fd2..003c3d6 100644 --- a/docs/commons/skg/skg-if-entity-extension.rst +++ b/docs/commons/skg/skg-if-entity-extension.rst @@ -1,34 +1,41 @@ OSTrails SKG-IF Extensions --------------------------- +============================ + +SKG-IF extensions are introduced as a strategic mechanism to address the evolving and diverse needs of scientific communities and projects. Within the SKG-IF, extensions are intended to capture shared requirements and interests that are not fully covered by the core set of entities and properties. + + +By enabling the definition of extensions that enrich the core SKG-IF model, the framework can support specialised use cases, discipline- or project-specific requirements, and emerging data practices, while preserving the integrity and structure of the underlying model. + +Extensions provide a controlled way to expand the framework’s capabilities without altering existing entities, thereby maintaining compatibility, conceptual coherence, and interoperability across different datasets and scholarly knowledge graphs. -Within the OSTrails context, a number of extensions have been submitted to the attention of the SKG-IF Working Group. The status of such extension proposed is summarised in the table below: -.. list-table:: - :header-rows: 1 - - * - Acronym - - Scope - - Status - - Link/request - - * - SRV - - New entity to model services - - Under development - - https://skg-if.github.io/ext-srv/ - - * - SKG-PROV - - Provenance tracking - - To be discussed - - https://github.com/skg-if/extensions/issues/4 - - * - RP-STDS - - Research Products for Standards - - To be discussed - - https://github.com/skg-if/extensions/issues/5 - - * - RO-Crate - - Research Products for RO-Crates - - To be discussed - - https://github.com/skg-if/extensions/issues/11 +.. list-table:: Extensions + :header-rows: 1 + :widths: 10 30 30 30 + + * - Acronym + - Scope + - Status + - Link/request + * - RA-SKG + - Indicators for products and agents + - Development finalised + - https://skg-if.github.io/ext-ra-skg/ + * - SRV + - New entity to model services + - Under development + - https://skg-if.github.io/ext-srv + * - GEO-SKG + - Geolocation and timestamps for products + - Accepted + - https://skg-if.github.io/ext-geo-skg/ + * - SKG-PROV + - Provenance tracking + - To be discussed + - https://github.com/skg-if/extensions/issues/4 + * - RP-STDS + - Research Products for Standards + - To be discussed + - https://github.com/skg-if/extensions/issues/5 From 17e36f43e22191758adbdc019fbea0368bbe3e6c Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Thu, 22 Jan 2026 14:01:47 +0100 Subject: [PATCH 097/101] docs: updating mapping for skgs --- docs/commons/skg/mappings/index.rst | 40 +++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/docs/commons/skg/mappings/index.rst b/docs/commons/skg/mappings/index.rst index a8494b4..7fe3ee2 100644 --- a/docs/commons/skg/mappings/index.rst +++ b/docs/commons/skg/mappings/index.rst @@ -1,7 +1,43 @@ SKG-IF mappings ================ -- *Planned resource to be developed* +Overview +--------- + +SKG mappings are structured specifications that translate existing scholarly metadata schemas, exchange formats, or APIs into formats compliant with the SKG Interoperability Framework (SKG-IF) Core Data Model and SKG-IF Extensions. These mappings are published as part of the SKG Commons to foster interoperability and automation across Scholarly Knowledge Graph (SKG) providers. + +Purpose +------- +The main goals of SKG mappings are: + +- Enable machine-actionability: Transform heterogeneous, often bespoke SKG or metadata representations into structured, interoperable formats that can be consistently processed by software systems in accordance with SKG-IF. +- Support integration with SKG-related services: Facilitate connections between SKG providers and services, including CRIS/RIS systems, repositories, PID infrastructures, and other scholarly information systems. +- Provide a shared reference: Publish mappings as part of the Commons so they can be reused, profiled, and adapted by other projects, domains, and communities. + +Creation Process +------------------ + +The development of SKG mappings follows a collaborative workflow: + +1. Select a source schema, format, or interface: Identify the metadata schema, exchange format, API, or SKG model that should be aligned with SKG-IF. +2. Review SKG-IF and existing extension profiles: Familiarise yourself with the SKG-IF Core Data Model and relevant SKG-IF Extensions or application profiles. Review existing mappings where available. +3. Draft the mapping: + - Map entities, relationships, and fields from the source specification to SKG-IF components. + - Define validation rules, cardinalities, and controlled vocabularies (e.g., identifiers, resource types, access categories). + - Propose additions or revisions to SKG-IF Extensions where no suitable target element exists. +4. Test usability: Validate the mapping using representative real-world datasets or graph instances to ensure that it is practical, loss-minimising, and supports intended interoperability scenarios. +5. Publish as Commons: The validated mapping is contributed to the SKG Commons and made available for reuse and further refinement. + +Integration +----------- + +Once established, SKG mappings can be implemented by SKG platforms and related services to achieve interoperability. These integrations enable automated data exchange and graph enrichment, ensuring that SKGs remain consistent, up-to-date, and interoperable across the research ecosystem. The concrete implementation work lies with the respective tool and service owners; SKG mappings provide the technical guidance they need to achieve interoperability. + +Mappings +-------- + +Below, we list SKG mappings defined for commonly used scholarly metadata sources: + .. toctree:: :maxdepth: 1 @@ -10,4 +46,4 @@ SKG-IF mappings DDI SKG-IF mapping RO-Crate SKG-IF mapping OpenAIRE Graph SKG-IF mapping - + From 76d208fd429c90f630b6a48df44aa247453a81da Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Thu, 22 Jan 2026 14:02:29 +0100 Subject: [PATCH 098/101] docs: adding info for openair in skg tools section, deletion of lifewatch file due no content --- docs/tools/SKG.rst | 5 +++-- docs/tools/SKG_tools/lifewatch.rst | 4 ---- docs/tools/SKG_tools/openaire.rst | 11 ++++++++++- 3 files changed, 13 insertions(+), 7 deletions(-) delete mode 100644 docs/tools/SKG_tools/lifewatch.rst diff --git a/docs/tools/SKG.rst b/docs/tools/SKG.rst index 10c1c98..58b5acb 100644 --- a/docs/tools/SKG.rst +++ b/docs/tools/SKG.rst @@ -1,7 +1,9 @@ OSTrails SKG Tools ==================== -The following resources in this section are part of the FAIR Tools component. +The following resources illustrate tools and services that implement, expose, or interoperate with the SKG-IF data model and/or SKG-IF OpenAPI. They are part of the FAIR Tools component and demonstrate how SKG-IF can be adopted across different infrastructures and domains. + +The following resources in this section are part of the SKG Tools component. .. toctree:: :caption: Tools @@ -10,5 +12,4 @@ The following resources in this section are part of the FAIR Tools component. OpenAIRE Graph SKG-IF API RO-HUB SKG-IF API - LifeWatch Eric KG CESSDA SKG-IF API diff --git a/docs/tools/SKG_tools/lifewatch.rst b/docs/tools/SKG_tools/lifewatch.rst deleted file mode 100644 index 4e3a293..0000000 --- a/docs/tools/SKG_tools/lifewatch.rst +++ /dev/null @@ -1,4 +0,0 @@ -LifeWatch ERIC Knowledge Graph for Research Planning and Tracking ------------------------------------------------------------------ - -*TODO* diff --git a/docs/tools/SKG_tools/openaire.rst b/docs/tools/SKG_tools/openaire.rst index d37f425..7c42fec 100644 --- a/docs/tools/SKG_tools/openaire.rst +++ b/docs/tools/SKG_tools/openaire.rst @@ -1,4 +1,13 @@ OpenAIRE Graph API =================== -*TODO* +Overview +------------- + + - **Swagger API**:https://api.openaire.eu/graph/v3/api-docs/SKG-IF%20OpenAPI%20V1 + - **Endpoints**: + - https:....//skg-if/v1/products – Returns products matching criteria + - https:....//skg-if/v1/products/{local identifier} – Returns the product record with the given {local identifier} + - **Current Status**: + - Version 1.0.0 has been released as an initial draft, with the intent to extend to other endpoints serving the remaining entities. + From 44751872065b142dd3461783fb6597115898f430 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Thu, 22 Jan 2026 14:32:36 +0100 Subject: [PATCH 099/101] docs: add authors to SKG commons --- CONTRIBUTORS.yml | 26 +++++++++++++++++++++++++- docs/commons/skg/skg-commons.rst | 8 ++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/CONTRIBUTORS.yml b/CONTRIBUTORS.yml index 1c7860c..1e5964e 100644 --- a/CONTRIBUTORS.yml +++ b/CONTRIBUTORS.yml @@ -60,7 +60,7 @@ Raul Palma: github: rapw3k orcid: 0000-0003-4289-4922 affiliation: Poznan Supercomputing and Networking Center - + Katja Moilanen: first_name: Katja last_name: Moilanen @@ -95,3 +95,27 @@ Pablo Alarcón-Moreno: github: pabloalarconm orcid: 0000-0001-5974-589X affiliation: Universidad Politécnica de Madrid + +Renaud Duyme: + first_name: Renaud + last_name: Duyme + github: rduyme + affiliation: ESFR + +Andres Tabima: + first_name: Andres + last_name: Tabima + github: andresTabiTuwien + orcid: 0009-0002-4848-5089 + affiliation: TU Wien + +Menzo Windhowe: + first_name: Menzo + last_name: Windhowe + orcid: 0000-0002-2204-4018 + affiliation: KNAW + +Daan Broader: + first_name: Daan + last_name: Broader + affiliation: KNAW diff --git a/docs/commons/skg/skg-commons.rst b/docs/commons/skg/skg-commons.rst index 96db70c..66a7cd3 100644 --- a/docs/commons/skg/skg-commons.rst +++ b/docs/commons/skg/skg-commons.rst @@ -1,6 +1,14 @@ SKG Commons ============ +.. page-authors:: + Andrea Mannocci + Paolo Manghi + Renaud Duyme + Menzo Windhower + Daan Broader + + The SKG Commons provide a common, reusable, extensible, and interoperable foundation for handling data exchange between Scholarly Knowledge Graph (SKG) interfaces across tools and services that implement the Scholarly Knowledge Graph Interoperability Framework (SKG-IF). From 3c9543ab79031c7449879387f51a21065e3897a1 Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Thu, 22 Jan 2026 14:45:46 +0100 Subject: [PATCH 100/101] docs: fix the links in the same formating of the docs --- .../FAIR/FAIR-Test-Results-Vocabulary-FTR.rst | 8 ++----- docs/commons/skg/skg-if-api-specification.rst | 24 +++++++++---------- docs/commons/skg/skg-if-metadata-model.rst | 12 +++++----- 3 files changed, 20 insertions(+), 24 deletions(-) diff --git a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst index cf1215f..91b83f5 100644 --- a/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst +++ b/docs/commons/FAIR/FAIR-Test-Results-Vocabulary-FTR.rst @@ -39,13 +39,9 @@ of this activity is either a ``TestResult`` or a ``TestResultSet``. Specification ------------- -The full FAIR Testing Resource Vocabulary (FTR) 1.2.0 is specified here: + * The full FAIR Testing Resource Vocabulary (FTR) 1.2.0 is specified here: https://w3id.org/ftr/1.2.0 -* https://w3id.org/ftr/1.2.0 - -You can also explore the GitHub repository for additional content: - -* https://github.com/OSTrails/FAIR_assessment_output_specification/ + * You can also explore the GitHub repository for additional content: https://github.com/OSTrails/FAIR_assessment_output_specification/ FAIR assessment validation diff --git a/docs/commons/skg/skg-if-api-specification.rst b/docs/commons/skg/skg-if-api-specification.rst index 0435c56..04f2d53 100644 --- a/docs/commons/skg/skg-if-api-specification.rst +++ b/docs/commons/skg/skg-if-api-specification.rst @@ -50,11 +50,11 @@ The SKG-IF OpenAPI specification is developed and maintained collaboratively wit Relevant community resources include: -* SKG-IF OpenAPI YAML (“current” dev version): https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml -* GitHub source (current): https://raw.githubusercontent.com/skg-if/api/refs/heads/main/openapi/ver/current/skg-if-openapi.yaml -* Permanent alias for the current version: https://w3id.org/skg-if/api/skg-if-openapi.yaml -* General API repository: https://github.com/skg-if/api -+ RDA SKG-IF WG and implementer channel on Discord. + * SKG-IF OpenAPI YAML (“current” dev version): https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml + * GitHub source (current): https://raw.githubusercontent.com/skg-if/api/refs/heads/main/openapi/ver/current/skg-if-openapi.yaml + * Permanent alias for the current version: https://w3id.org/skg-if/api/skg-if-openapi.yaml + * General API repository: https://github.com/skg-if/api + * RDA SKG-IF WG and implementer channel on Discord. These venues are the authoritative places to report issues, discuss design choices (e.g., filter grammar, JSON-LD options, authentication strategies), and propose enhancements. @@ -63,19 +63,19 @@ Documentation and versioning The SKG-IF OpenAPI specification is published as a machine-readable OpenAPI document and can be explored through multiple viewers: -* Stoplight Elements: https://elements-demo.stoplight.io/?spec=https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml -* Redocly Redoc: https://redocly.github.io/redoc/?url=https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml -* Swagger Editor https://editor-next.swagger.io with input https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml + * Stoplight Elements: https://elements-demo.stoplight.io/?spec=https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml + * Redocly Redoc: https://redocly.github.io/redoc/?url=https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml + * Swagger Editor https://editor-next.swagger.io with input https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml Versioning follows a clear separation between the SKG-IF Data Model / JSON-LD context version (e.g., `https://w3id.org/skg-if/context/1.0.1/skg-if.json`), and the **SKG-IF OpenAPI version, using semantic versioning in `info.version` (e.g., `1.1.3`), with the rule that major versions of the data model and the OpenAPI should always match. Examples: --------- -* Official released OpenAPI version: https://github.com/skg-if/api/openapi/ver/1.1.3/skg-if-openapi.yaml -* Permanent URL: https://w3id.org/skg-if/api/1.1.3/skg-if-openapi.yaml -* Data Model / context versions: https://w3id.org/skg-if/context/1.0.0/skg-if.json, and https://w3id.org/skg-if/context/1.0.1/skg-if.json -* Current alias: https://w3id.org/skg-if/context/skg-if.json + * Official released OpenAPI version: https://github.com/skg-if/api/openapi/ver/1.1.3/skg-if-openapi.yaml + * Permanent URL: https://w3id.org/skg-if/api/1.1.3/skg-if-openapi.yaml + * Data Model / context versions: https://w3id.org/skg-if/context/1.0.0/skg-if.json, and https://w3id.org/skg-if/context/1.0.1/skg-if.json + * Current alias: https://w3id.org/skg-if/context/skg-if.json The specification evolves iteratively, incorporating feedback from real-world implementations (e.g., on filters, extensions, missing fields, JSON-LD behaviour). Future versions aim to maintain compatibility with the SKG-IF Data Model while providing a stable yet extensible API surface for the SKG Commons. diff --git a/docs/commons/skg/skg-if-metadata-model.rst b/docs/commons/skg/skg-if-metadata-model.rst index 6af5be3..55cbcf1 100644 --- a/docs/commons/skg/skg-if-metadata-model.rst +++ b/docs/commons/skg/skg-if-metadata-model.rst @@ -18,12 +18,12 @@ The SKG-IF Core Data Model is implemented as an OWL ontology, the SKG-IF Ontolog SKG-O is structured into six ontological modules, one for each SKG-IF entity type, all formally imported into the main ontology: -- **SKG-O**: agent – https://w3id.org/skg-if/ontology/agent/ -- **SKG-O**: data-source – https://w3id.org/skg-if/ontology/data-source/ -- **SKG-O**: grant – https://w3id.org/skg-if/ontology/grant/ -- **SKG-O**: research-product – https://w3id.org/skg-if/ontology/research-product/ -- **SKG-O**: topic – https://w3id.org/skg-if/ontology/topic/ -- **SKG-O**: venue – https://w3id.org/skg-if/ontology/venue/ + - **SKG-O**: agent – https://w3id.org/skg-if/ontology/agent/ + - **SKG-O**: data-source – https://w3id.org/skg-if/ontology/data-source/ + - **SKG-O**: grant – https://w3id.org/skg-if/ontology/grant/ + - **SKG-O**: research-product – https://w3id.org/skg-if/ontology/research-product/ + - **SKG-O**: topic – https://w3id.org/skg-if/ontology/topic/ + - **SKG-O**: venue – https://w3id.org/skg-if/ontology/venue/ Version and usage ------------------ From 945de519de82649cdba839d59fe72e79843a96fe Mon Sep 17 00:00:00 2001 From: Andres Tabima Date: Thu, 22 Jan 2026 15:15:30 +0100 Subject: [PATCH 101/101] docs: fix editorconfig formating --- CONTRIBUTORS.yml | 2 +- docs/commons/FAIR/Shared-Tests.rst | 2 +- docs/commons/skg/mappings/Mapping-SKGIF-RO-Crate.rst | 10 +++++----- docs/commons/skg/skg-if-api-specification.rst | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTORS.yml b/CONTRIBUTORS.yml index 1e5964e..5b7c46d 100644 --- a/CONTRIBUTORS.yml +++ b/CONTRIBUTORS.yml @@ -109,7 +109,7 @@ Andres Tabima: orcid: 0009-0002-4848-5089 affiliation: TU Wien -Menzo Windhowe: +Menzo Windhower: first_name: Menzo last_name: Windhowe orcid: 0000-0002-2204-4018 diff --git a/docs/commons/FAIR/Shared-Tests.rst b/docs/commons/FAIR/Shared-Tests.rst index 2a2e7a7..043b274 100644 --- a/docs/commons/FAIR/Shared-Tests.rst +++ b/docs/commons/FAIR/Shared-Tests.rst @@ -9,7 +9,7 @@ The repository reflects, primarily, the origin assessment platform that authored This code can be deployed by anyone, or can be used as a template to guide independent implementations of Tests. Repositories ---------- +------------- - **FAIR Champion Core FAIR Tests**: https://github.com/wilkinsonlab/FAIR-Core-Tests - **FAIR Champion OSTrails Pilots Community Tests**: https://github.com/wilkinsonlab/Community-FAIR-Tests diff --git a/docs/commons/skg/mappings/Mapping-SKGIF-RO-Crate.rst b/docs/commons/skg/mappings/Mapping-SKGIF-RO-Crate.rst index 1f4bebb..b345399 100644 --- a/docs/commons/skg/mappings/Mapping-SKGIF-RO-Crate.rst +++ b/docs/commons/skg/mappings/Mapping-SKGIF-RO-Crate.rst @@ -4,12 +4,12 @@ Mapping between SKG Interoperability Framework and RO-Crate Raul Palma -**RO-crate** (https://w3id.org/ro/crate/1.2) is an open, community data package specification for describing all kinds of research data and related resources, within and outside the package, used and generated throughout the research process in alignment with the FAIR principles. -RO-Crates are rich structured metadata containers, providing a straightforward and lightweight implementation of FDOs, which are part of the long-term vision of EOSC. +**RO-crate** (https://w3id.org/ro/crate/1.2) is an open, community data package specification for describing all kinds of research data and related resources, within and outside the package, used and generated throughout the research process in alignment with the FAIR principles. +RO-Crates are rich structured metadata containers, providing a straightforward and lightweight implementation of FDOs, which are part of the long-term vision of EOSC. The metadata, expressed in JSON-LD following the Linked Data approach, describes the package and the aggregated research data entities like datasets, software, workflows, publications, as well as the associated contextual entities such as people, organizations, software and equipment, in a series of linked JSON-LD objects - using common published vocabularies, chiefly schema.org.  -**The mapping between SKG-IF and RO-Crate** is intended for individuals who are familiar with RO-Crate specification, but new to SKG-IF. -The mapping is presented in the table below. +**The mapping between SKG-IF and RO-Crate** is intended for individuals who are familiar with RO-Crate specification, but new to SKG-IF. +The mapping is presented in the table below. +---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ @@ -110,7 +110,7 @@ The mapping is presented in the table below. +---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ | | | datacite:usesIdentifierScheme | scheme | Property | orcid/email (extension) | +---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ -| | https://w3id.org/dingo#orcid or | literal:hasLiteralValue | value | Property | | +| | https://w3id.org/dingo#orcid or | literal:hasLiteralValue | value | Property | | | | schema:email | | | | | +---------------------------+----------------------------------------+----------------------------------+-------------------------------------+----------+----------------------------------------------+ | Publisher/copyrightholder | | | | | | diff --git a/docs/commons/skg/skg-if-api-specification.rst b/docs/commons/skg/skg-if-api-specification.rst index 04f2d53..b70e828 100644 --- a/docs/commons/skg/skg-if-api-specification.rst +++ b/docs/commons/skg/skg-if-api-specification.rst @@ -67,7 +67,7 @@ The SKG-IF OpenAPI specification is published as a machine-readable OpenAPI docu * Redocly Redoc: https://redocly.github.io/redoc/?url=https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml * Swagger Editor https://editor-next.swagger.io with input https://skg-if.github.io/api/openapi/ver/current/skg-if-openapi.yaml -Versioning follows a clear separation between the SKG-IF Data Model / JSON-LD context version (e.g., `https://w3id.org/skg-if/context/1.0.1/skg-if.json`), and the **SKG-IF OpenAPI version, using semantic versioning in `info.version` (e.g., `1.1.3`), with the rule that major versions of the data model and the OpenAPI should always match. +Versioning follows a clear separation between the SKG-IF Data Model / JSON-LD context version (e.g., `https://w3id.org/skg-if/context/1.0.1/skg-if.json`), and the **SKG-IF OpenAPI** version, using semantic versioning in `info.version` (e.g., `1.1.3`), with the rule that major versions of the data model and the OpenAPI should always match. Examples: ---------