web-services / mapping-tools /
@apil apil authored on 16 Jun 2022
..
v1 mapping-tools: update tables tsv inspire-category/meta-category and inspire-labos/in2p3-labos 1 year ago
README.md docs(mapping-tools): Update Table of Contents 1 year ago
examples.http feat(mapping-tools): idRef accepted either URL, string, number 2 years ago
fixTsvQuotes.js feat(mapping-tools): add /v1/homogenize/source/json route 2 years ago
swagger.json mapping-tools@1.5.0 1 year ago
tests.http docs(mapping-tools): Add tests.http and make examples work on prod 2 years ago
README.md

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
{
    "packages": [
        "@ezs/core@1.28.2",
        "@ezs/analytics@1.18.5",
        "@ezs/basics@1.17.1"
    ]
}

Exemple

Utilisation

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.

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:

[
  {
    "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".

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:

[
  {
    "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

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:

[
  {
    "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

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:

[
  {
    "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

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:

[{
    "id": 0,
    "value": "https://orcid.org/0000-0003-1301-3305"
}]

v1/inspire-category/meta-category/json

Prend en entrée du JSON avec deux champs: id et value.
Le champ value doit contenir une catégorie Inspire.
Renvoie un JSON avec une méta-catégorie IN2P3 dans le champ value.

Remarque: quand on ne trouve pas de méta-catégorie correspondante, la valeur est n/a (not available)

Paramètres de v1/inspire-category/meta-category/json

nom description
indent true ou false, indente le JSON résultat ou non (true par défaut)

Exemple

cat <<EOF | curl -X POST --data-binary @- "https://mapping-tools.services.inist.fr/v1/inspire-category/meta-category/json?indent=true"
[{ "id": 1, "value": "Experiment-HEP" }, { "id": 2, "value": "Astrophysics"}]
EOF

Sortie

[{
    "id": 1,
    "value": "Particules et hadronique"
},
{
    "id": 2,
    "value": "Astroparticule et cosmologie"
}]

v1/inspire-labos/in2p3-labos/json

Prend en entrée du JSON avec deux champs: id et value.
Le champ value doit contenir un code institution de la base Inspire.
Renvoie un JSON avec un code labo IN2P3 dans le champ value.

Remarque: quand on ne trouve pas un code labo IN2P3 correspondant, la valeur est n/a (not available)

Paramètres de v1/inspire-labos/in2p3-labos/json

nom description
indent true ou false, indente le JSON résultat ou non (true par défaut)

Exemple

cat <<EOF | curl -X POST --data-binary @- "https://mapping-tools.services.inist.fr/v1/inspire-labos/in2p3-labos/json?indent=true"
[{ "id": 1, "value": "903453" }, { "id": 2, "value": "910133"}]
EOF

Sortie

[{
    "id": 1,
    "value": "GANIL"
},
{
    "id": 2,
    "value": "APC Paris"
}]

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

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

[{
    "id": 1,
    "value": "INEE"
},
{
    "id": 2,
    "value": "STIC"
}]