Programmes d’alignement des notices bibliographiques Inist avec les documents Istex
Ce programme permet d’aligner les bases bibliographiques Pascal et Francis de l’Inist avec la base Istex, c’est-à-dire retrouver dans la base Istex les documents correspondants aux notices bibliographiques des base Pascal ou Francis.
À noter que si ce programme est utilisé à l'Inist, il est recommandé d’éviter de passer par le proxy. Pour cela, il faut supprimer les variables globales le définissant, ce qui se fait avec la commande : unset http_proxy https_proxy no_proxy. Vérifiez également avec la commande env si ces mêmes variables n'existent pas en majuscule. Auquel cas, supprimez les avec la commande : unset HTTP_PROXY HTTPS_PROXY NO_PROXY.
Le programme matchStan2Istex.pl fonctionne sous Unix/Linux ainsi qu’avec Cygwin sous Windows. Il utilise plusieurs modules qui ne sont pas tous dans la distribution standard de Perl. Les modules qu’on peut être amené à installer sont :
matchStan2Istex.pl -f (fichier|-) [ -d ] [ -v nombre ] [ -r id ]
[ -n notices ] [ -c corpus[,corpus]* ]*
matchStan2Istex.pl -h fichier_HFD [ -d ] [ -v nombre ] [ -r id ]
[ -n notices ] [ -c corpus[,corpus]* ]*
matchStan2Istex.pl -i
-c indique le nom du ou des corpus de la base Istex à interroger (on peut soit répéter
cette option, soit mettre tous les noms de corpus séparés par des virgules, mais sans
espace)
-d active le mode “débogage”
-f indique le nom du fichier d’entrée (qui peut être un fichier compressé avec “gzip” ou
“bzip2”). Pour utiliser l’entrée standard, mettre un tiret “-”
comme argument
-h indique le nom du fichier HFD servant d’entrée au programme
-i affiche cette aide.
-n indique le nom du fichier contenant les notices Pascal ou Francis modifiées parce
que les notices originales provoquaient une erreur de syntaxe dans la requête à l’API
ISTEX (N.B. : l’absence du fichier indiqué n’entraîne pas l’arrêt du programme)
-r indique le numéro de la dernière notice Pascal ou Francis traitée précédemment, pour
permettre la reprise de l’alignement si celui-ci a été prématurément arrêté
-v permet de suivre la progression du traitement en affichant sur la sortie erreur l’heure
de début, l’heure de fin et l’heure chaque fois qu’un lot de notices, correspondant au
nombre de notices donné en argument, a été traité
Les notices bibliographiques des bases Pascal et Francis sont des documents balisés en SGML (norme ISO 8879:1986). Chaque notice est sur une seule ligne et à chaque balise ouvrante correspond une balise fermante. En dehors des lettres majuscules et minuscules non-accentuées, des chiffres et des signes de ponctuation de base, les caractères sont écrits sous forme d’entité caractère (par exemple, é pour le caractère é). À l’inverse de ce qu’on peut trouver dans XML (qui est un sous-ensemble de SGML), les valeurs d’attribut ne sont pas entre quotes, simples ou doubles et il n'y a pas de balise vide.
La racine du document est l’élément record et il y a deux niveaux de balise correspondant aux zones et sous-zones du format d’échange de notices bibliographiques de la norme ISO 2709 comme on peut le voir dans l’exemple ci-dessous (indenté par souci de lisibilité). La sémantique des noms de zone, préfixés par f en SGML, des noms de sous-zone, préfixés par s en SGML, et de l’attribut dir est défini dans le document « Format INIST Standard 1994 ».
<record label=044710B00002014830004560>
<fA01 dir=011000>
<s0>0138-9130</s0>
</fA01>
<fA02 dir=010000>
<s0>SCNTDX</s0>
</fA02>
<fA03 dir=001000>
<s0>Scientometrics : (Print)</s0>
</fA03>
<fA05 dir=000000>
<s2>72</s2>
</fA05>
<fA06 dir=000000>
<s2>2</s2>
</fA06>
<fA08 dir=011ENG>
<s1>Profiling citation impact : A new methodology</s1>
</fA08>
<fA11 dir=011000>
<s1>ADAMS (Jonathan)</s1>
</fA11>
<fA11 dir=021000>
<s1>GURNEY (Karen)</s1>
</fA11>
<fA11 dir=031000>
<s1>MARSHALL (Stuart)</s1>
</fA11>
<fA14 dir=010000>
<s1>Evidence Ltd</s1>
<s2>Leeds</s2>
<s3>GBR</s3>
<sZ>1 aut.</sZ>
<sZ>2 aut.</sZ>
<sZ>3 aut.</sZ>
</fA14>
...
<fC03 dir=17XFRE>
<s0>Aide décision</s0>
<s5>18</s5>
</fC03>
<fC03 dir=17XENG>
<s0>Decision aid</s0>
<s5>18</s5>
</fC03>
<fC03 dir=17XSPA>
<s0>Ayuda decisión</s0>
<s5>18</s5>
</fC03>
<fN21 dir=000000>
<s1>203</s1>
</fN21>
</record>
Pour chaque notice Inist traitée, et sauf pour 2 exceptions que l’on verra plus loin, on a une première ligne commençant par URI et indiquant la requête envoyée à l’API. La ligne suivante donne le nombre de réponses obtenues.
URI : "https://api.istex.fr/document/?q=(host.title:"Scientometrics" OR host.issn:"0138-9130" OR host.eissn:"0138-9130"
OR serie.issn:"0138-9130" OR serie.eissn:"0138-9130") AND (publicationDate:2007 OR copyrightDate:2007 OR host.publicationDate:2007
OR host.copyrightDate:2007 OR serie.publicationDate:2007 OR serie.copyrightDate:2007 OR host.volume:72 OR host.issue:2) AND
(author.name:("ADAMS" OR "GURNEY" OR "MARSHALL") OR host.pages.first:[325 TO 344] OR host.pages.last:[325 TO 344])
&output=title,author,host,serie,doi,publicationDate,copyrightDate"
=> 68
On peut ensuite trouver d’autres requêtes commençant par ALT, ETC ou RAC. Ces requêtes complémentaires servent soit à tester une autre stratégie de recherche (RAC), soit à essayer différentes valeurs pour la pagination (ETC) ou soit à rechercher un groupe de documents indexé dans une seule notice Inist (ALT). Les requêtes de type ETC et RAC sont suivies d’une ligne indiquant le nombre de réponse renvoyées par l¹API.
Dans le cas le plus général, on a ensuite le résultat sur une ligne avec 22 champs, pas toujjours remplis, séparés par des tabulations. On a respectivement :
***** à 05.000 à 0.000, parfois suivi d’un point d’exclamation !A pour un article et M pour une monographie|Dans l’exemple suivant, on a rajouté un signe d’exclamation aux champs vides pour permettre de les repérer.
***** 5.000 A 08-0322753 Profiling citation impact : A new methodology Scientometrics ! 0138-9130 ! 2007 72 2 325 344 ADAMS Jonathan GURNEY, Karen|MARSHALL, Stuart 16AA6F7A70CD152792DC04F6D65A673B8B7F2214 ark:/67375/VQC-DZRDKVN2-2 10.1007/s11192-007-1696-x ! !
On considère que l'alignement est bon si le score est supérieur ou égal à 3.490. Pour les scores inférieurs à cette valeur, on a parfois un point d’exclamation ! qui indique que les données bibliographiques sur la revue, l’année de publication, la volumaison, la tomaison (si elle existe) et la pagination sont correctes, mais que le reste des données ne correspond pas. Cela peut être dû à des fautes de frappe ou d’OCR dans les noms d’auteur ou dans le titre ou cela peut être dû à une erreur de bulletinage : le document s'est vu attribuer par exemple la pagination d’un autre article du même fascicule. On trouve de tels décalages aussi bien dans les données Inist que dans celles des éditeurs.