API DE HAL
CCSD, Villeurbanne 2016-03-17
1. Les API de recherche
2. API Référentiels de HAL
3. API Documents de HAL
Raphaël Tournoy
API.ARCHIVES-OUVERTES.FR
1- LES API DE RECHERCHE
Raphaël Tournoy
• API Recherche HAL = documents en ligne *
• API Recherche Référentiels :
• Auteurs*
• Structures de recherche*
• Domaines*
• Liste de métadonnées*
• Revues*
• Projets ANR*
• Projets européens*
• Affiliations des auteurs
• Types de documents
• Métadonnées
* Servis par Apache Solr
API - RECHERCHE
Via les API de type Solr vous
accédez aux même
données/fonctionnalités que
le CCSD
4
• Apache Solr
• Serveur recherche/indexation avec API REST
• Recherche texte intégral + facettes
• Réponses aux formats JSON ; XML ; CSV ; etc.
• Logiciel libre
• https://lucene.apache.org/solr/
API - RECHERCHE
5
• Solr au CCSD :
• HAL
• Recherche / pages consultation
• Autocomplétion
• Exports
• Flux syndication
• Statistiques
• API
• Auréhal
• Recherche / pages consultation
• Episciences
• Recherche / pages consultation
API - RECHERCHE
6
FONCTIONNEMENT INDEXATION
Application [HAL ;
Auréhal ; episciences.
org]
•Demande indexation
File d’attente
•Lecture de la file d’indexation
(+/- 60 secondes)
1 Machine d’indexation
•Indexation (+/- 2minutes)
4 Machines d’interrogation
•Réplication (+/- 30 secondes)
2- API RÉFÉRENTIELS HAL
LES REFERENTIELS DE HAL
• Types de dépôts par instance
• Métadonnées par type de dépôt
• Données de type liste fermée
• Données de type complexes
QUE CONTIENNENT LES RÉFÉRENTIELS ?
• Tous les modèles de données sont
accessibles via l’API
• api.archives-ouvertes.fr/ref/referentiel
• Format de réponse SOLR (like)
• <reponse>
• <result …>
• Les formats de sortie json ou xml
RECHERCHE
LES REFERENTIELS
DOCTYPE : TYPES DE DOCUEMENTS
Exemple : Types de document acceptés sur TEL ( instance_s=tel )
MÉTADONNEES PAR TYPE DE DOCUMENT
Métadonnées du portail univ-avignon pour le type de document ART (article)
Listes de métadonnées + nombre de valeurs disponibles
LISTE DES MÉTADONNÉES DE TYPE LISTE FERMÉE
Métadonnée audience = 3 valeurs possibles
LISTE DES MÉTADONNÉES DE TYPE LISTE FERMÉE
Obtenir les valeurs possibles pour la métadonnée audience ( metaName_s:audience )
TYPE COMPLEXE
EXEMPLE RECHERCHE
Revues valides triées par label_s
• Définition de Structure
• Ensemble de métadonnées propres
• Type :
• Institution
• Laboratoire
• Département
• Equipe
• Nom
• …Adresse
• Relation avec d’autres structures
STRUCTURE
REPRÉSENTATION D’UN ENSEMBLE DE
STRUCTURES
Institution
Laboratoire
Département
Équipe
Équipe
Laboratoire
Département
Laboratoire
Toutes les structures doivent être affiliées à
au moins une structure
Sauf celles de type Institution
AFFILIATIONS VALIDES
Équipe
Laboratoire
Équipe
Département
Équipe
Institution
Département
Laboratoire
Département
Institution
Laboratoire
InstitutionInstitution
Institution
EXEMPLE STRUCTURE DANS AURÉHAL
API STRUCTURE : EXEMPLE AU FORMAT JSON
https://api.archives-ouvertes.fr/ref/structure/?q=docid:88070&fl=*_s
2- API DOCUMENTS DE HAL
HTTPS://API.ARCHIVES-OUVERTES.FR/DOCS/SEARCH
• Tous les dépôts de HAL en ligne
• +/- toutes les métadonnées d’un dépôt sous
différentes formes
• + version des métas aux formats :
• Bibtex
• XML-TEI
• COinS
• Endnote
• Texte intégral indexé mais pas stocké
CONTENU API DE RECHERCHE HAL
25
CONTENU API DE RECHERCHE HAL
Exemple de métadonnées renvoyées par l’API de recherche HAL au format XML
26
RECHERCHE DANS HAL
Types de métadonnées accessibles
27
Type Usage prévu
Indexées recherche
Stockées affichage
Facettes listes de valeurs
Tri pas de champs multivalués
API RECHERCHE – TYPES DE CHAMPS
http://api.archives-ouvertes.fr/docs/search/schema/field-types
API RECHERCHE – EXEMPLES DE CHAMPS
http://api.archives-ouvertes.fr/docs/search/schema/fields/#fields
• Pré-requis client http (navigateur web, cURL,
bilbiothèque logicielle, ...)
• Point d’entrée pour les documents de HAL :
http://api.archives-ouvertes.fr/search/
API RECHERCHE - REQUÊTES
30
• Point d’entrée pour un portail :
http://api.archives-ouvertes.fr/search/<instance>
• Exemple :
• http://api.archives-ouvertes.fr/search/univ-tln/
• NB : Dans le cas d’un portail/instance, si un
dépôt a plusieurs versions, on ne trouve que la
dernière.
API RECHERCHE - REQUÊTES
31
• Point d’entrée pour une collection :
http://api.archives-ouvertes.fr/search/<TAMPON>
• Exemple :
• https://api.archives-ouvertes.fr/search/CRESSON
• NB : Dans le cas d’une collection, si un dépôt a
plusieurs versions, on ne voit que la version
tamponnée
API RECHERCHE - REQUÊTES
32
Nom paramètre/usage Description exemple Valeur par
défaut
q Requête de recherche q=exemple * :*
Chercher dans un champ NomDuChamp:valeur q=title_t:test
q=title_t:(printemps OR spring)
text
wt Format de réponse wt=xml Json
Equation de recherche Termes + opérateurs booléens avec des paranthèses Journal AND (Histoire OR History)
Intervalles Recherche d'intervalles submittedDateY_i:[2000 TO *]
Opérateur booléens AND OR NOT + - && || AND
fq Filtres fq=submitType_s:file
rows Nombre de résultats rows=5 30
start Décalage des résultats start=10 0
fl Champs à retourner fl=auth*,docid,label_s docid,label_s
sort Tri : nom du champ + asc ou desc sort=submittedDateY_i desc score
facet Construire des facettes facet=true false
facet.field Un champ pour faire des facettes facet.field=docType_s
facet.mincount Nombre minimum de valeurs pour retourner une facette facet.mincount=1 0
facet.sort Tri des facettes [count ou index] facet.sort=index count
PRINCIPAUX PARAMÈTRES
Valeurs + paramètres sensibles à la casse
34
API RECHERCHE - REQUÊTES
Exemples en ligne de requêtes sur l’API de recherche HAL :
Base de connaissance de HAL : https://wiki.ccsd.cnrs.fr/wikis/hal/
Documentation API Recherche HAL : https://api.archives-ouvertes.
fr/docs/search

