CasuHAL AtelierAPI
Sommaire
Support libre pour l'atelier API des journées CasuHAL 2018
Hélène Jouguet
Eléments de language
- C’est un accès aux données.
- C’est une source de donnée qui est exposée de manière à être re-exploitée par des tiers.
- C’est prendre la main sur les données afin de les organiser et les agencer autrement que sur l’interface standard.
- C’est enrichir son site avec des données
- API ou Webservices qui permettent d'extraire ou d'afficher une information du catalogue à partir d'une URL contenant des critères de recherche. (exemple Le Sudoc met diverses API à la disposition des systèmes locaux pour intégrer à la volée aux fonctions locales des données du système central.)
- Les portails HAL sont une façon d'accéder au réservoir de données qu’est HAL
- l'API donne accès à la base de données : c'est donc logiquement l'accès le plus complet possible (contrairement au site web qui ne permet à l'usager de ne faire que ce qui a été prévu)
- Pour utiliser une API il faut connaître la structure des données, c’est pour ça qu’elles sont toujours accompagnées d’une documentation
- Les formats de données = Json (Utile d'installer Json view dans son navigateur)
- Sparql Endpoint : https://api.archives-ouvertes.fr/sparql
Démos
Isidore Istex Sudoc Abes
Déconstruction de requêtes
URL d'entrée
+
critère : ?q=valeur OU ?q=champ:valeur / Séparateur &
+
filtre : fq=champ:valeur / séparateur &
+
retour : fl=champ / séparateur ,
les filtres sont sur des listes fermées :
un peu de compulsion de la doc
- 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*
recherche de publis
https://api.archives-ouvertes.fr/search/?fq=labStructId_i:186732&fq=submittedDate_tdate:[* TO NOW]&fq=docType_s:ART&fl=halId_s&fl=docid&fl=contributorFullName_s&fl=title_s&fl=language_s&fl=docType_s&fl=submittedDate_s&fl=producedDateY_i&fl=journalTitle_s&fl=issue_s&fl=volume_s&fl=page_s&fl=doiId_s&fl=audience_s&fl=comment_s&fl=authLastNameFirstName_s&fl=rteamStructAcronym_s&fl=authId_i&fl=abstract_s&rows=200&wt=xml
requête de recherche : ?fq puis &fl puis rows et enfin wt
labstructid = polen (univ orleans)
date : * to now
NumFound = <result name="response" numFound="146" start="0">