Vous êtes ici : Accueil › SPARQL endpoint
› SPARQL Query Editor

Entrez votre requête SPARQL :



Format de sortie des résultats :



› Qu'est ce qu'un SPARQL endpoint ?

Un SPARQL endpoint est une interface web qui permet d'interroger de l'information numérique structurée en RDF (Resource Description Framework). L'interrogation se fait à l'aide du langage SPARQL, langage normalisé et ouvert, développé et maintenu par le W3C.


› Avec le SPARQL endpoint d'ISIDORE, à quoi a-t-on accès ?

Le SPARQL endpoint d'ISIDORE permet d'interroger l'ensemble des métadonnées moissonnées, structurées et enrichies par ISIDORE. C'est à dire le même contenu que celui qui est accessible au travers du site web rechercheisidore.fr. Les métadonnées moissonnées sont enrichies par traitements sémantiques à l'aide de référentiels scientifiques (thésaurus, listes d'autorités, vocabulaires). Actuellement, l'ensemble des enrichissements est accessible via le SPARQL endpoint.


› Du SPARQL et du RDF pourquoi faire ?

Avec RDF et le langage SPARQL il est possible d'interroger l'information structurée contenue dans les métadonnées sans la limite du plus petit dénominateur commun. Surtout il est possible, puisqu'il existe de nombreux entrepôts de données structurés selon RDF, de construire des applications web ou mobiles qui vont utiliser ces données RDF en utilisant plus particulièrement le fait qu'elles sont reliées entre elles par des URI qui prennent la plupart du temps la forme d'URL, c'est à dire des adresses web. C'est le principe du linked data. Pour illustrer ce principe nous vous proposons une application web, le ISIDORE terms navigator simple edition, qui est un tableau de bord sémantique qui fonctionne à l'aide du SPARQL endpoint.


› Pourquoi du RDF ?

Mis au point par le W3C dans le cadre des activités du Web sémantique, RDF n'est pas à proprement parler un schéma de métadonnées. Il constitue un modèle de description des données structurées inspiré de la logique des prédicats de premier ordre et de la théorie des graphes.
Sa généricité et sa souplesse offrent un cadre d'interopérabilité pour la description de tous types de ressources dans un environnement en réseau comme le Web. RDF est un modèle qui permet d'exprimer des assertions selon un modèle très simple comparable à une phrase simple : [sujet] [prédicat] [objet]. Chaque assertion forme un triplet dont les différents composants sont exprimés sous la forme d'une URI. L'intérêt de RDF réside dans le fait qu'il est possible d'exploiter des triplets RDF quelque soit le vocabulaire utilisé sans conversion, à l'inverse de XML pour lequel il est nécessaire de convertir les données si elles n'utilisent pas le même schéma. Ainsi, il n'impose pas aux différents producteurs de se mettre d'accord strictement sur une structure de métadonnées, comme c'est le cas dans le protocole OAI-PMH avec le profil d'applications OAI_DC (Dublin Core simple), ou de se limiter à un plus petit dénominateur commun pour assurer l'interopérabilité.


Dans le cadre d'ISIDORE, l'ensemble des données exprimées en XML provenant d'un entrepôt OAI-PMH ou de flux de syndication (RSS 1 et 2, Atom) sont converties en RDF à l'issue du traitement. Les données nativement exprimées en RDF issues de l'encodage avec la syntaxe RDFa sont récupérées directement dans les pages web après avoir subi un traitement similaire. Cette conversion permet ensuite d'exposer les données afin de permettre aux producteurs et aux utilisateurs de les récupérer dans leur propre environnement et de les retraiter. L'ensemble des données est stocké dans une base de données RDF (ou triple store RDF) et le Sparql endpoint permet d'interroger le résultat de cette conversion.


Afin de vous permettre de mieux comprendre les impératifs éventuels que posent les traitements et cette conversion, voici le modèle de données d'ISIDORE :



