Requêtes sur les ressources de HAL
Sommaire
- 1 Remarques générales
- 2 Requêtes simples pour récupérer des listes
- 2.1 Liste des dépôts d'une institution ou d'un regroupement
- 2.2 Export des 50 derniers dépôts faits dans une collection par date de publication descendante
- 2.3 Export des 50 derniers dépôts faits dans une collection par date de dépôt descendante
- 2.4 Flux rss des dépôts faits dans une collection depuis 1 mois
- 2.5 Flux rss des 3 derniers dépôts avec texte intégral
- 2.6 Liste des thèses d'une institution
- 3 Requêtes d'analyse du contenu par type de documents
- 3.1 Connaître le cumul des dépôts de sa collection répartis par type de document
- 3.2 Connaître le nombre total de dépôt année par année dans sa collection. Et pour chaque année la répartition des dépôts par type de document
- 3.3 Connaître le nombre de dépôt pour une année donnée dans sa collection présenté par type de documents
- 3.4 Méthode pour repérer les types d'artciles (extractions HCERES)
- 4 Requêtes d'analyse du contenu par domaine
- 5 Requêtes d'analyse du contenu des revues (journal)
- 6 Requêtes d'analyse de ses structures
- 7 Requêtes d'analyse des contributions
- 8 Requêtes d'analyse des auteurs
- 9 Requêtes
- 9.1 Nombre de publications scientifiques hors vulgarisation des auteurs d'une collection et d'un laboratoire spécifique par année universitaire de publication (2015-2016) en affichant uniquement les auteurs affiliés au laboratoire demandé et non pas tous les auteurs présents dans la collection
- 9.2 Liste des dépôts effectués dans un portail X mais non affiliés à une structure de la collection XX
- 9.3 Liste des auteurs ayant un dépôt ou plusieurs affilié à une structure ayant créé leur CV HAL
- 9.4 Liste des publications d'un auteur à partir de son idhal
- 9.5 Recherches et extractions de structures
Remarques générales
Les champs retournés par défaut sont docid, label_s et uri_s
Les résultats sont limités à 30 lignes par défaut
Le format de retour par défaut est JSON (installer un visualiseur json dans son navigateur)
Les requêtes ci-dessous sont toutes appliquées à une collection (ou un portail), on peut donc changer cet identifiant pour appliquer la requête à son contexte
Requêtes simples pour récupérer des listes
Liste des dépôts d'une institution ou d'un regroupement
Dans ce cas on utilise simplement l'identifiant de l'institution. Dans Auréhal le niveau regroupement existe : https://doc.archives-ouvertes.fr/gerer-un-portail/referentiels/structures-de-recherche/.
La configuration du regroupement se fait donc dans Auréhal
Exemple pour le regroupement Comue Paris-Est (https://aurehal.archives-ouvertes.fr/structure/read/id/303512)
https://api.archives-ouvertes.fr/search/?q=structId_i:303512
Export des 50 derniers dépôts faits dans une collection par date de publication descendante
le filtre de tri est producedDate_tdate = date de publication
https://api.archives-ouvertes.fr/search/SIC/?q=*:*&rows=50&wt=csv&sort=producedDate_tdate%20desc
Cette requête rapporte 50 résultats dans un export CSV
Si on fait la requête au format xml on voit le numreponse à 6122 => si on veut tout voir on peut mettre rows=6200.
Export des 50 derniers dépôts faits dans une collection par date de dépôt descendante
le filtre de tri est submittedDate_s = date de dépôt
https://api.archives-ouvertes.fr/search/SIC/?q=*:*&rows=100&wt=csv&fl=submittedDate_s,producedDate_s,label_s&sort=submittedDate_s%20desc
Flux rss des dépôts faits dans une collection depuis 1 mois
Pour avoir la sortie sous la forme d'un flux RSS il faut indiquer wt=rss
https://api.archives-ouvertes.fr/search/hal/?q=collCode_s:UNIV-ORLEANS&fq=releasedDate_tdate:[NOW%2FDAY-1MONTH+TO+NOW%2FDAY%2B1DAY]&fq=&rows=30&sort=submittedDate_tdate+desc&wt=rss
le champ rows indique le nombre de résultat qu'on souhaite récupérer (30 ici)
Flux rss des 3 derniers dépôts avec texte intégral
https://api.archives-ouvertes.fr/search/pasteur/?wt=rss&q=*&sort=submittedDate_tdate+desc&fq=producedDate_tdate:[NOW-1YEARS%20TO%20NOW]&fq=submitType_s:file&fq=collCode_s%3APASTEUR&fq=NOT+status_i%3A111&rows=3
Dans le champ date, on récupère les 12 derniers mois (de moins 1 an à aujourd'hui) et on limite à 3 résultats (rows=3)
Liste des thèses d'une institution
http://api.archives-ouvertes.fr/search/?q=docType_s:THESE%20AND%20authorityInstitution_s:%22Université%20d'Orléans%22&wt=csv&sort=producedDate_s%20desc&rows=2000&fl=halId_s,defenseDate_s,authFullName_s,thesisSchool_s,labStructAcronym_s,instStructAcronym_s,title_s,label_s
la liste des champs exportés est : halId_s,defenseDate_s,authFullName_s,thesisSchool_s,labStructAcronym_s,instStructAcronym_s,title_s,label_s
changer rows=2000 pour le nombre de réponses
Il faut indiquer le champ "authorityInstitution_s" : trouver le bon intitulé dans https://api.archives-ouvertes.fr/search/?q=*%3A*&rows=0&wt=xml&indent=true&facet=true&facet.field=authorityInstitution_s
Requêtes d'analyse du contenu par type de documents
Connaître le cumul des dépôts de sa collection répartis par type de document
Requête à facette affichant une collection, le nombre d’occurrence par type de document
https://api.archives-ouvertes.fr/search/?q=*&fq=collCode_s:UNIV-ORLEANS&fq=NOT+status_i%3A111&start=0&rows=0&omitHeader=true&facet.mincount=1&facet.limit=10000&facet=true&facet.field=docType_s&facet.sort=count
Les cumuls sont calculés depuis 2011.
liste des types de documents dans HAL (41 en tout) : https://api.archives-ouvertes.fr/ref/doctype
Connaître le nombre total de dépôt année par année dans sa collection. Et pour chaque année la répartition des dépôts par type de document
Requête affichant le nombre de dépôt par année de publication
https://api.archives-ouvertes.fr/search/UNIV-ORLEANS/?q=*:*&wt=xml&rows=0&facet=true&facet.pivot=submittedDateY_i,submitType_s,docType_s
Pour chaque année l'arbre xml affiche le nombre total de dépôt, puis l’élément pivot détaille le contenu annuel type de document par type de document.
Connaître le nombre de dépôt pour une année donnée dans sa collection présenté par type de documents
https://api.archives-ouvertes.fr/search/univ-orleans/?q=*:*&rows=0&fq=submittedDateY_i:2019&facet=true&facet.field=docType_s&wt=xml
Méthode pour repérer les types d'artciles (extractions HCERES)
Article du blog Carnet'IST. Proposition de requêtes sur le site web HAL pour distinguer, entre autres, les 4 types d’articles suivants : ACL; ACLN, ACSL, AV ou TRANSF
http://carnetist.hypotheses.org/240
Requêtes d'analyse du contenu par domaine
Connaître le cumul des dépôts de sa collection répartis par domaines
Requête affichant le nombre de notice par domaine pour sa collection
https://api.archives-ouvertes.fr/search/UNIV-ORLEANS/?q=%2A&fq=NOT+status_i%3A111&start=0&rows=0&wt=phps&omitHeader=true&facet.mincount=1&facet.limit=10000&facet=true&facet.field=level0_domain_s&facet.sort=count
Liste des domaines de HAL (393 en mai 2019) : http://api.archives-ouvertes.fr/ref/domain/?q=*:*&rows=400
Requêtes d'analyse du contenu des revues (journal)
Connaître le nombre d'articles déposés par titre de revue dans sa collection
La requête affiche pour chaque revue le nombre d'articles déposés dans la collection HAL.
https://api.archives-ouvertes.fr/search/?q=*&fq=collCode_s:UNIV-ORLEANS&fq=NOT+status_i%3A111&start=0&rows=0&omitHeader=true&facet.mincount=1&facet.limit=10000&facet=true&facet.field=journalTitle_s&facet.sort=count
Le cumul est calculé depuis 2011 et ne concerne que le type "articles".
Requêtes d'analyse de ses structures
Liste des structures affiliées à une institution et pas à une autre
Il s'agit par exemple de récupérer la liste des laboratoires attachés à l'université de Nancy et pas à l'université de Lorraine
https://api.archives-ouvertes.fr/ref/structure/?fq=(parentDocid_i:300292%20AND%20NOT(parentDocid_i:413289))&fl=docid,name_s&wt=csv
Pour cette requêtes il faut récupérer dans Auréhal structure les identifiants des 2 structures à analyser
Requêtes d'analyse des contributions
Nombre de dépôt par contributeur dans un portail, classés par année de dépôt
Requête à facette affichant par année, la liste des contributeurs déposant et le nombre de dépôt associé à chaque contributeur
https://api.archives-ouvertes.fr/search/univ-orleans/?q=*:*&facet=true&facet.pivot=submittedDateY_i,contributorFullName_s&rows=0&wt=xml&facet.limit=1000
Requêtes d'analyse des auteurs
Liste des auteurs dont une publication au moins est affiliée à une structure avec indication de leur IDHAL ou de l'absence d'IDHAL
Requête à facette listant les auteurs affiliés par un ou plusieurs dépôt à une structure
https://api.archives-ouvertes.fr/search/?q=*:*&rows=0&wt=xml&facet=true&facet.query=structHasAuthIdHal_fs&facet.field=structHasAuthIdHal_fs&facet.prefix=129439_FacetSep_&facet.mincount=1&facet.limit=1000
ou
https://api.archives-ouvertes.fr/search/?q=*:*&rows=0&facet=true&facet.field=structHasAuthIdHal_fs&facet.prefix=226306_&wt=xml
Le champ facet.prefix indique l'identifiant de la structure d'affiliation voulue (à trouver dans Aurehal structure)
https://api.archives-ouvertes.fr/search/?q=*:*&rows=0&facet=true&facet.field=structHasAuthIdHal_fs&facet.prefix=245758_&wt=xml&fq=structId_i:245758
Pour ceux qui ont un idhal la chaine le représentant est entre _JoinSep_ et _FacetSep_
- Exemple avec Idhal : 226306_FacetSep_Maison des Sciences de l'Homme de Dijon_JoinSep_lsaligny_FacetSep_Saligny Laure
- Exemple sans Idhal : 226306_FacetSep_Maison des Sciences de l'Homme de Dijon_JoinSep__FacetSep_Alazard Céline
Requêtes
Nombre de publications scientifiques hors vulgarisation des auteurs d'une collection et d'un laboratoire spécifique par année universitaire de publication (2015-2016) en affichant uniquement les auteurs affiliés au laboratoire demandé et non pas tous les auteurs présents dans la collection
Requête indiquant le nombre de publications scientifiques par auteurs affiliés à une structure spécifique (&fq=authStructId_i:54305 et &facet.field=authIdHasPrimaryStructure_fs&facet.contains=_JoinSep_54305_FacetSep), pour une année universitaire donnée (&fq=producedDate_tdate:), hors vulgarisation (&fq=popularLevel_s:0)
https://api.archives-ouvertes.fr/search/UNIV-REUNION/?q=collection_t:LIM&fq=authStructId_i:54305&fq=popularLevel_s:0&fq=producedDate_tdate:[2015-07-31T00:00:00Z%20TO%202016-07-31T00:00:00Z]&rows=0&indent=true&facet=true&sort=producedDate_tdate%20asc&facet.field=authIdHasPrimaryStructure_fs&facet.contains=_JoinSep_54305_FacetSep&wt=xml
Objectif de la requête | Requête et exemple | Champs à remplacer |
---|---|---|
Liste des dépôts par labo d'une université (et uniquement des labos affiliés à l'université), par année de dépôt et par type de document déposé | Il s'agit de l'intitulé de la requête tel que formulé par le GT5 : à mon avis il n'est pas possible d'avoir tous ces résultats dans un seul export, je remplace par (voir ligne suivante) :
nombre de dépôts pour un laboratoire ou une collection pour une année par type de document Si on veut une liste : quels champs on veut ? (titre/auteur de chaque publi ?) |
|
Liste des dépôts pour une plage entre 2 années d'une structure dont les labos sont en statut OLD Format : export CSV |
Requête : api.archives-ouvertes.fr/search/hal/?omitHeader=true&wt=csv&q=*&fq=instStructId_i:AAA&fq=labStructValid_s:OLD&fq=producedDateY_i:[BBB TO CCC] |
AAA = instStructId_i BBB = année de départ CCC = année de fin |
Liste des dépôts de texte intégral d'une institution pour une année Format : sortie XML |
Requête : api.archives-ouvertes.fr/search/hal/?omitHeader=true&wt=xml&q=*&fq=instStructId_i:AAA&fq=submittedDateY_i:BBB&facet=true&facet.mincount=1&facet.pivot.mincount=1&facet.limit=10000&facet.pivot=labStructName_s,submittedDateM_i&rows=0 | AAA = instStructId_i
|
Liste des dépôts effectués dans un portail X mais non affiliés à une structure de la collection XX
L'objectif est d'avoir les dépôts qui sont passés par un portail mais qui ne sont pas affiliés à une structure relevant de ce portail (des erreurs de dépôt)
https://api.archives-ouvertes.fr/search/amu/?q=structure_t:*%20NOT%20%28%22Universit%C3%A9%20de%20Provence%20-%20Aix-Marseille%20I%22%20OR%20%22Universit%C3%A9%20de%20la%20M%C3%A9diterran%C3%A9e%20-%20Aix-Marseille%20II%22%20OR%20%22Universit%C3%A9%20Paul%20C%C3%A9zanne%20-%20Aix-Marseille%20III%22%20OR%20%22Universit%C3%A9%20de%20Provence%20-%20Aix-Marseille%201%22%20OR%20%20%22Universit%C3%A9%20de%20la%20M%C3%A9diterran%C3%A9e%20-%20Aix-Marseille%202%22%20OR%20%20%22Universit%C3%A9%20Paul%20C%C3%A9zanne%20-%20Aix-Marseille%203%22%20OR%20%22Aix-Marseille%20Universit%C3%A9%20-%20AMU%22%20OR%20%20%22PRES%20Aix%20Marseille%20Universit%C3%A9%22%20OR%20%22Aix%20Marseille%20Universit%C3%A9%22%29&wt=xml&fl=uri_s
Changer le nom du portail et la liste des structures
Objectif de la requête | Requête et exemple | Champs à remplacer |
---|---|---|
Liste des identifiants des revues des notices non valides d'une collection Format : sortie XML |
Requête : api.archives-ouvertes.fr/search/AAA/?q=*&rows=0&wt=xml&fq=journalValid_s:INCOMING&facet=true&facet.field=journalId_i | AAA = l'identifiant de la collection |
Liste, triée par ordre de dépôt décroissante des dépôts, des articles publiées en revue, tamponnés par une collection, avec pour chacun la liste des auteurs, l'année de publication, le nom de la revue, ainsi que toutes les informations de RoMEO/SHERPA à propos de la politique éditoriale de la revue
Format : sortie XML |
Requête : api.archives-ouvertes.fr/search/?q=collCode_s:AAA%20AND%20docType_s:ART&wt=xml&sort=producedDate_s%20desc&rows=2000&fl=authFullName_s,journalTitle_s,submitType_s,journalSherpaColor_s,journalSherpaCondition_s,journalSherpaDate_s,journalSherpaPostPrint_s,journalSherpaPostRest_s,
journalSherpaPrePrint_s,journalSherpaPreRest_s,producedDateY_i [https://api.archives-ouvertes.fr/search/?q=collCode_s:3774%20AND%20docType_s:ART&wt=xml&sort=producedDate_s%20desc&rows=2000&fl=authFullName_s,journalTitle_s,submitType_s,journalSherpaColor_s,journalSherpaCondition_s,journalSherpaDate_s,journalSherpaPostPrint_s,journalSherpaPostRest_s, journalSherpaPrePrint_s,journalSherpaPreRest_s,producedDateY_i Exemple] |
AAA : collCode_s : identifiant de la collection |
Liste des auteurs ayant un dépôt ou plusieurs affilié à une structure ayant créé leur CV HAL
http://api.archives-ouvertes.fr/ref/author/?q=structureId_i:198056 AND hasCV_bool:true&rows=10000&sort=lastName_s%20asc&fl=idHal_s,idHal_i,lastName_s,firstName_s&wt=xml
Egalement possible sur le site Auréhal en indiquant dans le champ de recherche les valeurs de la requête :
Liste des publications d'un auteur à partir de son idhal
Aller sur le site web du portail : Entrer dans la recherche avancée de HAL la chaîne de caractère de l'idhal de l'auteur / champ IDHAL
Exporter le résultat (exporte l'ensemble des résultats) : formats d'exports = ceux proposés par HAL
Recherches et extractions de structures
Objectif de la requête | Requête et exemple | Champs à remplacer |
---|---|---|
Liste de toutes les structures qui dépendent d'une structure dont l'identifiant HAL est XXX | Requête : api.archives-ouvertes.fr/ref/structure/?wt=xml&q=parentDocid_i:%22AAA%22&rows=2000&fl=name_s,acronym_s,code_s,docid,address_s,url_s,country_s&sort=acronym_s%20asc | AAA : parentDocid_i |
Liste des dépôts par labo d'une université (et uniquement des labos affiliés à l'université), par année de publication et par type de document déposé | Il s'agit de l'intitulé de la requête tel que formulé par le GT5 : à mon avis il n'est pas possible d'avoir tous ces résultats dans un seul export, je remplace par (voir ligne suivante) : |
*Il faut au moins un paramètre dans l'URL pour faire une requête, ce paramètre est q
- Ce paramètre contient la requête à effectuer.
- Le paramètre doit être suivi du nom du champ dans lequel rechercher puis de la valeur à chercher.
- Si le nom du champ dans lequel chercher est omis, par défaut la recherche porte sur l'index text qui contient les valeurs de plusieurs champs.
- Pour chercher dans un champ particulier la syntaxe est champ:terme
- Pour chercher plusieurs champs, utiliser (terme1 terme2). L'opérateur booléen par défaut est AND
- Pour OR : Utiliser (terme1 OR terme2)
- Pour une phrase : Utiliser les guillemets doubles "phrase"
- Troncature ? * ~ proximité
//
- Le format de réponse par défaut est JSON
- Le format de réponse est spécifié par le paramètre wt : wt=json
- liste des formats dans la doc. Ajouter indent=true pour indenter le format de réponse.
//
- Par défaut seuls les champs docid et label_s sont retournés dans une réponse. Cependant tous les champs stockés peuvent être retournés dans le format de réponse
- Le paramètre pour choisir les champs à retourner est fl. Les champs demandés doivent être séparés par le signe ,
- Formats de sortie avec fl = JSON, XML et CSV uniquement
- On peut utiliser le caractère * comme troncature de nom de champ, eg fl=cha*
*fl=* signifie tous les champs possibles //
- Par défaut, les résultats sont triés par pertinence.
- Le tri des résultats peut se faire sur n'importe quel champ en évitant les champs de type text (suffixe "_t") et les champs multi-valués qui donneront des résultats imprévisibles.
- Le paramètre pour choisir les champs à retourner est sort + le sens de tri asc ou desc
//
- Le paramètre pour ajouter des filtres est fq suivi de la requête servant au filtre : fq=submitType_s:file
- Il est possible de faire des requêtes sur des intervalles avec cette syntaxe champ:[valeurDébut TO valeurFin]
- valeur maximale = * + doc pour les spécificités des calculs de dates
//
- Le nombre de réponses à retourner est définit par le paramètre rows .
- Le nombre total de dépôt/notices ne change pas avec ce paramètres, seul le nombre de résultats effectivement retournés varie.
- Par défaut les requêtes ne retournent que les 30 premiers résultats, le maximum autorisé est 10000. Si vous souhaitez plus de résultats vous devez utiliser la pagination.
- Le paramètre &rows=0 peut permettre de ne retourner que le nombre de résultats et d'enlever les documents du corps de la réponse. Vous pouvez par exemple utiliser ce paramètre à des fins de statistiques ou si vous voulez retourner uniquement des facettes.
//
- pagination : afficher 50 après les 50 1ers : start=50&rows=50
- Curseurs : si vous devez parcourir plusieurs milliers de résultats, pour des raisons de performance il est fortement recommandé d'utiliser les curseurs
//
- Les facettes sont des listes de termes extraits en fonction d'une requête.
- On peut les utiliser pour avoir une liste de valeurs distinctes sur un champ donné.
- Pour générer des facettes, il faut ajouter le paramètre facet=true à une requête.
- Il faut ensuite ajouter les champs avec lesquel construire les facettes avec le paramètre facet.field=NomDuChamp à une requête.
- facet.sort=index, count, prefix, contains (facet.contains.ignoreCase=true)
- Pivots
- plage de résultats
//
- Vous pouvez obtenir vos résultats de requêtes groupés selon un critère de votre choix, à condition que le critère soit représenté par un champ non multivalué et de type string.
Contenu Modèle:Boîte déroulante/fin