Dans le précédent billet, nous avons présenté une requête SPARQL permettant de dénombrer des objets appartenant à un même graphe (ou jeux de données).
Ici, nous nous attarderons à construire une requête portant sur deux graphes différents.
Pour cela, nous analyserons la répartition des catégories inist pour le content type « papier de recherche »@fr ; les résultats seront donnés en nombre de documents .
En langage SPARQL, cela se traduit par :
SELECT (count (?docistex) as ?totaldocistex) ?catinist
where
{
?docistex <https://data.istex.fr/ontology/istex#contentType> ?conttype.
?conttype <http://www.w3.org/2004/02/skos/core#altLabel> « papier de recherche »@fr.
?docistex <https://data.istex.fr/ontology/istex#subjectInist> ?subjectInist.
?subjectInist <http://www.w3.org/2004/02/skos/core#prefLabel> ?catinist.
filter (lang(?catinist)= »fr »)
}
order by desc (?totaldocistex)
La clause select mentionne que nous comptons les documents ISTEX (?docistex), et que nous souhaitons afficher les variables ?catinist et ?totaldocistex.
La clause where est construite de la manière suivante :
nous sommes partis de la requête précédente (pour déterminer les document ISTEX « possédant » le type de contenu “papier de recherche”, puis nous l’avons complété avec les deux triplets :
?docinist <https://data.istex.fr/ontology/istex#subjectInist> ?subjectInist.
?subjectInist <http://www.w3.org/2004/02/skos/core#prefLabel> ?catinist.
Ces deux triplets, permettent de retenir les documents ISTEX «possédant» une catégorie inist et un label préférentiel. Pour ce dernier, nous avons précisé qu’il devait être en français (filter(lang(?catinist)= »fr »).
Pour une facilité de lecture, nous classons par ordre décroissant le nombre total de document istex (order by desc (?totaldocistex).
Pour accéder au résultat de la requête, nous vous invitons à cliquer ICI
Besoin d'aide ?
Consultez notre Faq, la documentation Istex ou nos tutoriels
N’hésitez pas à nous contacter si besoin, nous reviendrons rapidement vers vous !