Moissonnage OAI-PMH⚓
Les données du catalogue Calames sont moissonnables via le protocole OAI-PMH de deux manières : chaque instrument de recherche publié peut être récupéré sous la forme de fichiers XML/EAD, par ailleurs les niveaux descriptifs au sein de ces instruments de recherche peuvent être exportés sous la forme de notices Dublin Core simple XML. Calames ne dispose pas à proprement parler d'un entrepôt OAI-PMH : les résultats sont générés "à la volée" à partir de requêtes employant la racine : https://calames.abes.fr/oai/oai2.aspx
Spécificités techniques⚓
Verbes et requêtes OAI⚓
Les six verbes du protocole OAI-PMH peuvent être employés :
ListIdentifiers
ListRecords
GetRecord
Avec le verbe ListRecords, chaque page de résultats en DC étant limitée à 100 notices et chaque page de résultats en EAD étant limitée à 5 instruments de recherche, le client de moissonnage doit savoir gérer les resumptionToken.
Les Sets⚓
Le seul critère pris actuellement en compte pour ventiler les données au sein de « sets », est l'établissement responsable du fond, identifié par le RCR (présent dans le <repository> en EAD), et dont au moins un fichier EAD est publié dans le catalogue.
Seuls deux critères peuvent être employés - et croisés - en vue d'un moissonnage sélectif :
les dates de modifications des composants <c> (ou datestamps, interrogeables à l'aide des arguments from et until)
les organismes responsables de l'inventaire d'origine (numéros RCR, dont l'ensemble compose la liste des sets).
Formats disponibles⚓
Ainsi que le spécifie le verbe ListMetadataFormats, deux formats sont disponibles : Dublin Core et XML/EAD.
XML/EAD⚓
Les données XML/EAD mises à disposition en OAI-PMH sont délivrées dans leur intégrité native et correspondent au dernier état publié des instruments de recherche, à l'exclusion des commentaires XML.
Identifiants permettant de moissonner les données⚓
Sous le profil de métadonnées oai_ead, les données EAD de chaque instrument de recherche ne peuvent être interrogées et moissonnées qu'à l'aide des identifiants des hauts niveaux descriptifs (identifiants commençant par "FileId-") ;
URL⚓
En OAI au format EAD, l'url de l'ensemble du fichier XML-EAD est présent dans l'attribut URL de l' <eadid>
Les URL publics et stables des composants ne figurent pas dans le fichier exposé mais peuvent être reconstitués : la racine de l'URL est calames.abes.fr/pub/ms/ en https à laquelle s'ajoute la valeur de l'attribut ID du <c>
Dublin Core⚓
Les données Dublin Core correspondent à une granularité plus fine, les exports se faisant à l'échelle de chaque niveau descriptif publié dans Calames.
Particularités de l'OAI en Dublin Core⚓
Le passage d'une structure hiérarchique (en EAD) à un lot d'enregistrements de même niveau (en DC) entraîne un appauvrissement significatif des informations :
sélectivité des champs Dublin Core (12 champs du Dublin Core ont été retenus)
perte de l'héritage des informations
absence de mise en contexte niveaux descriptifs (vocation d'un instrument de recherche).
C'est pourquoi l'export des données EAD vers des champs Dublin Core obéit à des règles de conversion et des contraintes techniques particulières
avec le verbe GetRecord : tout niveau descriptif publié dans Calames, de haut ou bas niveau en EAD, peut être récupéré en Dublin Core
avec le verbe ListRecords : seules les notices de Calames - à savoir les composants <c> disposant d'un élément <unitid> de type "cote" et non pas "division" - sont délivrées.
Identifiants permettant de moissonner les données⚓
Sous le profil oai_dc (Dublin Core), les différents niveaux descriptifs de chaque instrument de recherche (hauts niveaux descriptifs et composants) sont individualisés et composent la liste des identifiants, de type "FileId-" pour les données correspondant à un haut niveau (<archdesc>) ; et de type ID pour les composants (<c>)
URL⚓
En OAI au format Dublin Core, les url Calames de chaque <archdesc> et de chaque <c> sont présents dans le premier élément <dc:identifier>
Remarque :
Pour plus d'informations sur le mapping EAD – Dublin Core, se reporter au tableau des trois formes de conversions Dublin Core applicables aux données Calames.
Exemples de requêtes⚓
Exemple :
https://calames.abes.fr/oai/oai2.aspx?verb=ListIdentifiers&metadataPrefix=oai_dc&from=2012-05-01 :
On obtient la liste des identifiants de notices Calames modifiées depuis le 1er mai 2012 (ainsi que les dates de dernières modifications correspondantes). Chaque identifiant (<identifier>) commence par la racine oai:oaicalames.abes.fr:
On obtient l'ensemble des notices de type « cote » figurant dans un inventaire de la BDIC (RCR Calames 920509801), publiées ou modifiées les 22 et 23 mai 2012 (les dates figurant dans les arguments from et until doivent être différentes). La liste de résultats excédant les 100 notices, il faut aller chercher la suite des résultats en employant le jeton mentionné en fin de liste à l'aide du verbe resumptionToken. Cette requête prendra la forme suivante : https://calames.abes.fr/oai/oai2.aspx?verb=ListRecords&resumptionToken =[jeton à compléter]
On obtient les informations de haut niveau de l'instance EAD 1087 - qu'il comporte ou non un élément <unitid type="cote">
https://calames.abes.fr/oai/oai2.aspx?verb=ListIdentifiers&metadataPrefix=oai_ead&set=920509801 :
Liste des identifiants des instruments de recherche publiés par l'établissement BDIC (RCR Calames 920509801) disponibles sous la forme de fichiers XML/EAD. Pour moissonner l'ensemble de ces instruments de recherche (à raison de 5 fichiers par page de résultats), il suffit d'utiliser le verbe ListRecords : https://calames.abes.fr/oai/oai2.aspx?verb=ListRecords&metadataPrefix=oai_ead&set=920509801
On obtient l'intégralité de l'instrument de recherche numéro 1087 de la base Calames dans son état XML/EAD natif