L'API institutionnelle Thésaurus INRAE
Le Thésaurus INRAE est exposé via la Plateforme d’Intégration (ou PADRE) comme d’autres référentiels institutionnels (Structures, Agents, Infrastructures de recherche…). Cette page présente les services accessibles aux agents INRAE qui souhaitent utiliser le Thésaurus INRAE comme référentiel thématique dans un système d’information ou dans une application. Des liens vers la documentation technique sont également indiqués.
Sommaire
Accès au service
L’accès aux API de la Plateforme d’Intégration est réservée aux applications INRAE et nécessite la création d’un compte utilisateur. Voir le lien ci-contre pour en faire la demande.
Qu'est-ce que la Plateforme d'intégration (PADRE) ?
Ce service de la DSI vise à permettre à vos applications ou processus informatiques d’intégrer les données référentielles du système d’information institutionnel par différents mécanismes et protocoles tels que :
- des API REST. Cela permet la récupération de données à la demande tout en diminuant la saisie d’information dans votre application. Vous connaissez peut-être ce service sous le nom de PADRE (Plateforme d’Acquisition des Données Référentielle d’Exposition);
- des Web services SOAP (protocole standard) ;
- des flux / fichiers de données délivrés régulièrement. Ils sont une représentation statique de données extraites d’un système d’information ;
- des évènements. Ce sont des Messages d’informations en temps réel sur des données de références.
La Plateforme d’intégration assure un haut niveau de disponibilité des ressources exposées. Consultez le catalogue (en intranet) pour voir les référentiels disponibles.
Pour plus d’informations sur la Plateforme d’intégration, voir la documentation technique générique et la section dans Ariane.
Origine des données exposées
L’API expose les données issues de la version courante du Thésaurus INRAE, le référentiel thématique d’INRAE.
C’est une liste structurée de plus de 16 000 concepts, représentés linguistiquement par des termes (100% français, 97% anglais), et reliés par des relations sémantiques (générique-spécifique; association). Ils peuvent avoir une définition et des relations d’équivalence vers des concepts d’autres référentiels publics (thésaurus et ontologies).
Les concepts sont organisés au sein de 62 micro-thésaurus couvrant les domaines d’intérêt de l’institut. Ils peuvent aussi être présentés au sein de groupes (ou collections). Le Thésaurus INRAE est représenté dans le modèle standard SKOS (W3C).
Services disponibles
Actuellement, l’API Thésaurus offre les services qui permettent de :
- récupérer l’ensemble des concepts du Thésaurus INRAE
- chercher un ou plusieurs concepts en indiquant une chaîne de caractères (éventuellement plusieurs)
- distinguer les concepts actifs (ou valides) des concepts inactifs (dits obsolètes ou dépréciés)
- récupérer l’ensemble d’un ou plusieurs microthésaurus
- récupérer l’ensemble d’un ou plusieurs groupes (aussi appelés collections)
Trois ensembles de requêtes sont proposés pour cibler les concepts, les microthésaurus ou les groupes :
Retourne les informations détaillées de tous les concepts correspondant aux filtres de recherche passés en paramètres. /concepts/actifs ne renvoie que les concepts valides et /concepts/inactifs que les concepts obsolètes.
Filtres
- label : sur les termes (prefLabel, altLabel et hiddenLabel en SKOS) des concepts. Il est possible d’indiquer plusieurs chaînes de recherche en utilisant plusieurs fois ce paramètre. Ex. :
/concepts?label=abeille&label=prairie&label=...Il renverra les concepts ayant un terme contenant « abeille » OU « prairie » ;
Le label peut aussi être recherché avec un joker ( * ) en début, au milieu ou à la fin de la chaîne recherchée. Par exemple, pour recherche les termes finissant par « plant » comme « eggplant » ou « refrigerating plant » :/concepts?label=*plant.
La recherche est insensible à la casse, aux accents et fonctionne avec un minimum 3 caractères ; - limit : Nombre d’éléments à retourner par la requête. La valeur est un nombre entier positif (10 par défaut, 500 maximum) ;
- offset : Indice de l’élément de départ dans la collection. Cette indice permet de naviguer dans les résultats lorsque la réponse est composée de plusieurs pages contenant une réponse partielle. La valeur est un nombre entier positif (0 par défaut).
Informations renvoyées
- uri : Identifiant du concept ;
- deprecated : Spécifie si le concept est actif (false) ou inactif (true) ;
- topConceptOf : Microthésaurus et thésaurus pour lesquels le concept est situé au 1er niveau de la hiérarchie ;
- conceptScheme : Microthésaurus et thésaurus auxquels appartient le concept ;
- prefLabel : Etiquette lexicale préférentielle du concept dans une langue donnée ;
- altLabel : Etiquette lexicale alternative (synonyme) du concept ;
- hiddenLabel : Etiquette lexicale cachée, utilisée par le système lors d’opérations de recherche textuelle libre (libellés potentiellement mal orthographiés) afin que l’utilisateur puisse trouver le bon concept, mais qui doit être masquée à l’utilisateur ;
- narrower : Lien hiérarchique vers un concept plus spécifique ;
- broader : Lien hiérarchique vers un concept plus générique ;
- definition : Explication formelle d’un concept dans une langue donnée. La source de la définition est indiquée dans un élément « source » ;
- collection : Groupes nommés de concepts pouvant appartenir à des microthésaurus différents ;
- exactMatch : Identifiant d’une ressource externe au thésaurus, par exemple l’uri d’un concept défini dans un autre thésaurus. La propriété « exactMatch » indique une équivalence entre les 2 ressources, i.e. qu’elles peuvent être utilisés de façon interchangeable dans une large majorité d’applications de recherche d’informations.
Pour plus de détails, consulter la documentation et le modèle de données dans la Console API sur le Plateforme d’intégration.
Retourne les informations détaillées de tous les microthésaurus correspondant aux filtres de recherche passés en paramètres. /microthesaurus/actifs ne renvoie que les microthésaurus valides et /microthesaurus/inactifs que les microthésaurus obsolètes.
Filtres
- uri : Identifiant du ou des microthésaurus à interroger ;
- label : sur les noms (prefLabel, altLabel et hiddenLabel en SKOS) des microthésaurus. Il est possible d’indiquer plusieurs chaînes de recherche en utilisant plusieurs fois ce paramètre. Ex. :
/microthésaurus?label=génétique&label=génomique&label=...Il renverra les microthésaurus ayant un nom contenant « génétique » OU « génomique » ;
Le nom peut aussi être recherché avec un joker ( * ) en début, au milieu ou à la fin de la chaîne recherchée. Par exemple, pour recherche les noms commençant par « bio » comme « biologie » ou « biologie cellulaire » :/microthésaurus?label=bio*.
La recherche est insensible à la casse, aux accents et fonctionne avec un minimum 3 caractères ; - lang : Permet de rechercher le ou les label(s) demandé(s) ci-dessus uniquement dans la ou les langue(s) spécifiée(s) ici.
- limit : Nombre d’éléments à retourner par la requête. La valeur est un nombre entier positif (10 par défaut, 500 maximum) ;
- offset : Indice de l’élément de départ dans la collection. Cette indice permet de naviguer dans les résultats lorsque la réponse est composée de plusieurs pages contenant une réponse partielle. La valeur est un nombre entier positif (0 par défaut).
Informations renvoyées
- uri : Identifiant du ou des microthésaurus ;
- deprecated : Spécifie si le microthésaurus est actif (false) ou inactif (true) ;
- modified : date de dernière mise à jour du microthésaurus
- isPartOf : URI du thésaurus d’appartenance
- domain : URI et nom du domaine d’appartenance du microthésaurus
- prefLabel : Etiquette lexicale préférentielle du microthésaurus dans une langue donnée ;
- hasTopConcepts : URI et informations des concepts de 1er niveau du microthésaurus. Cette donnée est généralement exploitée par les outils d’affichage des thésaurus pour construire la hiérarchie des concepts de manière descendante.
Pour plus de détails, consulter la documentation et le modèle de données dans la Console API sur le Plateforme d’intégration.
Retourne les informations détaillées de tous les groupes (aussi appelés collections dans le standard SKOS) correspondant aux filtres de recherche passés en paramètres. /groupes/actifs ne renvoie que les groupes valides et /groupes/inactifs que les groupes obsolètes.
Filtres
- uri : Identifiant du ou des groupes à interroger ;
- label : sur les noms (prefLabel, altLabel et hiddenLabel en SKOS) des groupes. Il est possible d’indiquer plusieurs chaînes de recherche en utilisant plusieurs fois ce paramètre. Ex. :
/groupes?label=*alignes&label=*gemet&label=...Il renverra les groupes ayant un nom contenant « alignes » OU « gemet ». Le nom peut aussi être recherché avec un joker ( * ) en début, au milieu ou à la fin de la chaîne recherchée. La recherche est insensible à la casse, aux accents et fonctionne avec un minimum 3 caractères ; - lang : Permet de rechercher le ou les label(s) demandé(s) ci-dessus uniquement dans la ou les langue(s) spécifiée(s) ici.
- limit : Nombre d’éléments à retourner par la requête. La valeur est un nombre entier positif (10 par défaut, 500 maximum) ;
- offset : Indice de l’élément de départ dans la collection. Cette indice permet de naviguer dans les résultats lorsque la réponse est composée de plusieurs pages contenant une réponse partielle. La valeur est un nombre entier positif (0 par défaut).
Informations renvoyées
- uri : Identifiant du ou des groupes;
- prefLabel : Etiquette lexicale préférentielle du groupe dans une langue donnée ;
- deprecated : Spécifie si le groupe est actif (false) ou inactif (true) ;
- modified : date de dernière mise à jour du groupe
- concepts : liste des concepts contenus dans le groupe avec leurs informations
- groups : URI et nom des sous-groupes qu’il contient
- notes : texte descriptif du groupe dans chaque langue disponible
Pour plus de détails, consulter la documentation et le modèle de données dans la Console API sur le Plateforme d’intégration.
Dans quels cas utiliser l’API Thésaurus INRAE
L’API a pour vocation de répondre à différents besoins :
- alimenter un système d’information faisant par ailleurs appel à d’autres référentiels institutionnels via la plateforme d’intégration (ex: Agents, Structures, ANSCI…)
- alimenter un module d’indexation permettant à l’utilisateur de rechercher le ou les concepts pertinents pour annoter un document, un jeu de données… Dans ce cas, utiliser /concepts/actifs pour que seuls les concepts non dépréciés soient proposés aux utilisateurs.
- à partir d’une liste de termes enregistrés dans un tableur Excel et de la fonction =SERVICEWEB(), vérifier leur présence dans le thésaurus et récupérer les identifiants des concepts correspondants le cas échéant. Dans ce cas, on voudra interroger tous les concepts, y compris ceux qui sont inactifs (obsolètes). Utiliser /concepts
- récupérer le contenu d’un microthésaurus ou d’un groupe (plus simple que dans l’API skosmos ou celle d’AgroPortal)
Autres API pour travailler avec le Thésaurus INRAE
Si vous n’avez pas accès à PADRE, les utilisateurs hors INRAE notamment, une API publique Swagger est disponible sur le portail de consultation. Une autre API publique sur AgroPortal permet d’interroger le Thésaurus INRAE seul ou combiné à d’autres thésaurus ou ontologies.
Sophie Aubin
Anne-Sophie Martel, Eric Cahuzac, Nicolas Raidelet, Denis Gonzalez

