Ressources numériques en sciences humaines et sociales OpenEdition Nos plateformes OpenEdition Books OpenEdition Journals Hypothèses Calenda Bibliothèques OpenEdition Freemium Suivez-nous

Webservices

[english version]

Webservices REST

Opentheso à partir de la version 4.4.2 (Miled Rousset)

PS : https://pactols.frantiq.fr/opentheso/  est l’exemple du thésaurus PACTOLS de Frantiq.

Opentheso intègre désormais l’OpenAPI, pour voir le fonctionnement de l’API, vous avez un exemple ici : https://pactols.frantiq.fr/opentheso/openapi/doc/

La documentation ci-dessous est obsolète, elle a été remplacée par l’OpenAPI ci-dessus.

Recherche par Identifiant (Ark) avec précision du format

https://pactols.frantiq.fr/opentheso/api/26678/pcrtkOgxvd4Ijy.rdf
https://pactols.frantiq.fr/opentheso/api/26678/pcrtkOgxvd4Ijy.json
https://pactols.frantiq.fr/opentheso/api/26678/pcrtkOgxvd4Ijy.jsonld
https://pactols.frantiq.fr/opentheso/api/26678/pcrtkOgxvd4Ijy.ttl

Recherche par Identifiant (Handle) avec précision du format

https://pactols.frantiq.fr/opentheso/api/20.500.11859/26678.pcrtkOgxvd4Ijy.rdf
https://pactols.frantiq.fr/opentheso/api/20.500.11859/26678.pcrtkOgxvd4Ijy.json
https://pactols.frantiq.fr/opentheso/api/20.500.11859/26678.pcrtkOgxvd4Ijy.jsonld
https://pactols.frantiq.fr/opentheso/api/20.500.11859/26678.pcrtkOgxvd4Ijy.ttl

Recherche par l’identifiant du concept avec précision du format

https://pactols.frantiq.fr/opentheso/api/TH_1.13175.rdf
uri REST = https://pactols.frantiq.fr/opentheso/api/
id du thesaurus = TH_1
id du concept =  13175
format = rdf
formats valides : (.rdf), (.json), (.jsonld), (.ttl).

Recherche avec Curl en choisissant le header :

curl -L –header “Accept: application/rdf+xml” https://pactols.frantiq.fr/opentheso/api/26678/pcrtkOgxvd4Ijy
curl -L –header “Accept: application/json” https://pactols.frantiq.fr/opentheso/api/26678/pcrtkOgxvd4Ijy
curl -L –header “Accept: application/ld+json” https://pactols.frantiq.fr/opentheso/api/26678/pcrtkOgxvd4Ijy
curl -L –header “Accept: text/turtle” https://pactols.frantiq.fr/opentheso/api/26678/pcrtkOgxvd4Ijy
(valable aussi pour la recherche par l’identifiant du concept).

Récupération de la valeur prefLabel d’après un identifiant Ark

https://pactols.frantiq.fr/opentheso/api/preflabel.fr/20.500.11859/26678.pcrtkOgxvd4Ijy.json

preflabel.fr (.fr) désigne la langue à récupérer.

Recherche par valeur

curl -L –header “Accept: application/rdf+xml”
https://pactols.frantiq.fr/opentheso/api/search?q=amphore&lang=fr&theso=TH_1

Toutes ces commandes sont possibles pour le header
curl -L –header “Accept: application/rdf+xml »
curl -L –header “Accept: text/turtle »
curl -L –header “Accept: application/json »
curl -L –header “Accept: application/ld+json »
curl -L –header “Accept: application/json”
https://pactols.frantiq.fr/opentheso/api/search?q=amphore&lang=fr&theso=TH_1
curl -L –header “Accept: application/ld+json”
https://pactols.frantiq.fr/opentheso/api/search?q=archi&lang=fr&theso=TH_1
curl -L –header “Accept: text/turtle”  https://pactols.frantiq.fr/opentheso/api/search?q=archi&lang=fr&theso=TH_1

Recherche par notation

https://pactols.frantiq.fr/opentheso/api/search?q=notation:Guita1&theso=TH_1

On peut aussi obtenir les données dans un format spécifique en le précisant :

