Webservice AlgoSudoc : prendre connaissance et remédier aux anomalies de chargement des données Sudoc dans theses.fr

Expo Asterix BNF / Manuel F. Picaud / CC BY-NC-SA 2.0, via Flickr

Expo Asterix BNF / Manuel F. Picaud / CC BY-NC-SA 2.0, via Flickr

« Nous sommes en 2015 après Jésus-Christ. Toutes les thèses de doctorat soutenues en France depuis 1985 sont recensées dans theses.fr… Toutes ? Non ! Un lot d’irréductibles notices Sudoc résiste encore et toujours à l’algorithme de chargement. Et la vie n’est pas facile pour les garnisons de catalogueurs des bibliothèques retranchés dans les établissements de soutenance.« 

En mai 2013, les données du Sudoc ont été chargées dans le moteur de recherche theses.fr. Un précédent billet liste (de manière non exhaustive) les raisons pour lesquelles certaines notices n’ont pas pu être chargées.
Au-delà de l’énoncé de ces quelques principes, le programme de versement des données Sudoc restait une boite noire pour les catalogueurs. Vous avez été nombreux à nous réclamer via le guichet d’assistance des explications sur le non-chargement de telle ou telle notice, souvent à la demande d’un directeur de thèse qui constatait que theses.fr ne recensait pas la totalité des thèses qu’il a dirigées. Nous vous avons répondu au cas par cas, en vous promettant une liste de toutes les notices en erreur.

Ce service est désormais (enfin !) disponible. L’ABES a développé un webservice baptisé AlgoSudoc permettant de générer à la demande un « rapport dynamique de chargement des données Sudoc dans theses.fr ». Ce rapport est un fichier .csv contenant les résultats des tests de l’algorithme. Ces tests portent principalement sur la qualité de la notice décrivant la thèse originelle (codée 105$bm) et sont divers et variés (présence, structure et unicité du numéro national de thèse, structure de la note de thèses…). Pour chaque PPN en anomalie, le catalogueur est invité à corriger la notice dans WinIBW ; le rapport dynamique lui suggère d’intervenir à tel ou tel endroit de la notice.
Aujourd’hui, des dizaines de milliers d’anomalies sont détectées, y compris pour les thèses soutenues après 1985. Face à l’ampleur de la tâche, il est nécessaire d’organiser le travail de correction. En utilisant des paramètres dans l’url de génération du rapport dynamique, il est possible de définir un lot précis (par exemple, toutes les notices de thèses localisées avec un RCR donné).

La documentation sur ce webservice est ici. Un J-e.cours de présentation de ce service aura lieu le 12 mars.

Nous espérons que ce webservice sera l’occasion pour les établissements de mettre en place des chantiers de corrections ciblés, un peu comme le traitement des ebooks de droit international achetés dans le cadre d’ISTEX  ou plus récemment comme dans la démarche des CERCLES (Correction et Enrichissement par le Réseau de Corpus de L‘Enseignement Supérieur) .
Il est évident que dans un corpus centré sur les thèses, composé de notices qui bien souvent sont des unicas, les bibliothèques des établissements habilités à délivrer le doctorat ont une responsabilité particulière.
L’ABES vérifiera régulièrement l’avancement des corrections de manière globale. Par ailleurs, l’ABES prend à sa charge un certain nombre de traitements (qui n’apparaissent pas dans les rapports dynamiques) et ne s’interdit pas de mettre en place de nouveaux contrôles, notamment sur l’absence de liens entre notices bibliographiques et notices d’autorité (tests qui eux apparaitront dans les rapports dynamiques).

Un jour, à terme, ce webservice devrait être inutile : plus aucune anomalie ne devrait être détectée par l’algorithme.

Les irréductibles notices Sudoc n’ayant pas de potion magique, elles seront vaincues par les armées de catalogueurs !

IMR

Annuaire des Web Services Sudoc

Un annuaire des Web Services Sudoc est disponible à cette adresse : http://www.sudoc.fr/services/annuaire/.

Il permet  de prendre connaissance de l’ensemble des Web Services Sudoc existants et d’accéder à leur documentation.

