.. | |||
01-query | 1 year ago | ||
02-download | 2 years ago | ||
03-enrich | 1 month ago | ||
04-report | 1 month ago | ||
.gitignore | 1 year ago | ||
02-download.ini | 18 days ago | ||
03-enrich.ini | 18 days ago | ||
03.1-enrich-rnsrByYear.ini | 1 month ago | ||
03.2-enrich-docType.ini | 1 month ago | ||
03.3-enrich-source.ini | 1 month ago | ||
03.4-enrich-publisher.ini | 1 month ago | ||
Makefile | 1 month ago | ||
README.md | 1 month ago |
Collecte, restructuration et enrichissement de données Conditor.
Les fichiers fournis sont au format JSON Lines (.jsonl
)
📗 Tant qu'une étape n'est pas terminée, le fichier résultant est suffixé par
.crdownload
.
DĂ©pĂ´t d'un fichier NOM_DU_FICHIER.txt
(requête) dans le répertoire 01-query
. Pour effectuer des études sur les instituts CNRS et utiliser le loader approprié (qui filtre sur l'année et l'institut en question) veuillez nommer les champs de la façon suivante : IN2P3_2017_juin.txt
soit l'institut, l'année interrogée et le mois où le dump est effectué.
Téléchargement de données via la requête sur l'api Corhal.
Création/modification des champs suivants :
abstract
Ă partir du champ abstract.default
title
Ă partir du champ title.default
halClassification
Ă partir du champ classifications.enrichments.hal.fr
keywordsAuthorsAndMesh
qui regroupe les mots clés en anglais des mots clés auteurs et Mesh.conferenceDetails
qui concatène les données name
, date
, place
et country
du champ host.conference
volumeIssueAndPages
qui concatène les données volume
, issue
et pages.range
du champ host.conference
issn
, eissn
, isbn
et language
tous issus du champ host
publicationYear
à partir de données existantes dans le json (publicationDate
et electronicPublicationDate
).isFunded
qui indique si le champ funders
est vide ou non.funders
Ă partir du champ funders.fullname
codesRnsr
qui récupère tous les rnsr présents à différents niveaux d'imbrication : authors/affiliations/rnsr
, authors/affiliations/enrichments/rnsr
et authors.rnsr
À noter: 4 RNSR sont systématiquement enlevés (200612821P, 200018571R, 199812965F, 201523784S).
sourceUidChain
Ă partir du champ business.sourceUidChain
enrichments.openAccess.unpaywall.oaLocations
qui, s'il est vide, est enrichi d'une clé hostType
à laquelle est associée la valeur "OA - Inconnu".authors
est dépouillé de toutes les propriétés n'étant pas utiles afin d'alléger sa taille.Appel du web service Hal afin de récupérer les RNSR manquants. Ceux-ci peuvent manquer pour 2 raisons :
codesRnsr
est vide. On remplace le tableau vide par le DOI, puis on lance le web service sur ces notices uniquement. Les résultats sont stockés dans un champ provisoire nommé wsHal
. A l'aide d'un script on récupère tous les RNSR présents à différents niveaux de l'objet dans le champ retrieveHalRnsr
. Enfin, on ajoute ces RNSR dans le champ codesRnsr
et on supprime les 2 autres champs.Appel du web service Loterre - Structures de recherche pour créer les champs suivants :
laboIntitule
delegationsRegionales
(les codes des DR sont verbalisés selon un dictionnaire défini dans l'instruction [ENV]. Les anciens codes ont été ajoutés et rattachés à leur délégation actuelle.)isCnrs
Ă partir du champ institut
. Renvoie "Non" si le champs est vide, "Oui" s'il ne l'est pas.Appel des web services (OpenAlex, Crossref). Ces web services prenant des DOI en entrée, des instructions ont été ajoutées afin de ne pas traiter les documents qui n'en possèdent pas. Cela évite d'envoyer des milliers de données qui ne renverront de toute façon pas de réponse.
isRetracted
et de récupérer les oa status
"diamond" qui enrichiront plusieurs champs portant sur l'Open Access.publisher
Les web services de mapping étant voués à disparaître, plusieurs enrichissements se font désormais via des tables de correspondance hébergées sur un serveur EZmaster. Les traitements sont réalisés par des sous-flux dédiés et définis dans des fichiers externes pour créer les champs suivants :
institutCnrs
généré à partir du fichier 03.1-enrich-rnsrByYear.ini
. Le champ est ensuite divisé en deux champs distincts : institutsPrincipaux
et institutsSecondaires
documentType
généré à partir du fichier 03.2-enrich-docType.ini
. Homogénéisé à partir du champ originalGenre. Si l'homogénéisation renvoie un "n/a" alors on récupère la valeur d'origine.source
généré à partir du fichier 03.3-enrich-source.ini
. Récupération du champ host/title
. Si vide, alors récupération du champ host/conference/name
. Homogénéisation des sources, si résultat "n/a", conservation de la valeur d'origine (host/title
ou host/conference/name
).publisher
généré à partir du fichier 03.4-enrich-publisher.ini
. Champ d'origine host.publisher
et par défaut on récupère un éditeur à partir de la racine du champ doi
. Si le champ doi
renvoie un "n/a" alors on récupère le champ d'origine host.publisher
.Appel de web services (adresses, Loterre - Pays) pour créer les champs suivants :
ApilWSCodeISO
récupéré à partir du champ Authors.affiliation.address
.ApilWSCountry
récupéré à partir du champ Authors.affiliation.address
.Cette étape sert à générer un fichier par requête, contenant le nombre de lignes du fichier (et donc le nombre de notices) et le nom du fichier correspondant dans le répertoire 03-enrich
.
⚠️ Attention: utilisez au moins la version 1.0.4 de
lodex-makefile
et la version 14 denode
.
S'assurer d'avoir les versions suivantes :
"packages": [ "@ezs/core@2.4.3", "@ezs/basics@1.23.3", "@ezs/conditor@2.10.3", "@ezs/analytics@2.0.21" ]
Reste de la configuration :
{ "environnement": { "EZS_VERBOSE": false, "EZS_PIPELINE_DELAY": 3600 }, "files" : { "zip": "https://gitbucket.inist.fr/tdm/web-dumps/archive/conditor-dumps/conditor-dumps@1.15.4.zip" } }