curl   https://pactols.frantiq.fr/opentheso/api/search?q=archi&lang=fr&theso=TH_1&format=jsonld
curl   https://pactols.frantiq.fr/opentheso/api/search?q=archi&lang=fr&theso=TH_1&format=json
curl  https://pactols.frantiq.fr/opentheso/api/search?q=archi&lang=fr&theso=TH_1&format=turtle
curl   https://pactols.frantiq.fr/opentheso/api/search?q=archi&lang=fr&theso=TH_1&format=rdf

On peut préciser la langue avec &lang=fr ou ne pas choisir de langue.

On peut aussi obtenir les données dans un format spécifique en le précisant :
curl   https://pactols.frantiq.fr/opentheso/api/search?q=archi&lang=fr&theso=TH_1&format=jsonld
curl   https://pactols.frantiq.fr/opentheso/api/search?q=archi&lang=fr&theso=TH_1&format=json
curl  https://pactols.frantiq.fr/opentheso/api/search?q=archi&lang=fr&theso=TH_1&format=turtle
curl   https://pactols.frantiq.fr/opentheso/api/search?q=archi&lang=fr&theso=TH_1&format=rdf
curl   https://pactols.frantiq.fr/opentheso/api/search?q=archi&theso=TH_1&format=rdf

On peut aussi filtrer par domaine/groupe/microthésaurus : &group=6
curl  https://pactols.frantiq.fr/opentheso/api/search?q=archi&theso=TH_1&lang=fr&group=6&format=rdf

Autocomplete

Permet de retourner les données sous forme de (id, valeur) en Json, ceci permet de faciliter la récupération des données pour des script d’indexation distant.

Requête avec précision de la langue

https://pactols.frantiq.fr/opentheso/api/autocomplete/arts?lang=fr&theso=TH_1

resultat =

0 
uri“https://ark.mom.fr/Arkeo/26678/pcrtkOgxvd4Ijy”
label“arts décoratifs”
1 
uri“https://ark.mom.fr/Arkeo/26678/pcrtGKMelLKwRd”
label“arts mineurs”
2 
uri“https://ark.mom.fr/Arkeo/26678/pcrt6YAjOsQDeM”
label“arts textiles”
3 
urihttps://ark.mom.fr/Arkeo/26678/pcrttq9gp2ZMuc”
label“Arts”
4 
uri“https://ark.mom.fr/Arkeo/26678/pcrtcSQ6O32f6k”
label“Artsakh”

 

Requête en incluant toutes les langues

https://pactols.frantiq.fr/opentheso/api/autocomplete/arts?theso=TH_1

resultat =

0 
uri“https://ark.mom.fr/Arkeo/26678/pcrtkOgxvd4Ijy”
label“arts décoratifs”
1 
uri“https://ark.mom.fr/Arkeo/26678/pcrtGKMelLKwRd”
label“arts mineurs”
2 
uri“https://ark.mom.fr/Arkeo/26678/pcrt6YAjOsQDeM”
label“arts textiles”
3 
uri“https://ark.mom.fr/Arkeo/26678/pcrtkOgxvd4Ijy”
label“decorative arts”
4 
uri“https://ark.mom.fr/Arkeo/26678/pcrtGKMelLKwRd”
label“minor arts”
5 
uri“https://ark.mom.fr/Arkeo/26678/pcrt6YAjOsQDeM”
label“textile arts”
6 
uri“https://ark.mom.fr/Arkeo/26678/pcrttq9gp2ZMuc”
label“Arts”
7 
uri“https://ark.mom.fr/Arkeo/26678/pcrtcSQ6O32f6k”
label“Artsakh”

Requête en précisant en plus le domaine ou microthésaurus ou groupe

https://pactols.frantiq.fr/opentheso/api/autocomplete/arts?theso=TH_1&group=6

Le résultat est obtenu en filtrant les concepts qui appartiennent uniquement au domaine qui est donné en paramètre.

Recherche par Groupe ou Domaine / Microthésaurus …

On peut chercher un Groupe en précisant son Identifiant Ark : https://pactols.frantiq.fr/opentheso/api/group/26678/pcrtnbDLi2FkAj

Toutes ces commandes sont possibles pour le header :
curl -L –header “Accept: application/rdf+xml »
curl -L –header “Accept: text/turtle »
curl -L –header “Accept: application/json »
curl -L –header “Accept: application/ld+json »

On peut chercher un Groupe en précisant son Identifiant interne : https://pactols.frantiq.fr/opentheso/api/group/?id=5&theso=TH_1