L’annuaire et les Web Services Sudoc ont été présentés pendant les Journées ABES 2014 lors de la session « Des API, pour quoi faire ? » :
« Afin de rendre plus concrètes les possibilités offertes par ces API, Yves Tomic et Julien Sicot présenteront les réalisations de leurs établissements respectifs : enrichissement de l’OPAC, nouveaux outils pour les usagers (DoMyBiblio), mise en valeur des thèses…  »

L’ annuaire des Web Services Sudoc  est également disponible à partir de la page « Pour les développeurs » du site de l’ABES.

 

 

Sudoc, IdRef : de nouveaux Micro Web Services

De nouveaux Micro Web Services Sudoc et IdRef ont été développés :

  • merged : à partir d’un PPN de notice Sudoc ou IdRef fusionnée, trouver le PPN actif (notice valide)
  • multiwhere : localiser (RCR de localisation) un ou plusieurs document(s) à partir de leur identifiant Sudoc (PPN)

A noter : un service where a été précédemment développé pour permettre la localisation d’un seul document à partir de son identifiant (PPN). Il est dorénavant conseillé d’utiliser le multiwhere qui est plus riche que le where : non seulement il permet de traiter plusieurs notices à la fois, mais il contient également les coordonnées géographiques de chaque bibliothèque.

  • frbn2ppn, ocn2ppn, etc. : connaitre l’identifiant Sudoc à partir d’un identifiant externe (BnF, WorldCat, etc.)
  • iln2rcr : connaître la liste des RCR rattachés à un ILN

Pour  retrouver l’ensemble de la documentation technique :

Micro Web Service Biblio : quels sont les documents rattachés à cette personne ?

Biblio est le premier micro Web Service IdRef proposé par l’ABES : il permet de lister les documents signalés dans le Sudoc et rattachés à la notice d’autorité d’une personne.

A partir de l’identifiant d’une notice d’autorité de personne physique du Sudoc (« PPN » pour les intimes), Biblio fournit la liste des documents liés, en précisant pour chacun d’entre eux son titre et son identifiant Sudoc (PPN).

Par exemple, l’URL suivante :

http://www.idref.fr/services/biblio/027182800

est une requête Biblio qui demande la liste des documents rattachés à Paul Veyne, identifié par 027182800.

La réponse, en XML par défaut, est la suivante :

<?xml version="1.0" encoding="UTF-8"?>
<sudoc>
  <query>
    <ppn>027182800</ppn>
  </query>
  <result>
    <name>Veyne, Paul (1930-....)</name>
    <countRoles>10</countRoles>
    <role>
      <unimarcCode>070</unimarcCode>
      <marc21Code>aut</marc21Code>
      <roleName>Auteur</roleName>
      <count>89</count>
      <doc>
        <ppn>138028052</ppn>
        <citation>[Recueil factice: Portraits antiques]  [vol.1] ,   [Texte imprimé] / [s.l.] : [s.n.] , 1904-1969</citation>
      </doc>
      <doc>
        <ppn>138507023</ppn>
        <citation>[Recueil factice : Paul Veyne : Varia]   [Texte imprimé] / [s.l.] : [s.n.] , 1957-1967</citation>
      </doc>
      (... autres docs ...)
    </role>
    <... autres rôles ...)
  </result>
</sudoc>

Cette liste de documents est une liste raisonnée, organisée par rôles. Dans l’exemple ci-dessus, on voit que Paul Veyne remplit une dizaine de fonctions : Auteur, Préfacier, Collaborateur, Éditeur scientifique, Sujet, etc. Les rôles sont mentionnés par leur libellé en français (Auteur), leur code de fonction UNIMARC (070) et leur code de fonction MARC21 (aut). Ils sont triés par code de fonction UNIMARC.

Côte technique, si vous préférez exploiter ces informations dans le contexte d’un script JavaScript, il est possible de demander une réponse dans le format JSON

  • soit en ajoutant l’URL de requête le suffixe .json
  • soit en appelant l’URL de base en précisant dans la requête HTTP préférer du JSON (Accept: text/json). Vous utiliserez alors le mécanisme de la négociation de contenu, que vous pouvez tester avec le plugin Firefox Modify Headers par exemple.

N’hésitez, pas en commentaires, à demander des explications complémentaires, proposer des enrichissements à ce service et nous informer de l’usage que vous envisagez d’en faire.

Documentation technique : http://documentation.abes.fr/aideidref/developpeur/ch03s03.html

Contact : passez par l’interface d’assistance > IdRef > Web Services