# 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. Création des champs suivants : - `ApilPublicationDate` à partir de données existantes dans le json (`publicationDate` et `electronicPublicationDate`). - `ApilFinancement` à partir du champ `funders` - `ApilRnsr` au niveau `authors/affiliations`, à partir du champ `authors/affiliations/rnsr` et s'il n'est pas présent à partir du champ `authors/affiliations/enrichments/rnsr`. À noter: 4 RNSR sont systématiquement enlevés (200612821P, 200018571R, 199812965F, 201523784S). > Note: l'étape 03 a été intégrée à l'étape 2. > > Note 2: on préserve le champ `sourceUidChain` à la racine de la notice. ### 04-enrich Appel de web services ([Loterre - Structures de recherche](https://openapi.services.inist.fr/?urls.primaryName=loterre-resolvers%20-%20R%C3%A9solveurs%20pour%20des%20terminologies%20Loterre#/loterre-resolvers/post-v1-2XK-identify), [instituts CNRS](https://openapi.services.inist.fr/?urls.primaryName=mapping-tools%20-%20Utilisation%20de%20tables%20de%20correspondance#/mapping/post-v1-rnsr-year-instituts-cnrs)) pour créer les champs suivants : - `ApilWsIsCnrs` - `ApilWsLaboSigle` (indisponible depuis la version 1.13.0) - `ApilWsLaboIntitule` - `ApilRnsr` à la racine, à partir des champs `authors/affiliations/ApilRnsr` dédoublonnés. - `ApilWsInstitutCnrs` à partir du champ `ApilRnsr` - `ApilWsSigleLaboIntitule` (indisponible depuis la version 1.13.0) Appel de plusieurs web services de mapping ([documentType](https://openapi.services.inist.fr/?urls.primaryName=mapping-tools%20-%20Utilisation%20de%20tables%20de%20correspondance#/mapping/post-v1-homogenize-document-type-json), [source](https://openapi.services.inist.fr/?urls.primaryName=mapping-tools%20-%20Utilisation%20de%20tables%20de%20correspondance#/mapping/post-v1-homogenize-source-json), [publisher](https://openapi.services.inist.fr/?urls.primaryName=mapping-tools%20-%20Utilisation%20de%20tables%20de%20correspondance#/mapping/post-v1-homogenize-publisher-json)) et d'outils bibliographiques ([crossref](https://openapi.services.inist.fr/?urls.primaryName=biblio-tools%20-%20Outils%20pour%20r%C3%A9f%C3%A9rences%20bibliographiques#/biblio-tools/post-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 de web services ([adresses](https://openapi.services.inist.fr/?urls.primaryName=affiliations-tools%20-%20Structuration%20%26%20enrichissements%20d%27affiliations#/adresses/post-v1-addresses-parse), [Loterre - Pays](https://openapi.services.inist.fr/?urls.primaryName=loterre-resolvers%20-%20R%C3%A9solveurs%20pour%20des%20terminologies%20Loterre#/loterre-resolvers/post-v1-9SD-identify)) 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-report 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 `04-enrich`. ## Configuration > ⚠️ **Attention**: utilisez au moins la version 1.0.4 de `lodex-makefile` et la version 14 de `node`. S'assurer d'avoir les versions suivantes : ```json "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](../conditor-dumps-config.json) : ```json { "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" } } ``` Trello : <https://trello.com/b/wJoKuJXZ/conditor-m%C3%A9trie>