Informations

Fonctions avancées

Comment retrouver une branche complète par autopostage en partant d’un concept vers le top terme (la racine) : https://pactols.frantiq.fr/opentheso/api/expansion/concept?theso=TH_1&id=300&way=top

Comment retrouver une branche complète par autopostage en partant d’un concept vers le dernier terme spécifique (vers le bas) :

https://pactols.frantiq.fr/opentheso/api/expansion/concept?theso=TH_1&id=300&way=down 

Requête en récupérer toute une branche d’un Groupe en particulier :

Ex : pour récupérer la branche complète du gorupe « 2 » du thésaurus « TH_1 »
https://pactols.frantiq.fr/opentheso/api/all/group?id=2&theso=TH_1

En spécifiant le format de données :
https://pactols.frantiq.fr/opentheso/api/all/group?id=2&theso=TH_1&format=rdf
https://pactols.frantiq.fr/opentheso/api/all/group?id=2&theso=TH_1&format=json
https://pactols.frantiq.fr/opentheso/api/all/group?id=2&theso=TH_1&format=turtle
https://pactols.frantiq.fr/opentheso/api/all/group?id=2&theso=TH_1&format=jsonld

Informations

Le Webservices envoie une information liée à la hiérarchie du concept dans le thésaurus, si le concept récupéré est poly-hiérarchique (se trouve dans plusieurs branches), l’information est alors dupliquée, exemple pour le concept « 14990 » du thésaurus PACTOLS :
https://pactols.frantiq.fr/opentheso/api/TH_1.14990.rdf
TH_1
= identifiant du thésaurus
14990 = identifiant du concept

Donne le résultat :

<rdf:RDF>
<rdf:Description rdf:about=”https://ark.frantiq.fr/ark:/26678/pcrtbptj4SOA1W”>
<rdf:type rdf:resource=”http://www.w3.org/2004/02/skos/core#Concept”/>
<skos:prefLabel xml:lang=”it”>abitato</skos:prefLabel>
<skos:prefLabel xml:lang=”fr”>habitat</skos:prefLabel>
<skos:prefLabel xml:lang=”es”>hábitat</skos:prefLabel>
<skos:prefLabel xml:lang=”en”>settlement</skos:prefLabel>
<skos:prefLabel xml:lang=”de”>Siedlungswesen</skos:prefLabel>
<skos:prefLabel xml:lang=”nl”>woonplaats</skos:prefLabel>
<skos:prefLabel xml:lang=”ar”>سكن</skos:prefLabel>
<skos:altLabel xml:lang=”fr”>bâtiment domestique</skos:altLabel>
<skos:altLabel xml:lang=”it”>insediamento</skos:altLabel>
<skos:altLabel xml:lang=”fr”>structure d’habitat</skos:altLabel>
<skos:related rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtD2Eo6Sz7IY”/>
<skos:related rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtUu5zfknZ1x”/>
<skos:related rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrt9PJh9aTXv4″/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtsrlRWaly2K”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtqsNPWjGG9u”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtRFSvuXH6BD”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtERsRub9G3c”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtMVyOncjILc”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrthXosl9QxQ2″/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtSxe2PZMWR8″/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrterZpcqUSuG”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrt2f8QaSD6TS”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtaGBUR5Ekx1″/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtcnLd0ZlR3X”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtHe4IcZbXxI”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtQ9Tq9TeP3P”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtISZAuzsISK”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtT7xkUlGGbB”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtn0kjwckvyL”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtLEIWWX4Z3O”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/crtukWSYV7gtL”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtSmefwuwa97″/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrt5uHlswsQmN”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtVnWeKqGpcj”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtKfL11q1qOk”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrta8oqpcTSuo”/>
<skos:narrower rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtlEYVJzjAU6″/>
<skos:broader rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtWegewfItfX”/>
<skos:broader rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtDlzbGxWvTo”/>
<skos:inScheme rdf:resource=”https://pactols.frantiq.fr/opentheso/TH_1″/>
<opentheso:memberOf rdf:resource=”https://ark.frantiq.fr/ark:/26678/pcrtnbDLi2FkAj”/>
<dcterms:created rdf:datatype=”http://www.w3.org/2001/XMLSchema#date”>2007-02-08</dcterms:created>
<dcterms:modified rdf:datatype=”http://www.w3.org/2001/XMLSchema#date”>2014-06-25</dcterms:modified><dcterms:identifier>14990</dcterms:identifier><dcterms:description>13289##13290##13296##14990</dcterms:description><dcterms:description>13289##17634##14990</dcterms:description><skos:definition xml:lang=”fr”>Lieu d’habitation construit.</skos:definition></rdf:Description>
</rdf:RDF>


