| .. | |||
| 01-query | 2 years ago | ||
| 02-download | 3 years ago | ||
| 03-enrich | 1 year ago | ||
| 04-report | 1 year ago | ||
| .gitignore | 2 years ago | ||
| 02-download.ini | 1 year ago | ||
| 03-enrich.ini | 1 year ago | ||
| 03.1-enrich-rnsrByYear.ini | 1 year ago | ||
| 03.2-enrich-docType.ini | 1 year ago | ||
| 03.3-enrich-source.ini | 1 year ago | ||
| 03.4-enrich-publisher.ini | 1 year ago | ||
| Makefile | 1 year ago | ||
| README.md | 1 year 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.defaulttitle à partir du champ title.defaulthalClassification à partir du champ classifications.enrichments.hal.frkeywordsAuthorsAndMesh 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.conferencevolumeIssueAndPages qui concatène les données volume, issue et pages.range du champ host.conferenceissn, eissn, isbn et language tous issus du champ hostpublicationYear à 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.fullnamecodesRnsr qui récupère tous les rnsr présents à différents niveaux d'imbrication : authors/affiliations/rnsr, authors/affiliations/enrichments/rnsret 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 :
laboIntituledelegationsRegionales (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 institutsSecondairesdocumentType 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-makefileet 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"
}
}