-
Notifications
You must be signed in to change notification settings - Fork 1
API DMP OPIDoR
Authentification
Templates JSON
Plans
Fragments
Référentiels
Thèmes
l'API maDMP OPIDoR utilise le nouveau système d'authentification JSON Web Token, mis en place par DMPRoadmap.
Cliquez ici pour plus d'informations sur l'authentification API V1
Commande | Méthode | Route | Description |
---|---|---|---|
List | GET | /api/v1/madmp/schemas |
Obtenir tous les templates existants |
Show | GET | /api/v1/madmp/schemas/:id |
Obtenir un des templates utilisé pour générer les formulaires maDMP, à partir de son identifiant. |
L'API répond avec le status HTTP 200 et la réponse JSON suivante :
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "../Documentation/Implementation/data_model/Json/",
"title": "ProjectStandard",
"description": "ProjectStandard template",
"type": "object",
"class": "ProjectStandard",
"properties": {
"title": {
"type": "string",
"description": "Titre du projet",
"label@fr_FR": "Titre du projet",
"label@en_GB": "Project title"
},
"acronym": {
"type": "string",
"description": "Acronyme du projet",
"label@fr_FR": "Acronyme du projet",
"label@en_GB": "Project acronym"
},
"description": {
"type": "string",
"description": "Description du projet",
"inputType": "textarea",
"label@fr_FR": "Résumé du projet",
"label@en_GB": "Project abstract"
},
(...)
},
"to_string": []
}
Commande | Méthode | Route | Description |
---|---|---|---|
Show | GET | /api/v1/madmp/plans/:plan_id |
Exporter un plan complet en JSON, au format maDMP OPIDoR. |
RDA Export | GET | /api/v1/madmp/plans/:plan_id/rda_export |
Exporter un plan complet en JSON, au format RDA Common Standards. |
- research_output_id - Permet de ne sélectionner qu'un produit de recherche lors de l'export du plan.
research_output_id
est l'identifiant du fragment JSON associé au produit de recherche
Ex: /api/v1/madmp/plans/1234?research_output_id=5678
La réponse contient l'export JSON complet et dmp_id
qui contient l'identifiant du fragment JSON racine.
L'API répond avec le status HTTP 200 et la réponse JSON suivante :
{
"plan_id": 1658,
"project": {
"title": "DMP's Plan",
"principalInvestigator": {
"person": {
"lastName": "Administrator",
"firstName": "DMP",
"mbox": "[email protected]"
},
"role": "Project coordinator"
},
"experimentalPlan": {}
},
"researchOutput": [
{
"research_output_id": 1807,
"researchOutputDescription": {
"title": "Premier",
"contact": {
"person": {
"lastName": "Administrator",
"firstName": "DMP",
"mbox": "[email protected]"
},
"role": "Data contact"
}
},
"dataStorage": {
"facility": {
"title": "CC-IN2P3",
"description": "Le Centre de Calcul de l’IN2P3 (CC-IN2P3) offre un ensemble de services aux chercheurs de l'IN2P3 (Institut National de Physique Nucléaire et de Physique des Particules) du CNRS. La plateforme de calcul du CC-IN2P3 permet aux scientifiques de traiter les grandes masses de données issues de grands instruments scientifiques (accélérateurs de particules, télescopes ou satellites), de réaliser des modélisations et des simulations pour valider des théories, de valoriser et d’archiver les données de recherche. Les ressources de calcul distribué peuvent être utilisées localement (création d’un compte utilisateur) ou via une grille de calcul (inscription dans une organisation virtuelle VO. Le CC-IN2P3 met à disposition un système de stockage de masse reposant sur l’utilisation conjointe de disques durs et de bandes magnétiques. Le CC-IN2P3 fournit des ressources informatiques principalement pour la physique nucléaire, la physique des particules, l’astrophysique et les astroparticules et de façon limitée aux sciences humaines (Huma-Num) et sciences de la vie. Le CC-IN2P3 a développé une expertise technique dans les domaines du stockage massif de données, du calcul à haut débit (HTC), les grilles de calcul ou le cloud computing. Il est impliqué dans des projets régionaux, nationaux, européens et transdisciplinaires. Le Centre de Calcul de l’IN2P3 a élaboré un modèle de plan de gestion de données CC-IN2P3 DMP template en anglais à l’aide de l’outil DMP OPIDoR. Le Centre de Calcul de l’IN2P3 fait partie des principaux centres internationaux déployés dans le cadre du projet Worldwide LHC Computing Grid (W-LCG) et dédié à la simulation, au traitement et à l’analyse des données des quatre expériences LHC (Large Hadron Collider) au CERN. Les données produites et/ou gérées par l’infrastructure CC-IN2P3 sont soumises à un embargo de 48 mois.",
"technicalResourceId": "https://cc.in2p3.fr/",
"idType": "URL",
"serviceContact": "[email protected]"
},
"backupPolicy": {
"description": null,
"backupFrequency": null,
"backupType": null
},
"description": null,
"estimatedVolume": 0,
"volumeUnit": null,
"securityMeasures": null
}
},
{(...)
}
],
"meta": {
"title": "\"DMP's Plan\" project DMP",
"creationDate": "2021-06-23",
"lastModifiedDate": "2021-06-23",
"dmpLanguage": "eng",
"contact": {
"person": {
"lastName": "Administrator",
"firstName": "DMP",
"mbox": "[email protected]"
},
"role": "DMP manager"
},
"license": {}
}
"dmp_id": 18477
}
La réponse contient l'export JSON du DMP au format RDA DMP COMMONS STANDARDS. L'API répond avec le status HTTP 200 et la réponse JSON suivante :
{
"created": "2021-06-23",
"description": "",
"dmp_id": {
"identifier": "",
"type": ""
},
"ethical_issues_exist": "",
"ethical_issues_description": "",
"ethical_issues_report": "",
"language": "eng",
"modified": "2021-06-23",
"title": "\"DMP's Plan\" project DMP",
"contact": {
"contact_id": {
"identifier": "",
"type": ""
},
"mbox": "[email protected]",
"name": "DMP Administrator"
},
"contributor": [
{
"lastName": "Administrator",
"firstName": "DMP",
"mbox": "[email protected]",
"role": [
"DMP manager",
"Project coordinator",
"Data contact"
]
}
],
"cost": [],
"project": {
"description": "",
"end": "",
"funding": [],
"start": "",
"title": "DMP's Plan"
},
"dataset": [
{
"data_quality_assurance": "",
"dataset_id": {
"identifier": "1807",
"type": "internal identifier"
},
"description": "",
"issued": "",
"keyword": "",
"language": "",
"personal_data": "",
"preservation_statement": "",
"title": "Premier",
"type": "",
"sensitive_data": "",
"host": {
"description": "",
"availability": "",
"certified_with": "",
"geo_location": "",
"pid_system": "",
"support_versioning": "",
"title": "",
"url": "",
"license_ref": "",
"start_date": ""
},
"distribution": [],
"metadata": [],
"security_and_privacy": {
"description": "",
"title": "Security measures"
},
"technical_resource": [
{
"description": "Le Centre de Calcul de l’IN2P3 (CC-IN2P3) offre un ensemble de services aux chercheurs de l'IN2P3 (Institut National de Physique Nucléaire et de Physique des Particules) du CNRS. La plateforme de calcul du CC-IN2P3 permet aux scientifiques de traiter les grandes masses de données issues de grands instruments scientifiques (accélérateurs de particules, télescopes ou satellites), de réaliser des modélisations et des simulations pour valider des théories, de valoriser et d’archiver les données de recherche. Les ressources de calcul distribué peuvent être utilisées localement (création d’un compte utilisateur) ou via une grille de calcul (inscription dans une organisation virtuelle VO. Le CC-IN2P3 met à disposition un système de stockage de masse reposant sur l’utilisation conjointe de disques durs et de bandes magnétiques. Le CC-IN2P3 fournit des ressources informatiques principalement pour la physique nucléaire, la physique des particules, l’astrophysique et les astroparticules et de façon limitée aux sciences humaines (Huma-Num) et sciences de la vie. Le CC-IN2P3 a développé une expertise technique dans les domaines du stockage massif de données, du calcul à haut débit (HTC), les grilles de calcul ou le cloud computing. Il est impliqué dans des projets régionaux, nationaux, européens et transdisciplinaires. Le Centre de Calcul de l’IN2P3 a élaboré un modèle de plan de gestion de données CC-IN2P3 DMP template en anglais à l’aide de l’outil DMP OPIDoR. Le Centre de Calcul de l’IN2P3 fait partie des principaux centres internationaux déployés dans le cadre du projet Worldwide LHC Computing Grid (W-LCG) et dédié à la simulation, au traitement et à l’analyse des données des quatre expériences LHC (Large Hadron Collider) au CERN. Les données produites et/ou gérées par l’infrastructure CC-IN2P3 sont soumises à un embargo de 48 mois.",
"name": "CC-IN2P3"
}
]
},
{(...)}
]
}
Commande | Méthode | Route | Description |
---|---|---|---|
Show | GET | /api/v1/madmp/fragments/:id |
Obtenir un fragment JSON complet ou partiel, à partir de son identifiant. |
DMP Fragments | GET | /api/v1/madmp/dmp_fragments/:id |
Obtenir l'ensemble des fragments JSON du DMP, à partir d'un identifiant de fragment DMP. |
La réponse contient trois propriétés : data
qui contient les données JSON du fragment et dmp_id
qui contient l'identifiant du fragment JSON racine et schema
qui contient le schéma associé au fragment demandé.
- mode=fat - Permet de préciser si on souhaite une extraction complète du fragment, c'est à dire une reconstitution du fragment avec tous ses sous-fragments
Ex: /api/v1/madmp/fragments/:id?mode=fat
- property - Permet de n'extraire que la propriété donnée du fragment demandé.
Ex: /api/v1/madmp/fragments/:id?property=role
L'API répond avec le status HTTP 200 et la réponse JSON suivante par défaut:
{
"data": {
"person": {
"dbid": 18478
},
"role": "Project coordinator"
},
"dmp_id": 18477,
"schema": {(...)}
}
Mode complet (fat
), ce mode contient les identifiants des sous-fragments JSON et du schéma qui leur est associé :
{
"data": {
"id": 18480,
"schema_id": 57,
"person": {
"id": 18478,
"schema_id": 44,
"lastName": "Administrator",
"firstName": "DMP",
"mbox": "[email protected]"
},
"role": "Project coordinator"
},
"dmp_id": 18477,
"schema": {(...)}
}
La réponse contient trois propriétés : data
qui contient l'ensemble de fragments du DMP et dmp_id
qui contient l'identifiant du fragment JSON racine et schema
qui contient le schema associé au fragment demandé.
Chaque élément de la liste des fragments contient les propriétés data
, dmp_id
et schema
{
"dmp_id": 18477,
"data": [
{
"id": 18489,
"data": {
"person": {
"dbid": 18478
},
"role": "Data contact"
},
"schema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "../Documentation/Implementation/data_model/Json/",
"title": "ResearchOutputContact",
"description": "ResearchOutputContact template",
"type": "object",
"class": "ResearchOutputContact",
"properties": {
"person": {
"type": "object",
"class": "Person",
"properties": {
"dbid": {
"type": "number"
}
},
"schema_id": 44,
"required": [
"dbid"
],
"description": "Personnes impliquées dans la production et gestion des données",
"inputType": "pickOrCreate",
"label@fr_FR": "Sélectionner une valeur dans la liste ou créer une nouvelle valeur en cliquant sur +",
"label@en_GB": "Select a value from the drop-down list or create a new value by clicking on +"
},
"role": {
"type": "string",
"description": "Rôle d'une personne dans la gestion et production des données",
"label@fr_FR": "Rôle",
"label@en_GB": "Role",
"const@fr_FR": " Personne contact pour les données",
"const@en_GB": "Data contact",
"hidden": true
}
},
"required": [
"person",
"role"
],
"to_string": [
"$.person.firstName",
" ",
"$.person.lastName ",
" (",
"$.role",
")"
]
}
},
{(...)}
],
"schema": {(...)}
}
Commande | Méthode | Route | Description |
---|---|---|---|
List | GET | /api/v1/madmp/registries |
Obtenir tous les référentiels existants |
Show | GET | /api/v1/madmp/registries/:name |
Obtenir un des référentiels à partir de son nom, avec l'ensemble de ses valeurs |
Il est désormais possible d'extraire les réponses des plans auquel l'utilisateur a accès, à partir de l'identifiant d'un thème. Par défaut, les plans concernés sont les plans créés par l'utilisateur de l'API ainsi que les plans qu'on lui a partagés.
Appel de l'API sur l'URL suivante avec la méthode GET
: /api/v0/themes/:theme_slug/extract
Liste des paramètres :
-
theme_slug
(obligatoire) : "Slug" du thème (Liste de thèmes) -
question_id
: Identifiant de la question -
template_id
: Identifiant du modèle -
start_date
: Date de début (toutes les réponses créées après la date de début) -
end_date
: Date de fin (toutes les réponses créées avant la date de fin)
- Lier son compte Institutionnel
- Guides Utilisateur
- Guides Administrateur
- Thèmes
- API DMP OPIDoR