OpenEdition vous propose de citer ce billet de la manière suivante :
Emmanuelle Perrin (28 septembre 2020). Webservices. Opentheso. Consulté le 6 novembre 2024 à l’adresse https://doi.org/10.58079/sjjj


Vous aimerez aussi...

4 réponses

  1. Bonjour, quelle est l’API qui permet de télécharger le contenu d’un thesaurus en RDF/SKOS ?
    En fouillant j’ai trouvé dans https://github.com/miledrousset/Opentheso2/blob/master/src/main/resources/install/webservices.pdf un appel comme http://pactols.frantiq.fr/opentheso/api/all/theso?id=TH_1
    1. Pourquoi n’est-il pas documenté ici ?
    2. Pourquoi ne pas proposer un lien de téléchargement direct des données à l’utilisateur depuis l’interface à https://pactols.frantiq.fr/opentheso/ ? ca me semblerait bien FAIR.

    En l’occurrence pour le moment, http://pactols.frantiq.fr/opentheso/api/all/theso?id=TH_1 ne fonctionne pas et je suis incapable, en tant que réutilisateur potentiel, d’utiliser ces données dans mon système…

    Merci

    • Miled Rousset dit :

      Bonjour Thomas,
      Voici les réponses à tes questions :

      Bonjour, quelle est l’API qui permet de télécharger le contenu d’un thesaurus en RDF/SKOS ?
      En fouillant j’ai trouvé dans https://github.com/miledrousset/Opentheso2/blob/master/src/main/resources/install/webservices.pdf un appel comme http://pactols.frantiq.fr/opentheso/api/all/theso?id=TH_1
      1. Pourquoi n’est-il pas documenté ici ?

      Dans le paragraphe dédié à l’API sur le blog, la première ligne renvoie vers la dernière version qui est en ligne, sur le blog, on a mis que quelques fonctionnalités pour exemple.

      2. Pourquoi ne pas proposer un lien de téléchargement direct des données à l’utilisateur depuis l’interface à https://pactols.frantiq.fr/opentheso/ ? ca me semblerait bien FAIR.
      Les PACTOLS sont téléchargeables sur GitHub depuis plusieurs un moment déjà, voici le lien : https://github.com/frantiq/PACTOLS
      Je viens d’ajouter un lien sur l’interface de diffusion des PACTOLS, merci pour la suggestion.
      Le téléchargement direct et en temps réel est désactivé pour des rasions de protection du serveur, il ne faut pas que le serveur soit victime de téléchargement intempestifs …
      Les PACTOLS sont découpés par collection pour qu’ils soient facilement téléchargeables.

      En l’occurrence pour le moment, http://pactols.frantiq.fr/opentheso/api/all/theso?id=TH_1 ne fonctionne pas et je suis incapable, en tant que réutilisateur potentiel, d’utiliser ces données dans mon système…
      cette requête fonctionne bien sur des thésaurus de tailles normales, pour le cas des PACTOLS, c’est 60.000 concepts. l’appel de cette requête n’abouti pas parce que la session atteint le timeOut (qui est fixé pour la partie prod à 10 mn).

      N’hésites pas à m’écrire si tu as d’autres questions.
      Miled

  1. 06/09/2022

    […] Si, déjà, ce vocabulaire est partagé entre différents chantiers du projet LQM, il importait de pouvoir rendre accessible ce travail collégial, pour qu’il soit utile à la communauté scientifique. C’est pourquoi le Vodolin a été intégré à l’outil de thésaurus OpenTheso, hébergé par la TGIR Huma-num (France). De cette façon, chaque notion possède son identifiant stable au sein de cette architecture de données liées pouvant être mobilisées par l’API d’OpenTheso. […]

  2. 26/10/2022

    […] stable au sein de cette architecture de données liées pouvant être mobilisées par l’API d’OpenTheso. Deux projets de LQM incorporent déjà le Vodolin par l’API d’OpenTheso : le Catalogue des […]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.