Concepts OAI-PMH
Qu'est-ce que l'OAI-PMH ?
Le protocole Open Archives Initiative pour la collecte des métadonnées () spécifie une méthode relativement simple de collecte de données à partir d’une source de données. La source de données, appelée dépôt dans la terminologie OAI-PMH, accepte des requêtes conformes au protocole. Les requêtes peuvent interroger le dépôt afin d’obtenir des informations sur celui-ci et sur le service qu’il fournit, ainsi que sur les données proprement dites, appelées que le dépôt expose. Les réponses sont renvoyées au format XML (Extensible Markup Language), dont la structure est également spécifiée par le protocole. La structure des métadonnées incluses dans une réponse n’est pas spécifiée par le protocole OAI-PMH et un dépôt peut prendre en charge un nombre quelconque de formats XML pour les métadonnées. Toutefois, le protocole exige qu’au minimum tous les dépôts diffusent des métadonnées au format XML Dublin Core non qualifié (oai_dc). Le format des métadonnées incluses dans une réponse peut être spécifié dans la requête.
Les requêtes sont adressées à un dépôt à l’aide des méthodes HTTP GET ou POST. Il existe une URL de base unique pour toutes les requêtes. Toutes les requêtes se composent d’une liste d’arguments nommés qui prennent la forme de paires key=value. L’une des paires key=value doit être la clé verb associée à l’une des six valeurs autorisées du verbe.
| Verbe | Description |
|---|---|
|
GetRecord |
Récupérer un enregistrement de métadonnées individuel du dépôt. Par exemple : GetRecord |
|
Identify |
Récupérer des informations sur un dépôt. Par exemple : Identify |
|
ListIdentifiers |
Récupérer une liste d’identificateurs qui identifient de manière unique chaque enregistrement de métadonnées du dépôt. Par exemple : ListIdentifiers |
|
ListMetadataFormats |
Récupérer une liste des formats de métadonnées pris en charge par le dépôt. Par exemple : ListMetadataFormats |
|
ListRecords |
Récupérer tous les enregistrements de métadonnées du dépôt. Par exemple : ListRecords |
|
ListSets |
Récupérer les ensembles pris en charge par le dépôt. Les ensembles sont des groupes prédéterminés d’enregistrements de métadonnées représentant des éléments connexes. Par exemple : ListSets |
Des arguments obligatoires et facultatifs supplémentaires sont spécifiés en fonction du verbe utilisé.
Certains verbes nécessitent ou autorisent des arguments supplémentaires :
| Paramètre | Description |
|---|---|
|
from |
Limite les résultats aux enregistrements de métadonnées modifiés à partir de la date indiquée. Optionnel pour les ListIdentifiers et les ListRecords. Par exemple :
|
|
identifier |
Spécifie l’enregistrement de métadonnées à récupérer. Requis pour GetRecord. Par exemple :
|
|
metadataPrefix |
Spécifie le format du ou des enregistrements de métadonnées récupérés. Requis pour GetRecord, ListIdentifiers et ListRecords. Par exemple :
|
|
resumptionToken |
Ce sujet dépasse le cadre du présent document ; reportez-vous à la section Contrôle de flux de la spécification OAI-PMH. |
|
set |
Spécifie un ensemble à l’aide d’une valeur setSpec pour lequel nous souhaitons récupérer les identificateurs ou les enregistrements de métadonnées. Facultatif pour ListIdentifiers et ListRecords. Par exemple :
|
|
until |
Limite les résultats aux enregistrements de métadonnées modifiés au plus tard à la date indiquée. Facultatif pour ListIdentifiers et ListRecords. Par exemple :
|
Les réponses sont renvoyées au format XML. La structure du document XML est principalement spécifiée par l’OAI-PMH. Cependant, les requêtes utilisant les verbes GetRecord ou ListRecords contiennent une section d’enregistrement de métadonnées, dont la structure est spécifiée par l’argument metadataPrefix. Prenons par exemple la requête suivante :
http://arXiv.org/oai2?verb=GetRecord&identifier=oai:arXiv.org:cs/0112017&metadataPrefix=oai_dc
Le verbe GetRecord signifie que nous tentons de récupérer l’enregistrement de métadonnées correspondant à un élément spécifique du dépôt. L’argument identifier spécifie l’élément particulier que nous essayons de récupérer, et l’argument metadataPrefix spécifie le format de la section d’enregistrement des métadonnées. Dans la réponse ci-dessous, la section d’enregistrement des métadonnées est comprise entre les balises <metadata>. Toutes les autres parties de la réponse sont spécifiées par l’OAI-PMH :
<?xml version="1.0"?> <OAI-PMH xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"> <responseDate>2012-12-20T07:37:42Z</responseDate> <request verb="GetRecord" identifier="oai:arXiv.org:cs/0112017" metadataPrefix="oai_dc">http://export.arxiv.org/oai2</request> <GetRecord> <record> <header> <identifier>oai:arXiv.org:cs/0112017</identifier> <datestamp>2007-05-23</datestamp> <setSpec>cs</setSpec> </header> <metadata> <oai_dc:dc xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:title>Using Structural Metadata to Localize Experience of Digital Content</dc:title> <dc:creator>Dushay, Naomi</dc:creator> <dc:subject>Computer Science - Digital Libraries</dc:subject> <dc:subject>H.3.7</dc:subject> <dc:description> With the increasing technical sophistication of both information consumers and providers, there is increasing demand for more meaningful experiences of digital information. We present a framework that separates digital object experience, or rendering, from digital object storage and manipulation, so the rendering can be tailored to particular communities of users. Our framework also accommodates extensible digital object behaviors and interoperability. The two key components of our approach are 1) exposing structural metadata associated with digital objects -- metadata about the labeled access points within a digital object and 2) information intermediaries called context brokers that match structural characteristics of digital objects with mechanisms that produce behaviors. These context brokers allow for localized rendering of digital information stored externally. </dc:description> <dc:description>Comment: 23 pages including 2 appendices, 8 figures</dc:description> <dc:date>2001-12-14</dc:date> <dc:type>text</dc:type> <dc:identifier>http://arxiv.org/abs/cs/0112017</dc:identifier> </oai_dc:dc> </metadata> </record> </GetRecord> </OAI-PMH>
Les dépôts ne sont tenus de prendre en charge qu’un seul format de métadonnées, le Dublin Core non qualifié (oai_dc), mais peuvent également prendre en charge un nombre quelconque de formats supplémentaires. Les formats de métadonnées pris en charge par un dépôt peuvent être obtenus à l’aide du verbe ListMetadataFormats.
Les ensembles sont un concept OAI-PMH facultatif qui permet aux dépôts de regrouper des éléments. Les ensembles sont définis par trois éléments :
- setSpec : l’identifiant unique d’un ensemble.
- setName : une courte chaîne désignant l’ensemble.
- setDescription : une description facultative de l’ensemble.
Les ensembles exposés par le dépôt peuvent être répertoriés à l’aide de la requête ListSets. Ils peuvent également être utilisés pour limiter les réponses aux requêtes ListIdentifiers et ListRecords à l’aide de l’argument set.
Les ensembles peuvent être organisés selon une hiérarchie. L’organisation hiérarchique est spécifiée par la syntaxe de l’élément setSpec. Chaque élément hiérarchique de l’ensemble est séparé dans le setSpec par deux points. Prenons par exemple les ensembles suivants :
| setName | setSpec |
|---|---|
| Institutions | institution |
| Oceanside University of Nebraska | institution:nebraska |
| Valley View University of Florida | institution:florida |
| Subjects | subject |
| Existential Kinesiology | subject:kinesiology |
| Quantum Psychology | subject:quantum |
Nous avons ici deux ensembles principaux, institution et sujet, chacun avec deux sous-ensembles.
Les avantages des ensembles hiérarchiques sont les suivants :
- Les grands ensembles peuvent être divisés en groupes plus restreints sur le plan logique.
- Tous les sous-ensembles sont renvoyés en réponse aux requêtes
ListIdentifiersetListRecordsutilisant l’argumentsetcontenant unsetSpecparent.
Note: L’élément setSpec ne doit contenir que des caractères alphanumériques, des deux-points ou les caractères suivants : - _ . ! ~ * ' ( )
Autres ressources
D’autres informations sur l’OAI-PMH peuvent être obtenues auprès de diverses sources, notamment :