› Exemples de requêtes
  • Toutes les métadonnées enrichies d'une ressource (<http://www.rechercheisidore.fr/resource/10670/1.li0j0x> ou 10670/1.li0j0x est l'identifiant handle de la ressource) :



    SELECT ?graph ?predicat ?object WHERE { GRAPH ?graph { <http://www.rechercheisidore.fr/resource/10670/1.li0j0x> ?predicat ?object. } }
  • Liste des URI des référentiels utilisés dans ISIDORE :



    PREFIX skos: <http://www.w3.org/2004/02/skos/core#> SELECT ?uri WHERE { ?uri a skos:ConceptScheme. }
  • Les collections d'ISIDORE par ordre alphabétique :



    PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?uricollection ?titrecollection ?description ?adresseweb WHERE { ?uricollection ?predicat <http://www.rechercheisidore.fr/class/Collection>. ?uricollection dcterms:title ?titrecollection. ?uricollection dcterms:description ?description. ?uricollection foaf:homepage ?adresseweb. } ORDER BY ASC(?titrecollection) LIMIT 300
  • Les ressources (métadonnées enrichies) de la source entre <> (<http://www.rechercheisidore.fr/resource/10670/2.6nf5jw>) :



    PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX dces: <http://purl.org/dc/elements/1.1/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> select ?id ?titre ?nomauteur ?date ?url where { <http://www.rechercheisidore.fr/resource/10670/2.6nf5jw> ?p ?o. ?o dcterms:title ?titre. ?o dces:date ?date. ?o dcterms:identifier ?id. ?o dcterms:creator ?creator. ?creator foaf:name ?nomauteur. ?o <http://www.openarchives.org/ore/terms/aggregates> ?url FILTER regex(?id, "10670", "i") } LIMIT 50
  • Les termes associés au concept "Guerre froide" dans le thésaurus Rameau (+ le nombre de documents par termes associés) :



    PREFIX dcterms: <http://purl.org/dc/terms/> select distinct ?terme ?nbdoc WHERE { { select distinct ?terme count(DISTINCT ?s) AS ?nbdoc where { ?s dcterms:subject <http://data.bnf.fr/ark:/12148/cb12257064r>; dcterms:subject ?subject. ?subject skos:prefLabel ?terme. FILTER (lang(?terme)='fr') } } FILTER (?nbdoc>1) } ORDER BY DESC(?nbdoc)
  • Les sources de la collection entre <> (<http://www.rechercheisidore.fr/resource/10670/3.1g5thk>) :



    PREFIX dcterms: <http://purl.org/dc/terms/> PREFIX foaf: <http://xmlns.com/foaf/0.1/> select ?uri ?titre ?description ?url where { ?uri <http://www.openarchives.org/ore/terms/isAggregatedBy> <http://www.rechercheisidore.fr/resource/10670/3.1g5thk>; dcterms:title ?titre; dcterms:description ?description; foaf:homepage ?url. } ORDER BY ASC(?titre) LIMIT 300
› Crédits

Version : béta.
Date de publication : août 2011.

Ce SPARQL endpoint est une réalisation du pôle interopérabilité des données de la très grande infrastructure de recherche Huma-Num du CNRS dans le cadre de la plateforme ISIDORE. Ont participé à sa réalisation : Laurent Capelli (CNRS), Shadia Kilouchi (CNRS/TGE ADONIS), Jean-Luc Minel (Université Paris Ouest La Défense/TGE ADONIS), Gautier POUPEAU (Antidot), Stéphane POUYLLAU (CNRS/TGE ADONIS).
© 2011 TGE ADONIS 2011 - CNRS.


› En savoir plus

POUYLLAU, S., MINEL, J-L., CAPELLI, L., ISIDORE : Présentation générale du projet, Univ. d'hiver du TGE Adonis, Valprè. décembre 2010.

POUPEAU, G., ISIDORE et le web de données, Univ. d'hiver du TGE Adonis, Valprè. décembre 2010.