# Conditor-dumps Collecte, restructuration et enrichissement de données [Conditor](https://corhal-api.inist.fr/api-docs/). Les fichiers fournis sont au format JSON Lines (`.jsonl`), ce qui veut dire que le *loader* utilisé pour LODEX doit être adapté. > 📗 Tant qu'une étape n'est pas terminée, le fichier résultant est suffixé par `.crdownload`. ## Étapes ### 01-query Dépôt d'un fichier `NOM_DU_FICHIER.txt` (requête) dans le répertoire `01-query`. ### 02-download Téléchargement de données via la requête sur l'api Corhal. ### 03-create-fields Création des champs suivants : - `ApilPublicationDate` à partir de données existantes dans le json (`publicationDate` et `electronicPublicationDate`). - `ApilFinancement` à partir du champ `funders` ### 04-enrich Appel de deux web services ([informations RNSR](https://openapi.services.inist.fr/?urls.primaryName=affiliations-tools%20-%20Structuration%20%26%20enrichissements%20d%27affiliations#/affiliations/post-v1-rnsr-info) et [instituts CNRS](https://objectif-tdm.inist.fr/2022/03/29/attribution-de-noms-dinstituts-cnrs-a-partir-didentifiants-rnsr/)) pour créer les champs suivants : - `ApilWsIsCnrs` - `ApilWsLaboSigle` - `ApilWsLaboIntitule` - `ApilWsRnsr` - `ApilWsInstitutCnrs` - `ApilWsSigleLaboIntitule` Appel de plusieurs web services de mapping ([documentType](https://mapping-tools.services.inist.fr/v1/homogenize/documentType/json), [source](https://mapping-tools.services.inist.fr/v1/homogenize/source/json), [publisher](https://mapping-tools.services.inist.fr/v1/homogenize/publisher/json)) et d'outils bibliographiques ([crossref](https://biblio-tools.services.inist.fr/v1/crossref/prefixes/expand)) pour créer les champs suivants : - `ApilWsTypeDoc` 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 `originalGenre`. - `ApilWsSource` 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`). - `ApilWsPublisher` 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 du web service ([Libpostal](https://affiliations-tools.services.inist.fr/v1/expand)) 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`. ### 05-future-loader Cette étape sert à préparer un *loader* spécifique à Conditor. À terme, son contenu sera intégré à ce *loader*. Nouveaux champs créés: - `ApilCollation`: concaténation de `host.volume`, `host.issue`, `host.pages.range`, - `ApilProvenance`: récupération de la source dans `sourceUids`, et dédoublonnage. ## Configuration > ⚠️ **Attention**: utilisez au moins la version 1.5 de `lodex-crontab` et la version 14 de `node`. S'assurer d'avoir les versions suivantes : ```json "packages": [ "@ezs/core@2.3.1", "@ezs/basics@1.23.1", "@ezs/conditor@2.10.3" ] ``` Reste de la [configuration](../conditor-dumps-config.json) : ```json { "environnement": { "CRON_VERBOSE": true, "EZS_VERBOSE": false }, "files" : { "zip": "https://gitbucket.inist.fr/tdm/web-dumps/archive/conditor-dumps/conditor-dumps@1.11.0.zip" }, "tasks": [ { "Target": "watch", "RunOnStartup": true } ] } ``` Trello : <https://trello.com/b/wJoKuJXZ/conditor-m%C3%A9trie>