Les API de HAL - Formation CCSD mars 2016

  • 1.
    API DE HAL CCSD,Villeurbanne 2016-03-17 1. Les API de recherche 2. API Référentiels de HAL 3. API Documents de HAL Raphaël Tournoy
  • 2.
  • 3.
    1- LES APIDE RECHERCHE Raphaël Tournoy
  • 4.
    • API RechercheHAL = documents en ligne * • API Recherche Référentiels : • Auteurs* • Structures de recherche* • Domaines* • Liste de métadonnées* • Revues* • Projets ANR* • Projets européens* • Affiliations des auteurs • Types de documents • Métadonnées * Servis par Apache Solr API - RECHERCHE Via les API de type Solr vous accédez aux même données/fonctionnalités que le CCSD 4
  • 5.
    • Apache Solr •Serveur recherche/indexation avec API REST • Recherche texte intégral + facettes • Réponses aux formats JSON ; XML ; CSV ; etc. • Logiciel libre • https://lucene.apache.org/solr/ API - RECHERCHE 5
  • 6.
    • Solr auCCSD : • HAL • Recherche / pages consultation • Autocomplétion • Exports • Flux syndication • Statistiques • API • Auréhal • Recherche / pages consultation • Episciences • Recherche / pages consultation API - RECHERCHE 6
  • 7.
    FONCTIONNEMENT INDEXATION Application [HAL; Auréhal ; episciences. org] •Demande indexation File d’attente •Lecture de la file d’indexation (+/- 60 secondes) 1 Machine d’indexation •Indexation (+/- 2minutes) 4 Machines d’interrogation •Réplication (+/- 30 secondes)
  • 8.
  • 9.
  • 10.
    • Types dedépôts par instance • Métadonnées par type de dépôt • Données de type liste fermée • Données de type complexes QUE CONTIENNENT LES RÉFÉRENTIELS ?
  • 11.
    • Tous lesmodèles de données sont accessibles via l’API • api.archives-ouvertes.fr/ref/referentiel • Format de réponse SOLR (like) • <reponse> • <result …> • Les formats de sortie json ou xml RECHERCHE
  • 12.
  • 13.
    DOCTYPE : TYPESDE DOCUEMENTS Exemple : Types de document acceptés sur TEL ( instance_s=tel )
  • 14.
    MÉTADONNEES PAR TYPEDE DOCUMENT Métadonnées du portail univ-avignon pour le type de document ART (article)
  • 15.
    Listes de métadonnées+ nombre de valeurs disponibles LISTE DES MÉTADONNÉES DE TYPE LISTE FERMÉE Métadonnée audience = 3 valeurs possibles
  • 16.
    LISTE DES MÉTADONNÉESDE TYPE LISTE FERMÉE Obtenir les valeurs possibles pour la métadonnée audience ( metaName_s:audience )
  • 17.
  • 18.
  • 19.
    • Définition deStructure • Ensemble de métadonnées propres • Type : • Institution • Laboratoire • Département • Equipe • Nom • …Adresse • Relation avec d’autres structures STRUCTURE
  • 20.
    REPRÉSENTATION D’UN ENSEMBLEDE STRUCTURES Institution Laboratoire Département Équipe Équipe Laboratoire Département Laboratoire Toutes les structures doivent être affiliées à au moins une structure Sauf celles de type Institution
  • 21.
  • 22.
  • 23.
    API STRUCTURE :EXEMPLE AU FORMAT JSON https://api.archives-ouvertes.fr/ref/structure/?q=docid:88070&fl=*_s
  • 24.
    2- API DOCUMENTSDE HAL HTTPS://API.ARCHIVES-OUVERTES.FR/DOCS/SEARCH
  • 25.
    • Tous lesdépôts de HAL en ligne • +/- toutes les métadonnées d’un dépôt sous différentes formes • + version des métas aux formats : • Bibtex • XML-TEI • COinS • Endnote • Texte intégral indexé mais pas stocké CONTENU API DE RECHERCHE HAL 25
  • 26.
    CONTENU API DERECHERCHE HAL Exemple de métadonnées renvoyées par l’API de recherche HAL au format XML 26
  • 27.
    RECHERCHE DANS HAL Typesde métadonnées accessibles 27 Type Usage prévu Indexées recherche Stockées affichage Facettes listes de valeurs Tri pas de champs multivalués
  • 28.
    API RECHERCHE –TYPES DE CHAMPS http://api.archives-ouvertes.fr/docs/search/schema/field-types
  • 29.
    API RECHERCHE –EXEMPLES DE CHAMPS http://api.archives-ouvertes.fr/docs/search/schema/fields/#fields
  • 30.
    • Pré-requis clienthttp (navigateur web, cURL, bilbiothèque logicielle, ...) • Point d’entrée pour les documents de HAL : http://api.archives-ouvertes.fr/search/ API RECHERCHE - REQUÊTES 30
  • 31.
    • Point d’entréepour un portail : http://api.archives-ouvertes.fr/search/<instance> • Exemple : • http://api.archives-ouvertes.fr/search/univ-tln/ • NB : Dans le cas d’un portail/instance, si un dépôt a plusieurs versions, on ne trouve que la dernière. API RECHERCHE - REQUÊTES 31
  • 32.
    • Point d’entréepour une collection : http://api.archives-ouvertes.fr/search/<TAMPON> • Exemple : • https://api.archives-ouvertes.fr/search/CRESSON • NB : Dans le cas d’une collection, si un dépôt a plusieurs versions, on ne voit que la version tamponnée API RECHERCHE - REQUÊTES 32
  • 33.
    Nom paramètre/usage Descriptionexemple Valeur par défaut q Requête de recherche q=exemple * :* Chercher dans un champ NomDuChamp:valeur q=title_t:test q=title_t:(printemps OR spring) text wt Format de réponse wt=xml Json Equation de recherche Termes + opérateurs booléens avec des paranthèses Journal AND (Histoire OR History) Intervalles Recherche d'intervalles submittedDateY_i:[2000 TO *] Opérateur booléens AND OR NOT + - && || AND fq Filtres fq=submitType_s:file rows Nombre de résultats rows=5 30 start Décalage des résultats start=10 0 fl Champs à retourner fl=auth*,docid,label_s docid,label_s sort Tri : nom du champ + asc ou desc sort=submittedDateY_i desc score facet Construire des facettes facet=true false facet.field Un champ pour faire des facettes facet.field=docType_s facet.mincount Nombre minimum de valeurs pour retourner une facette facet.mincount=1 0 facet.sort Tri des facettes [count ou index] facet.sort=index count PRINCIPAUX PARAMÈTRES Valeurs + paramètres sensibles à la casse
  • 34.
  • 35.
    Exemples en lignede requêtes sur l’API de recherche HAL : Base de connaissance de HAL : https://wiki.ccsd.cnrs.fr/wikis/hal/ Documentation API Recherche HAL : https://api.archives-ouvertes. fr/docs/search