$ cnpm install @ezs/conditor
Ce plugin est propose une série d'instructions pour traiter (aligner les affiliations avec le RNSR), requêter les documents de l'API Conditor.
npm install @ezs/core
npm install @ezs/conditor
$ ./bin/affAlign.js < data/1000-notices-conditor-hal.json | ./bin/compareRnsr.js
recall: 0.7104885057471264
correct: 989
total: 1392
Warning: to use the scripts, you need to install
@ezs/basics
too.
Les règles certaines utilisées par affAlign, appliquées à l'adresse de l'affiliation à aligner sont les suivantes:
code_postal
ou la ville_postale
de la structure doivent être présents,etabAssoc.*.etab
, et etabAssoc.*.etab.natTutEtab
vaut TUTE
):
etabAssoc.*.etab.sigle
ou le etabAssoc.*.etab.libelle
sont présents,etabAssoc.*.etab.libelle
commence par Université
et le etabAssoc.*.etab.libelle
est présent (mais pas le etabAssoc.*.etab.sigle
).etabAssoc.*.label
et etabAssoc.*.numero
sont présents proches et en séquence (ex: GDR2945
, GDR 2945
ou GDR mot 2945
),sigle
est présent,intitule
est présent.xPublicationDate
est entre annee_creation
et l'éventuelle an_fermeture
.Sachant qu'on appauvrit (casse, accents, tiret, apostrophe) tous les champs.
Take Conditor JSON documents and compute the recall of authors.affiliations.conditorRnsr
in relation to authors.affiliations.rnsr
.
Input
[{
"authors": [{
"affiliations": [{
"address": "GDR 2989 Université Versailles Saint-Quentin-en-Yvelines, 63009",
"rnsr": ["200619958X"],
"conditorRnsr": ["200619958X"]
}]
}]
}]
Output
{
"correct": 1,
"total": 1,
"recall": 1
}
Use scroll to return all results from Conditor API.
:warning: you have to put a valid token into a
.env
file, underCONDITOR_TOKEN
variable:
CONDITOR_TOKEN=eyJhbG...
q
string query (optional, default ""
)scroll
string duration of the scroll (optional, default "5m"
)page_size
number size of the pages (optional, default 1000
)max_page
number maximum number of pages (optional, default 1000000
)includes
string fields to get in the responseexcludes
string fields to exclude from the responsesid
string User-agent identifier (optional, default "ezs-conditor"
)progress
boolean display a progress bar in stderr (optional, default false
)Input
{
"q": "Test",
"page_size": 1,
"max_page": 1,
"includes": "sourceUid"
}
Output
[[
{
"sourceUid": "hal$hal-01412764",
"_score": 5.634469,
"_sort": [
0
]
}
]]
Find the RNSR identifiers in the authors affiliation addresses.
Input file:
[{
"xPublicationDate": ["2012-01-01", "2012-01-01"],
"authors": [{
"affiliations": [{
"address": "GDR 2989 Université Versailles Saint-Quentin-en-Yvelines, 63009"
}]
}]
}]
Script:
[use]
plugin = basics
plugin = conditor
[JSONParse]
[affAlign]
[JSONString]
indent = true
Output:
[{
"xPublicationDate": ["2012-01-01", "2012-01-01"],
"authors": [{
"affiliations": [{
"address": "GDR 2989 Université Versailles Saint-Quentin-en-Yvelines, 63009",
"conditorRnsr": ["200619958X"]
}]
}]
}]
Copyright 2014 - 2016 © taobao.org |