Skip to content

Sparql : 3e pas (transposition sur une notice IdRef)

21/06/2012

Et pour IdRef, ça nous donne quoi ?

L’équivalent de ce fichier, c’est tout simplement une notice IdRef. Par exemple celle de Romain Gary, qui contient plusieurs formes rejetées.

Prenons la version RDF (c’est du RDF/XML).

J’y trouve notamment toutes les formes rejetées (altLabel, selon la terminologie définie dans SKOS) de cet auteur

Je dois donc essayer « d’attraper » l’ensemble de ces formes rejetées (tous les pseudonymes de Romain Gary, ainsi que — je suppose — la translittération en chinois) par une requête SPARQL.

Les balises altLabel sont précédées de l’espace de nom skos:, lequel est défini en tête du fichier RDF (pour voir cette ligne, il faut afficher le code source ou ouvrir l’URL avec un éditeur XML) :

xmlns:skos="http://www.w3.org/2004/02/skos/core#"

Donc si je transpose la requête du précédent billet, j’obtiens :

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?altLabel
FROM <http://www.idref.fr/026882949.rdf>
WHERE { ?Person skos:altLabel ?altLabel. }

Ce qui donne :

J’ai ma liste sur une requête IdRef. Je gagne un point.

Cadeau bonus ?

On peut, dans ce même fichier, extraire aussi la liste des références bibliographiques qui servent de source à l’édition de la liste de ces pseudonymes.

En effet en bas du fichier on trouve des noeuds XML <foaf:Document/> avec ce genre d’informations :

<foaf:Document rdf:about="http://www.sudoc.fr/147673895/id">
<dcterms:subject xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" rdf:resource="http://www.idref.fr/026882949/id"/>
<dcterms:bibliographicCitation>Romain Gary [Texte imprimé] : promenade à Nice / Carine Marret / Nice : Baie des anges , impr. 2010</dcterms:bibliographicCitation>
</foaf:Document>

Reste à trouver en tête du fichier l’URL de l’espace de noms pour dcterms

Donc une requête permettant d’extraire la liste des références bib, sur le modèle de celle récupérant les formes rejetée, sera :

PREFIX dcterms: <http://purl.org/dc/terms/>
SELECT ?bibliographicCitation
FROM <http://www.idref.fr/026882949.rdf>
WHERE { ?Document dcterms:bibliographicCitation ?bibliographicCitation. }

A suivre

La fois suivante, je vous expliquerai l’incompréhension que j’ai eue devant ces requêtes, et qui m’a réveillée de nuit. Ou comment ne pas confondre variables et noms des balises.

%d blogueurs aiment cette page :