web-services / affiliations-tools /
@Nicolas Thouvenin Nicolas Thouvenin authored on 20 Oct
..
v1 feat(authors-tools): move corporate to authors-tools 1 year ago
README.md feat(authors-tools): move corporate to authors-tools 1 year ago
examples.http style(affiliations-tools): Lint examples.http 1 year ago
swagger.json openapi 3.1.0 allow info.summary 12 months ago
tests.hurl fix(generate-example-tests): Make it work with any Content-Type with text/* 1 year ago
README.md

affiliations-tools

L'instance affiliations-tools utilise l'application ezmaster lodex-workers.

Elle offre plusieurs services autour des affiliations dans les notices bibliographiques:

  • netscity: donne des informations sur les villes envoyées (position géographique, pays, province, ...)
  • rnsr: déduit de l'adresse d'une affiliation d'auteur et d'une date de publication (l'année suffit) zéro, un ou plusieurs identifiants RNSR (correspondant à une ou plusieurs structures de recherche française(s)).

Cet appariement suit des règles certaines.

Configuration

Il faut préciser dans le fichier de configuration de l'instance qu'elle utilise des paquets nodes:

  • @ezs/analytics
  • @ezs/basics
  • @ezs/conditor
  • @ezs/storage
  • @ezs/libpostal

Bien sûr, les dernières versions sont préférables.

Exemple:

{
    "packages": [
        "@ezs/analytics@1.18.8",
        "@ezs/basics@1.20.0",
        "@ezs/conditor@2.8.0",
        "@ezs/storage@1.6.3",
        "@ezs/libpostal@0.2.1"
    ]
}

Attention: ce serveur doit être une instance de inistcnrs/ezmaster-libpostal.

Utilisation

v1/rnsr/csv

Prend un fichier CSV, avec des colonnes nommées Adresse et Année, et renvoie un CSV avec la colonne supplémentaire RNSR.

Les colonnes doivent être séparées par des tabulations, des points-virgules ou des virgules.

Exemple CSV

cat <<EOF | curl -X POST --data-binary @- "https://affiliations-tools.services.inist.fr/v1/rnsr/csv"
Année,Adresse
2015,CNRS UMR AMAP MONTPELLIER FRA
2015,IRD UMR AMAP MONTPELLIER FRA
2015,"University of Bordeaux, IMS, CNRS UMR5218, Talence, F-33405, France"
2015,"CENBG, CNRS/IN2P3, Chemin du Solarium B. P. 120, Gradignan, F-33175, France"
EOF

Sortie:

Année;Adresse;RNSR
2015;CNRS UMR AMAP MONTPELLIER FRA;200317641S
2015;IRD UMR AMAP MONTPELLIER FRA;200317641S
2015;University of Bordeaux, IMS, CNRS UMR5218, Talence, F-33405, France;200711887V
2015;CENBG, CNRS/IN2P3, Chemin du Solarium B. P. 120, Gradignan, F-33175, France;199512079F

v1/rnsr/json

Prend un fichier JSON, avec des champs nommés id (pour l'identifiant) et value, et renvoie un JSON avec le ou les identifiant RNSR dans le champ value.

Le champ value contient un objet avec deux propriétés:

  1. year: l'année de publication
  2. address: l'adresse de la structure qu'on veut trouver

Remarque : Quand aucun identifiant n'est trouvé, un tableau vide est renvoyé.

Paramètres de v1/rnsr/json

nom description
indent true ou false, indente le JSON résultat ou non

Exemple JSON

cat <<EOF|curl -X POST --data-binary @- "https://affiliations-tools.services.inist.fr/v1/rnsr/json?indent=true"
[
{ "id":1, "value": { "year": "2021", "address": "CNRS UMR AMAP MONTPELLIER FRA" } },
{ "id":2, "value": { "year": "2021", "address": "IRD UMR AMAP MONTPELLIER FRA" } },
{ "id":3, "value": { "year": "2021", "address": "University of Bordeaux, IMS, CNRS UMR5218, Talence, F-33405, France" } },
{ "id":4, "value": { "year": "2021", "address": "CENBG, CNRS/IN2P3, Chemin du Solarium B. P. 120, Gradignan, F-33175, France" } },
{ "id":5, "value": { "year": "2021", "address": "Nulle part" } },
{ "id":6, "value": { "address": "Intemporel" } },
{ "id":7, "value": { "address": "Inist-CNRS, UPS76, 2 rue Jean Zay, Vandoeuvre-lès-Nancy" } }
]
EOF

Sortie:

[
    { "id":1, "value": ["200317641S"] },
    { "id":2, "value": ["200317641S"] },
    { "id":3, "value": ["200711887V"] },
    { "id":4, "value": ["199512079F"] },
    { "id":5, "value": [] },
    { "id":6, "value": [] },
    { "id":7, "value": ["198822446E"] }
]

v1/rnsr/info

Prend un fichier JSON, avec des champs nommés id (pour l'identifiant) et value, et renvoie un JSON avec le ou les identifiant RNSR dans le champ value.

Le champ value contient un objet avec deux propriétés:

  1. year: l'année de publication
  2. address: l'adresse de la structure qu'on veut trouver

Remarque : Quand aucun identifiant n'est trouvé, un tableau vide est renvoyé.

Paramètres de v1/rnsr/info

nom description
indent true ou false, indente le JSON résultat ou non

Exemple Info

cat <<EOF|curl -X POST --data-binary @- "https://affiliations-tools.services.inist.fr/v1/rnsr/info?indent=true"
[
{ "id":7, "value": { "address": "Inist-CNRS, UPS76, 2 rue Jean Zay, Vandoeuvre-lès-Nancy" } }
]
EOF

Sortie:

[
    { "id":7, "value": [{
        "num_nat_struct": "198822446E",
        "intitule": "Institut de l'information scientifique et technique",
        "sigle": "INIST",
        "ville_postale": "VANDOEUVRE LES NANCY CEDEX",
        "code_postal": "54519",
        "etabAssoc": [{
            "etab": {
              "sigle": "CNRS",
              "libelle": "Centre national de la recherche scientifique",
              "sigleAppauvri": "cnrs",
              "libelleAppauvri": "centre national de la recherche scientifique"
            },
            "label": "UAR",
            "labelAppauvri": "uar",
            "numero": "76"
        }],
        "intituleAppauvri": "institut de l information scientifique et technique",
        "sigleAppauvri": "inist",
        "ville_postale_appauvrie": "vandoeuvre les nancy cedex",
        "annee_creation": "1988",
        "an_fermeture": ""
    }]}
]

v1/rnsr/conditor

Prend une notice Conditor minimale (contenant au moins des auteurs (authors) et leurs affiliations (affiliations) avec au moins une adresse (address)), et tente de trouver le/les identifiant(s) RNSR correspondant.

Ajoute un champ conditorRnsr au niveau du champ address.

Exemple conditor

cat <<EOF|curl -X POST --data-binary @- "https://affiliations-tools.services.inist.fr/v1/rnsr/conditor"
[
{
     "xPublicationDate": ["2012-01-01"],
     "authors": [{
         "affiliations": [{
             "address": "GDR 2989 Université Versailles Saint-Quentin-en-Yvelines, 63009"
         }]
     }]
}
]
EOF

Sortie:

[{
    "xPublicationDate": [
        "2012-01-01"
    ],
    "authors": [
        {
            "affiliations": [
                {
                    "address": "GDR 2989 Université Versailles Saint-Quentin-en-Yvelines, 63009",
                    "conditorRnsr": [
                        "200619958X"
                    ]
                }
            ]
        }
    ]
}]

v1/addresses/parse

via curl

cat <<EOF|curl -N --data-binary @- "https://affiliations-tools.services.inist.fr/v1/addresses/parse?indent=true"
[
{ "value": "Inist-CNRS 2, rue Jean Zay CS 10310 F-54519 Vandœuvre-lès-Nancy France" },
{ "value": "46th St & 1st Ave, New York, NY 10017" }
]
EOF