# mapping-tools Ce service permet de remplacer des valeurs selon une table de correspondance. Pour l'instant, il n'y a qu'une table, celle faisant correspondre des identifiants RNSR à un ou plusieurs institut(s) du CNRS. ## Configuration Il faut préciser dans le fichier de configuration de l'instance qu'elle utilise les paquets node: - `@ezs/basics` - `@ezs/analytics` Et jusqu'à `@ezs/analytics@1.16.4`, il faut ajouter `node-object-hash@2.3.10`. Exemple: ```json { "packages": [ "@ezs/analytics@1.16.4", "@ezs/basics@1.14.0", "node-object-hash@2.3.10" ] } ``` ## Utilisation - [v1/halAuthorId/idRef/json](#v1/halauthorid/idref/json) - [v1/homogenize/documentType/json](#v1/homogenize/documenttype/json) - [v1/homogenize/publisher/json](#v1/homogenize/publisher/json) - [v1/homogenize/source/json](#v1/homogenize/source/json) - [v1/idRef/orcid/json](#v1/idref/orcid/json) - [v1/rnsr/instituts-cnrs/json](#v1/rnsr/instituts-cnrs/json) ### v1/halAuthorId/idRef/json Renvoie l'idRef associé au halAuthorId fourni. Prend en entrée du JSON avec deux champs: `id` et `value`, et renvoie un JSON avec l'idRef associé au halAuthorId fourni. #### Paramètres de v1/halAuthorId/idRef/json | nom | description | | :----- | :--------------------------------------------------------------------- | | indent | `true` ou `false`, indente le JSON résultat ou non (`true` par défaut) | #### Exemple de v1/halAuthorId/idRef/json Avec le halAuthorId <https://data.archives-ouvertes.fr/author/1458607>. ```bash curl -X POST "http://mapping-tools.tdmservices.intra.inist.fr/v1/halAuthorId/idRef/json" -H "accept: application/json" -H "Content-Type: application/json" -d "[{\"id\":0,\"value\":\"https://data.archives-ouvertes.fr/author/1458607\"}]" ``` Sortie: ```json [ { "id": 0, "value": "http://www.idref.fr/190260483/id" } ] ``` ### v1/homogenize/documentType/json Homogénéise le type de document d'une notice. Prend en entrée du JSON avec deux champs: `id` et `value`, et renvoie un JSON avec la forme canonique du type de document. #### Paramètres de v1/homogenize/documentType/json | nom | description | | :----- | :--------------------------------------------------------------------- | | indent | `true` ou `false`, indente le JSON résultat ou non (`true` par défaut) | #### Exemple de v1/homogenize/documentType/json Avec la valeur `"ART"`. ```bash curl -X POST "http://mapping-tools.tdmservices.intra.inist.fr/v1/homogenize/documentType/json" -H "accept: application/json" -H "Content-Type: application/json" -d "[{\"id\":0,\"value\":\"ART\"}]" ``` Sortie: ```json [ { "id": 0, "value": "Article" } ] ``` ### v1/homogenize/publisher/json Prend en entrée du JSON avec deux champs: `id` et `value`, et renvoie un JSON avec la forme canonique de l'éditeur envoyé dans le champ `value`. #### Paramètres de v1/homogenize/publisher/json | nom | description | | :----- | :--------------------------------------------------------------------- | | indent | `true` ou `false`, indente le JSON résultat ou non (`true` par défaut) | #### Exemple de v1/homogenize/publisher/json ```bash curl -X POST "https://mapping-tools.services.inist.fr/v1/homogenize/publisher/json" -H "accept: application/json" -H "Content-Type: application/json" -d "[{\"id\":0,\"value\":\"Springer Verlag\"}]" ``` Sortie: ```json [ { "id": 0, "value": "SPRINGER" } ] ``` ### v1/homogenize/source/json Prend en entrée du JSON avec deux champs: `id` et `value`, et renvoie un JSON avec la forme canonique de la source envoyée dans le champ `value`. #### Paramètres de v1/homogenize/source/json | nom | description | | :----- | :--------------------------------------------------------------------- | | indent | `true` ou `false`, indente le JSON résultat ou non (`true` par défaut) | #### Exemple de v1/homogenize/source/json ```bash curl -X POST "https://mapping-tools.services.inist.fr/v1/homogenize/source/json" -H "accept: application/json" -H "Content-Type: application/json" -d "[{\"id\":0,\"value\":\"« Gilets jaunes » Hypothèses sur un mouvement\"}]" ``` Sortie: ```json [ { "id": 0, "value": "\"GILETS JAUNES\" : HYPOTHESES SUR UN MOUVEMENT" } ] ``` ### v1/idRef/orcid/json Prend en entrée du JSON avec deux champs: `id` et `value`, et renvoie un JSON avec les ORCID correspondant à l'idRef envoyé dans le champ `value`. #### Paramètres de v1/idRef/orcid/json | nom | description | | :----- | :--------------------------------------------------------------------- | | indent | `true` ou `false`, indente le JSON résultat ou non (`true` par défaut) | #### Exemple v1/idRef/orcird/json ```bash curl -X POST "https://mapping-tools.services.inist.fr/v1/idRef/orcid/json" -H "accept: application/json" -H "Content-Type: application/json" -d "[{\"id\":0,\"value\":\"http://www.idref.fr/190260483/id\"}]" ``` Sortie: ```json [{ "id": 0, "value": "https://orcid.org/0000-0003-1301-3305" }] ``` ### v1/rnsr/instituts-cnrs/json Prend en entrée du JSON avec deux champs: `id` et `value`, et renvoie un JSON avec un institut du CNRS dans le champ `value`. > **Remarque**: quand on ne trouve pas d'institut, la valeur est `n/a` (*not > available*) #### Paramètres de v1/rnsr/instituts-cnrs/json | nom | description | | :----- | :--------------------------------------------------------------------- | | indent | `true` ou `false`, indente le JSON résultat ou non (`true` par défaut) | #### Exemple ```bash $ cat <<EOF | curl -X POST --data-binary @- "https://mapping-tools.services.inist.fr/v1/rnsr/instituts-cnrs/json?indent=true" [{ "id": 1, "value": "200919362L" }, { "id": 2, "value": "200112440X"}] EOF ``` Sortie ```json [{ "id": 1, "value": "INEE" }, { "id": 2, "value": "STIC" }] ```