La BnF et SPARQL. Partie 2 : les Auteurs dans Data

La base de données de la BnF Data (data.bnf.fr) s’appuie sur les principes du web sémantique, pour fournir un accès ouvert aux informations en provenance de trois bases : le Catalogue général, la base Archives et manuscrits, de même que Gallica. Data n’a pas vocation à remplacer ses bases constitutives, dont elle ne reprend d’ailleurs qu’une partie des contenus. Data facilite l’accès aux données.

Les formats INTERMARC, EAD et Dublin Core essentiellement, servent à cataloguer les items de la BnF dans les bases. Sont également utilisés une variété de dictionnaires – rôles créatifs joués par les personnes et organisations, notices de collectivités, thésaurus Rameau (Répertoire d’autorité matière encyclopédique et alphabétique unifié). Proposé initialement en 2011, Data se présente comme un service indépendant et supplémentaire, fourni gratuitement. Les données sont disponibles sous licence Etalab, ce qui implique seulement, en cas de réutilisation, de mentionner la paternité de la source, de ne pas engager la responsabilité du producteur en cas d’inexactitudes.

L’interrogation des données se montre possible à l’aide d’un moteur de recherche classique, ou bien encore et depuis 2014, avec SPARQL (SPARQL Protocol and RDF Query Language). Ce langage de requêtes ne se montre pas très évident d’usage au premier abord. La structure des données de Data doit être grossièrement comprise, et les questions que l’on se pose en langage naturel doivent être traduites en séries de motifs de triplets. La mise au point d’une requête peut nécessiter plusieurs constructions, tests et essais, avant que la réponse ne convienne. Il est par contre aisé de modifier une requête préexistante pour l’adapter à une autre problématique.

Nous allons, dans ce deuxième tutoriel sur Data, explorer les données concernant les Agents, encore appelés Auteurs ou bien Contributeurs, selon ce qui est décrit. Deux sortes d’entités peuvent se montrer auteurs d’œuvres et d’éditions : les Personnes et les Organisations. Les classes et propriétés de ces entités sont progressivement explorées. Proposées à titre d’exemple, des requêtes choisies ici volontairement hétéroclites, peuvent être aisément adaptées.

Partie 2 : les entités Personne et Organisation dans Data

  1. Entités Personne
    • 1.1 Exemples de personnes
    • 1.2 Classes et propriétés des entités Personne
      • 1.2.1 Sous-notice du type Concept
      • 1.2.2 Sous-notice du type Personne
    • 1.3 Dictionnaires de valeurs
    • 1.4 Requêtes SPARQL sur les personnes
      • 1.4.1 Qui est il ? / Qui est elle ?
      • 1.4.2 Qui sont ils ?
      • 1.4.3 Biographies : Qui a écrit sur une personne et quoi ?
      • 1.4.4 Quelles sont les œuvres originales créées par une personne ?
  2. Entités Organisation
    • 2.1 Exemples d’organisations
    • 2.2 Classes et propriétés des entités Organisation
      • 1.2.1 Sous-notice du type Concept
      • 1.2.2 Sous-notice du type Organisation
    • 2.3 Dictionnaires de valeurs
    • 2.4 D’autres requêtes sur les organisations

Requêtes SPARQL ici proposées :

  • Q1.1 Quelles propriétés du type Concept d’Henri Poincaré sont renseignées ? : Lien
  • Q1.2 Quelles propriétés du type Personne d’Henri Poincaré sont renseignées ? : Lien
  • Q1.3 Lister les propriétés renseignées pour décrire la notice Concept d’Aristote et calculer leur cardinalité : Lien
  • Q1.4 Lister les propriétés renseignées pour décrire la notice Personne d’Aristote et calculer leur cardinalité : Lien
  • Q1.5 Lister les libellés préférentiels et alternatifs d’Aristote et obtenir une brève biographie : Lien
  • Q1.6 Regrouper en un seul champ les libellés alternatifs d’Aristote : Lien
  • Q1.7 Lister 10 personnes dont le nom de famille est “Bach” : Lien
  • Q1.8 Lister 10 chanteuses dont le prénom est “Tina” : Lien
  • Q1.9 Lister les violonistes nés entre 1880 et 1885 : Lien
  • Q1.10 Trouver des biographies de Bach et de sa famille : Lien
  • Q1.11 Trouver des biographies de Tina Turner, qui sont les auteurs et contributeurs ? : Lien
  • Q1.12 Trouver des biographies de Tina Turner, regrouper les contributeurs en un seul champ : Lien
  • Q1.13 Lister les études portant sur Bach et sa famille, afficher un lien vers le Catalogue : Lien
  • Q1.14 Le livre de Kathleen Booth localisé à la BnF, afficher un lien vers le Catalogue : Lien
  • Q1.15 Documents à l’écriture desquels Poincaré a contribué, avec liens vers le Catalogue et Gallica : Lien
  • Q2.1 Compter le nombre des organisations référencées dans Data : Lien
  • Q2.2 Lister les documents dont le sujet est la maison d’édition Gallimard : Lien
  • Q2.3 Lister les disques enregistrés par le “Münchner Bach-Orchester”, avec liens vers le Catalogue et Gallica : Lien
  • Q2.4 Lister les organismes dont le nom ou l’historique contient le terme “Nobel” : Lien

1. Entités Personne

Les entités du type Personne rassemblent les individus et les familles. Une Personne est identifiée par son URI, et décrite à l’aide de deux sous-notices liées. 1/ la sous-notice du type Concept identifiée par l’URI simple, permet essentiellement de définir le libellé principal unique et les libellés alternatifs du nom de la personne en diverses langues, de même que des liens vers des référentiels externes. 2/ la sous-notice du type Personne, identifiée par l’URI suivi du suffixe “#about”, contient des informations nominatives, biographiques, lie également la personne avec ses œuvres et leurs éventuelles éditions multiples, en diverses langues.

“Socrate est un homme”, certes. Mais comment l’identifier à la BnF, quelles furent ses contributions et qui a écrit à son sujet ? : Lien

1.1 Exemples de personnes

Six exemples choisis permettent de clarifier le jeu des URI et des URL mises à disposition.

1/ Aristote (0384-0322 av. J.-C.)

La page HTML d’Aristote dans data.bnf.fr : Lien

Les URI de Data reprennent, le même identifiant ARK, ici de valeur “cb13091331s”, utilisé dans le Catalogue. Les deux premiers caractères de l’ARK “cb” identifient la notice, le dernier “s” est une clé de contrôle. FRBNF correspond à l’ARK auquel le préfixe et le suffixe ont été ôtés. Il vaut pour Aristote “13091331”, et sert à localiser les pages HTML sur le serveur.

De premières requêtes SPARQL formulées avec DESCRIBE complété de l’URI mettent en évidence les propriétés de niveau Concept utilisées dans Data. Les colonnes peuvent être cherchées et triées en cliquant sur le nom du titre en haut (predicate, object), éventuellement deux fois de suite pour inverser l’ordre d’affichage des triplets.

subjectpredicateobject
57<http://data.bnf.fr/ark:/12148/cb13091331s><http://xmlns.com/foaf/0.1/focus><http://data.bnf.fr/ark:/12148/cb13091331s#about><>
47<http://data.bnf.fr/ark:/12148/cb13091331s><http://www.w3.org/2004/02/skos/core#prefLabel>“Aristote (0384-0322 av. J.-C.)”@fr<>
44<http://data.bnf.fr/ark:/12148/cb13091331s><http://www.w3.org/2004/02/skos/core#note>“Philosophe. – Élève de Platon, fondateur du Lycée. – Précepteur d’Alexandre le Grand”@fr<>
Affichage de la notice Concept d’Aristote, après tri sur “predicate” : Lien

On remarque au passage que des pages HTML spéciales, générées de manière programmée, permettent d’accéder à des listes d’œuvres d’une forme particulière :

Une petite erreur est possiblement détectée. Le texte d’Aristote nommé en latin “Opera” placé dans l’Univers Musique, ne parlerait pas de musique, mais d’astronomie. Bref passons.

2/ Johann Sebastian Bach (1685-1750)

Plusieurs exemples de ce tutoriel concernent Bach dont la note biographique précise sobrement “Compositeur”.

5755<http://data.bnf.fr/ark:/12148/cb118897907#about><http://xmlns.com/foaf/0.1/page><http://data.bnf.fr/11889790/johann_sebastian_bach/><>
5761<http://data.bnf.fr/ark:/12148/cb118897907#about><http://xmlns.com/foaf/0.1/name>“Johann Sebastian Bach”^^<http://www.w3.org/2001/XMLSchema#string><>
5760<http://data.bnf.fr/ark:/12148/cb118897907#about><http://xmlns.com/foaf/0.1/givenName>“Johann Sebastian”^^<http://www.w3.org/2001/XMLSchema#string><>
5774<http://data.bnf.fr/ark:/12148/cb118897907#about><http://xmlns.com/foaf/0.1/gender>“male”^^<http://www.w3.org/2001/XMLSchema#string><>
Notice Personne de Bach, valeur de “foaf:name” de la forme “prénom nom”, un extrait

3/ Bach (famille)

La famille Bach est référencée comme un individu sans prénom et se montre de la classe (foaf:Person), dans le Catalogue comme dans Data. Bach et sa famille se montrent sujet principal de diverses œuvres.

subjectpredicateobject
44<http://data.bnf.fr/ark:/12148/cb12220109k#about><http://xmlns.com/foaf/0.1/page><http://data.bnf.fr/12220109/bach/><>
1<http://data.bnf.fr/ark:/12148/cb12220109k><http://xmlns.com/foaf/0.1/focus><http://data.bnf.fr/ark:/12148/cb12220109k#about><>
49<http://data.bnf.fr/ark:/12148/cb12220109k#about><http://xmlns.com/foaf/0.1/familyName>“Bach”^^<http://www.w3.org/2001/XMLSchema#string><>
43<http://data.bnf.fr/ark:/12148/cb12220109k#about><http://www.w3.org/2002/07/owl#sameAs><http://data.bnf.fr/ark:/12148/cb12220109k#foaf:Person><>
42<http://data.bnf.fr/ark:/12148/cb12220109k#about><http://www.w3.org/1999/02/22-rdf-syntax-ns#type><http://xmlns.com/foaf/0.1/Person><>
Notice Personne de la famille Bach

4/ Henri Poincaré (1854-1912)

Il est possible d’explorer la page HTML de Poincaré. On remarque ainsi dans “Œuvres > Manuscrits et archives” une intéressante correspondance de Poincaré localisée dans le fonds Pierre de Nolhac, situé au Département des Manuscrits. La base Archives & Manuscrits est bien prise en compte.

Q1.1 Quelles propriétés du type Concept d’Henri Poincaré sont renseignées ? (avec DESCRIBE) : Lien

subjectpredicateobject
16<http://data.bnf.fr/ark:/12148/cb119201089><http://xmlns.com/foaf/0.1/focus><http://data.bnf.fr/ark:/12148/cb119201089#about><>
15<http://data.bnf.fr/ark:/12148/cb119201089><http://www.w3.org/2004/02/skos/core#prefLabel>“Henri Poincaré (1854-1912)”@fr<>
13<http://data.bnf.fr/ark:/12148/cb119201089><http://www.w3.org/2004/02/skos/core#note>“Mathématicien. – Ancien élève de l’École polytechnique (1873), et de l’École des Mines de Paris (1875). – Professeur de physique mathématique à la Faculté des sciences de Paris. – Professeur d’astronomie générale à l’École Polytechnique (1904-1908). – Membre de l’Institut, Académie des sciences (1887). – Membre de l’Institut, Académie française (élu en 1908)”@fr<>
Notice Concept de Poincaré

Q1.2 Quelles propriétés du type Personne d’Henri Poincaré sont renseignées ? (avec DESCRIBE) : Lien

234<http://data.bnf.fr/ark:/12148/cb119201089#about><http://xmlns.com/foaf/0.1/page><http://data.bnf.fr/11920108/henri_poincare/><>
255<http://data.bnf.fr/ark:/12148/cb119201089#about><http://xmlns.com/foaf/0.1/name>“Henri Poincaré”^^<http://www.w3.org/2001/XMLSchema#string><>
254<http://data.bnf.fr/ark:/12148/cb119201089#about><http://xmlns.com/foaf/0.1/givenName>“Henri”^^<http://www.w3.org/2001/XMLSchema#string><>
246<http://data.bnf.fr/ark:/12148/cb119201089#about><http://xmlns.com/foaf/0.1/gender>“male”^^<http://www.w3.org/2001/XMLSchema#string><>
Notice Personne de Poincaré

5/ Tina Turner

Tina Turner, de son vrai nom Anna Mae Bullock, est née le 26 novembre 1939 à Nutbush dans le Tennessee. Fille d’une ouvrière et d’un contremaître dans une ferme, elle est issue d’un milieu modeste. Élevée par sa grand-mère en compagnie de sa sœur, elle passe son enfance dans le Tennessee. Petite, elle commence à chanter dans la chorale de l’église. Elle vit de nos jours en Suisse dont elle a acquis la nationalité. Diverses catégories et sous-catégories d’œuvres sont distinguées dans Data (Œuvres, Adaptations, Documents sur, Thèmes liés), de même que divers types de contributions.

Rôles joués par Tina Turner dans diverses œuvres : Lien

6/ Kathleen H. V. Booth

Née Kathleen Britten en 1922 à Stourbridge et décédée en 2022, Kathleen Hylda Valerie Booth est une informaticienne britannique. Elle contribue, de manière pionnière en 1952, à la programmation en assembleur des premiers calculateurs créés à Birkbeck College, Londres. La BnF référence dans son Catalogue un seul de ses livres “Programming for an automatic digital calculator”, publié en 1958. La page HTML de Kathleen Booth n’a pas été générées dans Data, cependant, les données se montrent accessibles sous forme de fichiers RDF, et les renseignements sur la personne et son livre sont ici explorés.

Le fichier RDF de l’auteur Kathleen Booth est visualisé. Trois choses différentes sont décrites, avec par ordre dans le fichier RDF 1/ les assertions sur la Personne identifiée par “URIPersonne#about”, 2/ celles sur son rôle joué dans les éditions avec “URIOeuvre#Expression”, 3/ les assertions du type Concept avec le libellé préférentiel du nom et un lien vers le Catalogue. Le statut de la notice (rdau:P61160 de valeur 1003) indique un niveau de traitement préliminaire de la notice.

<rdf:RDF>
  <rdf:Description rdf:about="https://data.bnf.fr/ark:/12148/cb136317759#about">
    <foaf:familyName>Booth</foaf:familyName>
    <foaf:name>Kathleen H. V. Booth</foaf:name>
    <foaf:page rdf:resource="https://data.bnf.fr/13631775/kathleen_h__v__booth/"/>
    <rdf:type rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    <rdagroup2elements:countryAssociatedWithThePerson rdf:resource="http://id.loc.gov/vocabulary/countries/xxk"/>
    <foaf:givenName>Kathleen H. V.</foaf:givenName>
    <rdagroup2elements:languageOfThePerson rdf:resource="http://id.loc.gov/vocabulary/iso639-2/eng"/>
    <owl:sameAs rdf:resource="https://data.bnf.fr/ark:/12148/cb136317759#foaf:Person"/>
    <rdaa:P50102 rdf:resource="http://id.loc.gov/vocabulary/iso639-2/eng"/>
    <rdaa:P50097 rdf:resource="http://id.loc.gov/vocabulary/countries/xxk"/>
  </rdf:Description>
  <rdf:Description rdf:about="https://data.bnf.fr/ark:/12148/cb37639395h#Expression">
    <bnfroles:r70 rdf:resource="https://data.bnf.fr/ark:/12148/cb136317759#about"/>
    <dcterms:contributor rdf:resource="https://data.bnf.fr/ark:/12148/cb136317759#about"/>
    <marcrel:aut rdf:resource="https://data.bnf.fr/ark:/12148/cb136317759#about"/>
  </rdf:Description>
  <rdf:Description rdf:about="https://data.bnf.fr/ark:/12148/cb136317759">
    <bnf-onto:FRBNF rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">13631775</bnf-onto:FRBNF>
    <foaf:focus rdf:resource="https://data.bnf.fr/ark:/12148/cb136317759#about"/>
    <rdfs:seeAlso rdf:resource="https://catalogue.bnf.fr/ark:/12148/cb136317759"/>
    <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/>
    <rdau:P61160 rdf:resource="http://www.rdaregistry.info/termList/statIdentification/1003"/>
    <dcterms:created>2001-07-09</dcterms:created>
    <skos:prefLabel xml:lang="fr">Kathleen H. V. Booth</skos:prefLabel>
    <dcterms:modified>2001-07-10</dcterms:modified>
  </rdf:Description>
</rdf:RDF>

1.2 Classes et propriétés des entités Personne

Une entité du type Personne (foaf:Person) est décrite à l’aide de deux sous-entités liées entre elles par la relation “foaf:focus”. La première est du type Concept (skos:Concept) – visualisée en rouge dans le schéma. Le niveau Concept référence le libellé préférentiel (skos:prefLabel), les libellés alternatifs (skos:altLabel), inclut une note biographique (skos:note), ainsi que d’éventuels liens vers des référentiels externes (Wikidata, IdRef, VIAF…). La seconde sous-notice du type (foaf:Person) – sous AUTEUR, dans la partie gauche, contient d’autres renseignements personnels comme foaf:name, foaf:familyName, foaf:givenName. Des liens vers les Œuvres produites, en haut à droite, sont présents.

Classes et propriétés des Auteurs (entités Personne et Organisation) dans Data

1.2.1 Sous-notice du type Concept (classe skos:Concept, URI sans #about)

Q1.3 Lister les propriétés renseignées pour décrire la notice Concept d’Aristote et calculer leur cardinalité : Lien

SELECT ?propriete (COUNT (?propriete) AS ?cardinalite)
WHERE {
  <http://data.bnf.fr/ark:/12148/cb13091331s> ?propriete ?valeur.
}
ORDER BY DESC(?propriete)
proprietecardinalite
1<http://xmlns.com/foaf/0.1/focus>“1”^^<http://www.w3.org/2001/XMLSchema#integer>
2<http://www.w3.org/2004/02/skos/core#prefLabel>“1”^^<http://www.w3.org/2001/XMLSchema#integer>
3<http://www.w3.org/2004/02/skos/core#note>“1”^^<http://www.w3.org/2001/XMLSchema#integer>
4<http://www.w3.org/2004/02/skos/core#exactMatch>“8”^^<http://www.w3.org/2001/XMLSchema#integer>

Une requête SPARQL permet de lister des propriétés et calculer leur cardinalité, c’est à dire le nombre de fois ou une propriété est renseignée. Dans le cas d’Aristote, des liens sont faits vers 8 référentiels externes via la propriété “skos:exactMatch”. La notice d’Aristote se trouve ainsi reliée à VIAF, Biblissima, MusicBrainz, ISNI, Wikidata, IdRef, Wikipédia, dbPedia. La BnF référence 9 libellés alternatifs d’Aristote, accessibles en diverses langues, à l’aide de “skos:altLabel”.

La liste suivante fournit un résumé des principales ontologies et propriétés utilisées, ainsi que leur cardinalité, dans le cas d’Aristote. On a (“nom abrégé de l’ontologie:nom de la propriété”, cardinalité dans le cas d’Aristote, sémantique de la propriété).

  • RDF/XML Syntax : (22-rdfs-syntax-ns:type, 1, définition de la classe ici de valeur skos:Concept)
  • RDF Shema : (rdf-schema:seeAlso, 1, lien vers la notice du Catalogue)
  • FOAF : (foaf:focus, 1, relation avec la notice de classe foaf:Person)
  • OWL : (owl:sameAs, 2, liens vers Biblissima et datos.bne.es)
  • SKOS : (skos:prefLabel, 1), (skos:altLabel, 9), (skos:note, 1), (skos:exactMatch, 8, liens vers les référentiels musibrainz dbpedia biblissima wikipédia isni idref viaf wikidata), (skos:editorialNote, 3), (skos:closeMatch, 3, lien vers d’autres référentiels)
  • RDA element sets : (Elements:u/P61160, 1, “has status of identification” dont la valeur 1001 signifie “complètement établi”, 1002 : provisoire, 1003 : préliminaire)
  • ISNI : (isni:identifierValid, 1)
  • BNF-ONTO : (bnf-onto:IsniAttributionDate, 1), (bnf-onto:IsniAttributionAgency, 1), (bnf-onto:FRBNF, 1, identification dans les bases)
  • Dublin Core : (dc:created, 1), (dc:modified, 1, date de création et de dernière modification de la notice du type Concept)

1.2.2 Sous-notice du type Personne (de classe foaf:Person, URI avec les suffixes #about, ou bien #foaf:Person)

La sous-notice du type Personne obtenue avec l’URI suffixé par le hashtag “#about” affiche des informations biographiques, des informations relatives aux œuvres produites et des informations sur les biographies, autobiographies, études historiques. Les cardinalités sont de nouveau calculées.

Q1.4 Lister les propriétés renseignées pour décrire la notice Personne d’Aristote et calculer leur cardinalité : Lien

SELECT ?propriete (COUNT (?propriete) AS ?cardinalite)
WHERE {
  <http://data.bnf.fr/ark:/12148/cb13091331s#about> ?propriete ?valeur.
}
ORDER BY DESC(?propriete)
proprietecardinalite
1<http://xmlns.com/foaf/0.1/page>“1”^^<http://www.w3.org/2001/XMLSchema#integer>
2<http://xmlns.com/foaf/0.1/gender>“1”^^<http://www.w3.org/2001/XMLSchema#integer>
3<http://xmlns.com/foaf/0.1/familyName>“1”^^<http://www.w3.org/2001/XMLSchema#integer>

20 propriétés distinctes sont renseignées. Le nombre de représentations (portraits et sculptures) d’Aristote (foaf:depiction) est de 118. En ce qui concerne les valeurs, des renseignements comme la date de naissance par exemple se trouvent renseignés à l’identique dans 3 champs différents (bio:birth, ElementsGr2:dateOfBirth, Elements:a/P50121). Les rôles joués par la personne lors des processus créatifs sont spécifiés à l’aide de Dublin Core, de Vocabulary (une liste de rôles en français), et de Relators (une liste de rôles maintenue par la Bibliothèque du Congrès). Liste des ontologies et propriétés utilisées pour la sous-notice Personne.

  • RDF/XML Syntax : (22-rdfs-syntax-ns:type, 1, définition de la classe ici de valeur foaf:Person)
  • FOAF : (foaf:page, 1, relie la notice du catalogue à l’URI d’Aristote), (foaf:name, 0), (foaf:givenName, 0), (foaf:gender, 1), (foaf:focus, 0), (foaf:familyName, 1), (foaf:depiction, 118), (foaf:birthday, 0)
  • OWL : (owl:sameAs, 5, liens vers dbpedia viaf idref bp16 bibliographies des éditions parisiennes et URI suffixé #foaf:Person)
  • BIO : (bio:birth, 1, date de naissance), (bio:death, 1, date de mort)
  • Eléments RDA de groupe 1 : (Elements:a/P50121, 1, a pour date de naissance), (Elements:a/P50120, a pour date de décès), (Elements:a/P50113, a pour information biographique), (Elements:a/P50102, a pour langue d’une personne), (Elements:a/P50097, a pour pays associé à une personne)
  • Eléments RDA de groupe 2 : (ElementsGr2:dateOfBirth, 1), (ElementsGr2:dateOfDeath, 0 ou 1), (ElementsGr2:biographicalInformation, 0 ou 1, texte), (ElementsGr2:languageOfThePerson, n), (ElementsGr2:countryAssociatedWithThePerson), (ElementsGr2:fieldOfActivityOfThePerson, 0 ou 1), (ElementsGr2:placeOfBirth), (ElementsGr2:placeOfDeath)
  • BNF-ONTO : (bnf-onto:firstYear, 0 ou 1, année de naissance), (bnf-onto:lastYear, 0 ou 1, année de décès)
  • Dublin Core (dc:subject), (dc:contributor), (dc:creator)
  • Vocabulary : (vocabulary:roles/r110, auteur de lettre), (vocabulary:roles/r550, préfacier), (vocabulary:roles/r9990, rôle autre)
  • Relators (rel:aut, Author), (rel:wpr, Writer of preface)

1.3 Dictionnaires de valeurs

Spécifiques de la description des personnes, certaines propriétés montrent des contraintes sur les valeurs d’attribution. Celles-ci doivent appartenir à des vocabulaires établis et obéissant pour certains à des normes du domaine.

  • Liste de tous les vocabulaires employés à la BnF : Lien
  • ElementsGr2/languageOfThePerson -> Liste des codes de langues (iso 639-2) : Lien
  • ElementsGr2/fieldOfActivityOfThePerson -> Domaines thématiques, inspirés de la Classification décimale Dewey pour donner une sorte de code de classement en 60 termes environs (le domaine 510 Mathématiques est associé à Poincaré) : Lien
  • ElementsGr2/countryAssociatedWithThePerson -> Liste des codes de pays (ISO 3166), nationalité : Lien
  • Liste des rôles, d’après la BnF (Vocabulary) : Lien
  • Rôles, d’après la Bibliothèque du Congrès (Relators) : Lien
  • RDA Status of identification rdassoi, niveau de validation des informations renseignées : Lien
  • Thème de la notice : Dictionnaire RAMEAU des autorités matière

1.4 Requêtes SPARQL sur les personnes

Munis de ces premières informations, plusieurs requêtes peuvent être lancées.

1.4.1 Qui est il ? / Qui est elle ?

La BnF référence des formes alternatives du nom en plusieurs langues, et fournit une brève description biographique. Cela se passe dans la notice Concept.

Q1.5 Lister le libellé préférentiel et les libellés alternatifs d’Aristote et obtenir une brève biographie : Lien

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT *
WHERE{
  <http://data.bnf.fr/ark:/12148/cb13091331s> skos:prefLabel ?preferentiel.
  <http://data.bnf.fr/ark:/12148/cb13091331s> skos:altLabel ?alternatif.
  <http://data.bnf.fr/ark:/12148/cb13091331s> skos:note ?note.
}
preferentielalternatifnote
1“Aristote (0384-0322 av. J.-C.)”@fr“‘Aristotélēs (0384-0322 av. J.-C.)”@fr“Philosophe. – Élève de Platon, fondateur du Lycée. – Précepteur d’Alexandre le Grand”@fr
2“Aristote (0384-0322 av. J.-C.)”@fr“‘Aristotélīs (0384-0322 av. J.-C.)”@fr“Philosophe. – Élève de Platon, fondateur du Lycée. – Précepteur d’Alexandre le Grand”@fr
3“Aristote (0384-0322 av. J.-C.)”@fr“Aristotele (0384-0322 av. J.-C.)”@it“Philosophe. – Élève de Platon, fondateur du Lycée. – Précepteur d’Alexandre le Grand”@fr
Aristote, formes alternatives du nom en français, italien et autres langues

On remarque qu’avec SPARQL, une ligne est affichée chaque fois qu’un libellé alternatif différent, français ou autre, est trouvé dans la base. “Aristotele” correspond au libellé en italien. Il serait intéressant de regrouper en les concaténant tous ces libellés. Dans la requête suivante, les variables à afficher (?preferentiel, ?alternatifs) sont nommées dans la partie SELECT. Les instructions ‘GROUP_CONCAT’ dans SELECT et ‘GROUP BY’ en fin de requête permettent la concaténation et l’agrégation des résultats.

Q1.6 Regrouper en un seul champ les libellés alternatifs d’Aristote : Lien

PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
SELECT ?preferentiel (GROUP_CONCAT(?alternatif; separator=", ") AS ?alternatifs)
WHERE{
  <http://data.bnf.fr/ark:/12148/cb13091331s> skos:prefLabel ?preferentiel.
  <http://data.bnf.fr/ark:/12148/cb13091331s> skos:altLabel ?alternatif.
}
GROUP BY ?preferentiel ?alternatifs
preferentielalternatifs
1“Aristote (0384-0322 av. J.-C.)”@fr‘Aristotélēs (0384-0322 av. J.-C.), ‘Aristotélīs (0384-0322 av. J.-C.), Aristotele (0384-0322 av. J.-C.), Aristoteles (0384-0322 av. J.-C.), Aristoteles Stagirites (0384-0322 av. J.-C.), Aristotle (0384-0322 av. J.-C.), Aristū (0384-0322 av. J.-C.), अरिस्तू (0384-0322 av. J.-C.), Ἀριστοτέλης (0384-0322 av. J.-C.)
Tableau des résultats

1.4.2 Qui sont ils ?

L’instruction “FILTER” permet de sélectionner des groupes de personnes répondant à divers critères. Le nom de famille “Bach” s’avère assez commun et il serait intéressant d’obtenir les URI de 10 personnes portant ce patronyme, de même qu’une brève description biographique.

Q1.7 Lister 10 personnes dont le nom de famille est exactement “Bach” : Lien

# 10 personnes nommées Bach
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdagroup2elements: <http://rdvocab.info/ElementsGr2/>
SELECT * # afficher toutes les variables
WHERE {
  ?peopleUri foaf:familyName ?familyName. # motif de triplet
  FILTER(?familyName = "Bach"). # filtre sur le nom de famille
  ?peopleUri foaf:name ?name. # affichage du prénom et du nom
  ?peopleUri rdagroup2elements:biographicalInformation ?bio. # info
}
LIMIT 10
peopleUrifamilyNamenamebio
1<http://data.bnf.fr/ark:/12148/cb167446626#about>BachAlexandra V. BachIllustratrice
2<http://data.bnf.fr/ark:/12148/cb139298018#about>BachGottfried BachClaveciniste et organiste
3<http://data.bnf.fr/ark:/12148/cb14787070f#about>BachJohann Nicolaus BachCompositeur
3 premiers résultats

Plusieurs choses différentes peuvent être cherchées simultanément avec FILTER, telles que par exemple les personnes à la fois chanteuses, et prénommées “Tina”. Les trois premiers motifs de triplets localisés dans WHERE permettent la sélection, les trois autres définissent les variables sur lesquelles la sélection est faite. L’ordre des motifs dans la partie SELECT n’influe pas la liste des résultats retrouvés.

Q1.8 Lister 10 chanteuses dont le prénom est “Tina” : Lien

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX rdagroup2elements: <http://rdvocab.info/ElementsGr2/>
SELECT *
WHERE {
  ?peopleUri a foaf:Person. # Critère de sélection
  FILTER(?prenom = "Tina"). # Critère de sélection
  FILTER(CONTAINS(?bio, "Chanteuse")). # Critère de sélection
  ?peopleUri foaf:name ?nom. 
  ?peopleUri foaf:givenName ?prenom.
  ?peopleUri rdagroup2elements:biographicalInformation ?bio.
}
LIMIT 10
peopleUrinomprenombio
1<http://data.bnf.fr/ark:/12148/cb146181919#about>Tina SugandhTinaChanteuse
2<http://data.bnf.fr/ark:/12148/cb141532068#about>Tina BarrettTinaChanteuse. – Héroïne de la série télévisée Miami 7
3<http://data.bnf.fr/ark:/12148/cb13936991t#about>Tina CharlesTinaChanteuse de disco

La date de naissance sert souvent de critère de sélection également. Les violonistes nés entre 1880 et 1885 sont ici recherchés. Des filtres sont appliqués sur la biographie de la personne, ainsi que sur l’année de naissance telle qu’obtenue à l’aide du champs “bnf-onto:firstYear”, déclaré au format “entier”.

Q1.9 Lister les violonistes nés entre 1880 et 1885 : Lien

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX bnf-onto: <http://data.bnf.fr/ontology/bnf-onto/>
PREFIX bio: <http://vocab.org/bio/0.1/>
PREFIX rdagroup2elements: <http://rdvocab.info/ElementsGr2/>
SELECT *
WHERE {
  ?peopleUri a foaf:Person.
  ?peopleUri bnf-onto:firstYear ?anneeNaissance.
  ?peopleUri foaf:name ?nom.
  ?peopleUri rdagroup2elements:biographicalInformation ?bio.
  FILTER(CONTAINS(?bio, "violoniste") || CONTAINS(?bio, "Violoniste")).
  FILTER("1880"^^xsd:integer <= ?anneeNaissance && ?anneeNaissance <= "1885"^^xsd:integer).
}
ORDER BY ?anneeNaissance
peopleUrianneeNaissancenombio
1<http://data.bnf.fr/ark:/12148/cb165442304#about>“1880”^^<http://www.w3.org/2001/XMLSchema#integer>Vaclav HumlVioloniste et pédagogue croate. – Fondateur de l’école violonistique à Zagreb (en 1953)
2<http://data.bnf.fr/ark:/12148/cb13954994s#about>“1880”^^<http://www.w3.org/2001/XMLSchema#integer>Clarence Cameron WhiteCompositeur et violoniste
3<http://data.bnf.fr/ark:/12148/cb14174230s#about>“1880”^^<http://www.w3.org/2001/XMLSchema#integer>Spencer DykeVioloniste

1.4.3 Qui a écrit sur une personne et quoi ?

Des biographies et études concernent fréquemment un individu. Cela signifie en terme SPARQL que l’URI de la personne se trouve positionnée en troisième position (en objet), dans le motif de triplet principal, et que la propriété “dcterms:subject” fait le lien. Deux requêtes sont proposées et commentées. On suppose que l’URI de la personne est connue.

Dans cette requête simple, le premier motif de triplet sélectionne les URI des oeuvres dont le sujet est la famille Bach. Divers renseignements de même niveau sont ensuite affichés.

Q1.10 Trouver des biographies concernant Bach et les membres de sa famille : Lien

PREFIX dcterms: <http://purl.org/dc/terms/>
SELECT *
WHERE{
  ?workUri dcterms:subject <http://data.bnf.fr/ark:/12148/cb12220109k#about>.
  ?workUri dcterms:title ?titre.
  ?workUri dcterms:date ?date.
  ?workUri dcterms:description ?description.
  ?workUri dcterms:publisher ?editeur.
}
ORDER BY ?date
workUrititredatedescriptionediteur
1<http://data.bnf.fr/ark:/12148/cb43095874q#about>Les Bach1846P. 105-108, in-fol.Paris : [s.n.] , 1846
2<http://data.bnf.fr/ark:/12148/cb30304604w#about>La Vie et les oeuvres de Jean-Sébastien Bach, sa famille, ses élèves, ses contemporains, par Ernest David1882In-18, XV-380 p.Paris : C. Lévy , 1882
3<http://data.bnf.fr/ark:/12148/cb432990964#about>Der Stammbaum des Ohrdaufer Zweigs der Familie, von Johann Sebastian Bach1898/1899P. 17-20, pl.[S.l.] : [s.n.] , 1898-1899

Si l’on s’intéresse au fichier RDF XML de l’article “Les Bach” paru dans “Revue et Gazette musicale de Paris” en 1846, celui-ci contient :

<rdf:RDF>
  <rdf:Description rdf:about="https://data.bnf.fr/ark:/12148/cb43095874q#about">
    <dcterms:date>1846</dcterms:date>
    <rdfs:seeAlso rdf:resource="https://catalogue.bnf.fr/ark:/12148/cb43095874q"/>
    <rdagroup1elements:publishersName>[s.n.]</rdagroup1elements:publishersName>
    <rdagroup1elements:note>
      Note : Dans : Revue et Gazette musicale de Paris, Paris, [1846], XIII
    </rdagroup1elements:note>
    <rdagroup1elements:dateOfPublicationManifestation rdf:resource="https://data.bnf.fr/date/1846/"/>
    <rdarelationships:expressionManifested rdf:resource="https://data.bnf.fr/ark:/12148/cb43095874q#Expression"/>
    <dcterms:description>P. 105-108, in-fol.</dcterms:description>
    <dcterms:publisher>Paris : [s.n.] , 1846</dcterms:publisher>
    <rdf:type rdf:resource="http://rdvocab.info/uri/schema/FRBRentitiesRDA/Manifestation"/>
    <bnf-onto:firstYear rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1846</bnf-onto:firstYear>
    <rdam:P30279>Paris (France)</rdam:P30279>
    <dcterms:title>Les Bach</dcterms:title>
    <rdam:P30011 rdf:resource="https://data.bnf.fr/date/1846/"/>
    <rdf:type rdf:resource="http://rdaregistry.info/Elements/c/#C10007"/>
    <rdam:P30176>[s.n.]</rdam:P30176>
    <dcterms:subject rdf:resource="https://data.bnf.fr/ark:/12148/cb12220109k#about"/>
    <rdam:P30139 rdf:resource="https://data.bnf.fr/ark:/12148/cb43095874q#Expression"/>
    <rdau:P60470>
      Note : Dans : Revue et Gazette musicale de Paris, Paris, [1846], XIII
    </rdau:P60470>
    <rdagroup1elements:placeOfPublication>Paris</rdagroup1elements:placeOfPublication>
    <bnf-onto:FRBNF rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">43095874</bnf-onto:FRBNF>
  </rdf:Description>
  <rdf:Description rdf:about="https://data.bnf.fr/ark:/12148/cb43095874q">
    <dcterms:created>2013-01-07</dcterms:created>
    <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/>
    <foaf:focus rdf:resource="https://data.bnf.fr/ark:/12148/cb43095874q#about"/>
    <dcterms:modified>2013-01-07</dcterms:modified>
  </rdf:Description>
  <rdf:Description rdf:about="https://data.bnf.fr/ark:/12148/cb43095874q#Expression">
    <dcterms:contributor rdf:resource="https://data.bnf.fr/ark:/12148/cb16380588s#about"/>
    <dcterms:language rdf:resource="http://id.loc.gov/vocabulary/iso639-2/eng"/>
    <owl:sameAs rdf:resource="https://data.bnf.fr/ark:/12148/cb43095874q#frbr:Expression"/>
    <rdf:type rdf:resource="http://rdvocab.info/uri/schema/FRBRentitiesRDA/Expression"/>
    <bnfroles:r70 rdf:resource="https://data.bnf.fr/ark:/12148/cb16380588s#about"/>
    <dcterms:type rdf:resource="http://purl.org/dc/dcmitype/Text"/>
    <rdf:type rdf:resource="http://rdaregistry.info/Elements/c/#C10006"/>
    <marcrel:aut rdf:resource="https://data.bnf.fr/ark:/12148/cb16380588s#about"/>
  </rdf:Description>
</rdf:RDF>

Trois types d’informations identifiées par “URI”, “URI#about”, “URI#Expression” décrivent des choses différentes. On remarque l’usage de dcterms:contributor dans les “Expressions”. Nous reviendrons dans la partie 3 de cette série de tutoriels sur le modèle FRBR, en arrière plan de cette description peu évidente de prime abord.

Mais changeons de “héros” si vous le voulez pour revenir à Tina Turner et lancer une requête plus complexe : les biographies et études portant sur la “reine du Rythm’n’Blues”. Certains renseignements sur le type de l’ouvrage sont optionellement présents. D’autres comme l’URI des contributeurs sont renseignés au niveau “Expression”. On remarque ci-dessous l’usage des raccourcis “dcterms:type/skos:prefLabel” et “dcterms:contributor/foaf:name” pour afficher directement des libellés plutôt que des URI. Le type de document est recherché optionnellement : les résultats seront affichés, même si le champ type n’est pas renseigné.

Q1.11 Trouver des biographies de Tina Turner, qui en sont les auteurs et contributeurs ? : Lien

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdarelationships: <http://rdvocab.info/RDARelationshipsWEMI/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT *
WHERE {
  ?workUri dcterms:subject <http://data.bnf.fr/ark:/12148/cb139006103#about>.
  ?workUri dcterms:title ?titre.
  ?workUri dcterms:date ?date.
  ?workUri dcterms:publisher ?editeur.
  OPTIONAL {?workUri dcterms:type/skos:prefLabel ?type.}
  ?workUri rdarelationships:expressionManifested ?expressionUri.
  ?expressionUri dcterms:contributor/foaf:name ?contributeur.
}
ORDER BY ?workUri
workUrititredateediteurtypeexpressionUricontributeur
1<http://data.bnf.fr/ark:/12148/cb349087350#about>Moi, Tina1987Paris : Carrère , 1987“Autobiographie”@fr<http://data.bnf.fr/ark:/12148/cb349087350#Expression>Tina Turner
2<http://data.bnf.fr/ark:/12148/cb349087350#about>Moi, Tina1987Paris : Carrère , 1987“Autobiographie”@fr<http://data.bnf.fr/ark:/12148/cb349087350#Expression>Kurt Loder
2 premiers résultats

On observe dans la liste que le même ouvrage est décrit autant de fois qu’il existe des contributeurs différents à la création d’une édition. Les noms des contributeurs sont dans la requête suivante agrégés et concaténés en un seul champ. On obtient ainsi une liste n’affichant qu’une oeuvre unique par ligne. La structure de la requête se trouve modifiée par l’usage des instructions “GROUP_CONCAT” dans la partie SELECT, et “GROUP BY” en fin de requête.

Q1.12 Trouver des biographies de Tina Turner, regrouper les contributeurs en un seul champ : Lien

PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdarelationships: <http://rdvocab.info/RDARelationshipsWEMI/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?titre ?date ?editeur ?type (GROUP_CONCAT(?contributeur; separator=", ") AS ?contributeurs)
WHERE {
  ?workUri dcterms:subject <http://data.bnf.fr/ark:/12148/cb139006103#about>.
  ?workUri dcterms:title ?titre.
  ?workUri dcterms:date ?date.
  ?workUri dcterms:publisher ?editeur.
  OPTIONAL {?workUri dcterms:type/skos:prefLabel ?type.}
  ?workUri rdarelationships:expressionManifested ?expressionUri.
  ?expressionUri dcterms:contributor/foaf:name ?contributeur.
}
GROUP BY ?titre ?date ?editeur ?type ?contributeurs
ORDER BY ?titre

10 biographies, autobiographies et études concernant Tina Turner sont ainsi obtenues.

titredateediteurtypecontributeur
1Autobiographie2020Paris : HarperCollins , DL 2020“Autobiographie”@frDeborah Davis, Pierre-Paul Durastanti, Tina Turner, Dominik Wichmann
2Autobiographie2019Paris : HarperCollins , DL 2019“Autobiographie”@frDeborah Davis, Pierre-Paul Durastanti, Tina Turner, Dominik Wichmann
3Ike et Tina Turner : The Queen of the Rhythm’n’Blues1992Evreux : Éditions Atlas ; Paris : distrib. Nouvelles messageries de la presse parisienne , 1992 (cop)Philippe Margotin, Michel Marmin, Ike and Tina Turner, Nouvelles messageries de la presse parisienne, Éditions Atlas, Jean-Claude Bernar, Marion Mabboux, Bernard Canetti, Anne Delchiaro, Jean-Claude Gonthier

La même requête peut être appliquée à Bach et sa famille en changeant simplement l’URI. 37 études sont ainsi obtenues, parmi lesquelles figurent des catalogues d’expositions, des articles publiés dans des revues, des livres.

Q1.13 Lister les études portant sur Bach et sa famille, afficher un lien vers le Catalogue : Lien

# Bibliographies sur la famille Bach
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdarelationships: <http://rdvocab.info/RDARelationshipsWEMI/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdagroup1elements: <http://rdvocab.info/Elements/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?titre ?date ?editeur ?type (GROUP_CONCAT(?contributeur; separator=", ") AS ?contributeurs) ?note ?catalogue
WHERE {
  ?workUri dcterms:subject <http://data.bnf.fr/ark:/12148/cb12220109k#about>.
  ?workUri dcterms:title ?titre.
  ?workUri dcterms:date ?date.
  ?workUri dcterms:publisher ?editeur.
  OPTIONAL {?workUri dcterms:type/skos:prefLabel ?type.}
  ?workUri rdarelationships:expressionManifested ?expressionUri.
  ?expressionUri dcterms:contributor/foaf:name ?contributeur.
  OPTIONAL {?workUri rdagroup1elements:note ?note.}
  ?workUri rdfs:seeAlso ?catalogue.
}
GROUP BY ?titre ?date ?editeur ?type ?contributeurs ?note ?catalogue
ORDER BY ?date
titredateediteurtypecontributeursnotecatalogue
1La Vie et les oeuvres de Jean-Sébastien Bach, sa famille, ses élèves, ses contemporains, par Ernest David1882Paris : C. Lévy , 1882Ernest David<https://catalogue.bnf.fr/ark:/12148/cb30304604w>
2Der Stammbaum des Ohrdaufer Zweigs der Familie, von Johann Sebastian Bach1898/1899[S.l.] : [s.n.] , 1898-1899Johann Sebastian Bach, Friedrich ThomasNote : Dans : Jahresbericht des gräflich Gleichenschen Gymnasiums…, 1898/99<https://catalogue.bnf.fr/ark:/12148/cb432990964>
3La Famille Bach1950Paris ; Bruxelles : [s.n.] , 1950Rolf BeneckeNote : Dans : Revue internationale de musique, automne, Paris, Bruxelles, 1950, n° 8<https://catalogue.bnf.fr/ark:/12148/cb42843300h>

1.4.4 Quelles sont les livres écrits par une personne ?

Nous allons nous intéresser maintenant au livre de Kathleen Booth, référencé à la BnF et intitulé “Programming for an automatic digital calculator”, publié en 1958 par Butterworths scientific publications, Londres. Comment, connaissant l’URI de Kathleen Booth, afficher une liste de ses livres référencés dans Data ?

Q1.14 Le livre de Kathleen Booth localisé à la BnF, afficher un lien vers le Catalogue : Lien

# Livre de Kathleen Booth à la BnF
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT ?titre ?editeur ?sujet ?contributeur ?catalogue
WHERE
{
  ?expressionUri dcterms:contributor <http://data.bnf.fr/ark:/12148/cb136317759#about>. 
  BIND(REPLACE(str(?expressionUri), "Expression", "about", "i") AS ?workString)
  BIND(URI(?workString) as ?workUri)
  ?workUri dcterms:title ?titre.
  ?workUri dcterms:subject/skos:prefLabel ?sujet.
  ?workUri dcterms:publisher ?editeur.
  ?workUri rdfs:seeAlso ?catalogue.
  ?expressionUri dcterms:contributor/foaf:name ?contributeur.
}
titreediteursujetcontributeurcatalogue
1Programming for an automatic digital calculatorLondon : Butterworths scientific publications , 1958“Langages de programmation”@frKathleen H. V. Booth<https://catalogue.bnf.fr/ark:/12148/cb37639395h>

Conaissant l’URI d’Henri Poincaré, pouvons nous afficher une de ses ouvrages présents dans Data, et visibles éventuellement dans Gallica ?

L’URI de l’oeuvre est calculé à partir de l’URI de l’expression à l’aide des clauses BIND REPLACE URI. La partie “#Expression” de l’URI est remplacée par “#about”. On accède ensuite aux variables de chacun des niveaux decriptifs déterminés par les variables ?workUri et ?expressionUri. Du fait que les sujets, les contributeurs et les URL Gallica sont possiblement multiples, la requête avec agrégation se montre un peu plus complexe.

A noter le fréquent usage d’OPTIONAL pour ne pas contraindre la liste à une présence obligatoire des sujets par exemple. On trouve ainsi 176 textes catalogués à la BnF. Certaines oeuvres sont disponibles et numérisées sur Gallica en multiples exemplaires. On peut citer en particulier : “Leçons de mécanique céleste : professées à la Sorbonne” diffusées en éditions successives de 1905 à 1910.

Q1.15 Documents à l’écriture desquels Poincaré a contribué, avec liens vers le Catalogue et Gallica : Lien

# Documents à l'écriture desquels Poincaré a contribué
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdarelationships: <http://rdvocab.info/RDARelationshipsWEMI/>
SELECT ?titre ?date ?editeur 
  (GROUP_CONCAT(DISTINCT ?sujet; separator=", ") AS ?sujets)
  ?type
  (GROUP_CONCAT(DISTINCT ?contributeur; separator=", ") AS ?contributeurs)
  ?catalogue
  (GROUP_CONCAT(DISTINCT ?UrlGallica; separator=", ") AS ?UrlGallicas)
WHERE
{
  ?expressionUri dcterms:contributor <http://data.bnf.fr/ark:/12148/cb119201089#about>. 
  BIND(REPLACE(str(?expressionUri), "Expression", "about", "i") AS ?workString)
  BIND(URI(?workString) as ?workUri)
  ?workUri dcterms:title ?titre.
  OPTIONAL{?workUri dcterms:date ?date.}
  OPTIONAL{?workUri dcterms:subject/skos:prefLabel ?sujet.}
  OPTIONAL {?workUri dcterms:type/skos:prefLabel ?type.}
  OPTIONAL{?workUri dcterms:publisher ?editeur.}
  OPTIONAL{?workUri rdfs:seeAlso ?catalogue.}
  OPTIONAL{?workUri rdarelationships:electronicReproduction ?UrlGallica.}
  ?expressionUri dcterms:contributor/foaf:name ?contributeur.
}
GROUP BY ?titre ?date ?editeur ?sujets ?type ?contributeurs ?catalogue ?UrlGallicas
ORDER BY ?date
titredateediteursujetstypeconributeurscatalogueUrlGallicas
51Thermodynamique : leçons professées pendant le premier semestre 1888-891908Paris : Gauthier-Villars , 1908ThermodynamiqueHenri Poincaré, Jules Blondin<https://catalogue.bnf.fr/ark:/12148/cb31127669d>https://gallica.bnf.fr/ark:/12148/bpt6k2048983
140Thermodynamique1995Paris : J. Gabay , 1995ThermodynamiqueHenri Poincaré, Jules Blondin<https://catalogue.bnf.fr/ark:/12148/cb35818793b>
58La valeur de la science1909Paris : E. Flammarion , 1909SciencesHenri Poincaré<https://catalogue.bnf.fr/ark:/12148/cb351940529>

Excellent ! Nous connaissons maintenant beaucoup de choses sur les individus et les familles, tels que catalogués à la BnF et accesssibles dans Data. L’URI d’Henri Poincaré peut aisément être échangée avec celle de Tina Turner ou de Jean-Sébastien Bach, pour obtenir des résultats recherchés.

2. Entités Organisation

Les Organisations dans Data correspondent strictement aux “Notices de collectivité” et “Notices d’autorités” du Catalogue général. On dénombre 415 650 organisations jouant divers rôles dans Data au 6 juin 2022.

Q2.1 Compter le nombre d’organisations référencées dans Data : Lien

PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT (COUNT (?orgUri) AS ?effectif)
WHERE {
  ?orgUri a foaf:Organization. # Critère de sélection
}
effectif
1“415650”^^<http://www.w3.org/2001/XMLSchema#integer>

2.1 Exemples d’organisations

6 exemples d’entités du type Organisation sont choisis.

1/ Gallimard

Gallimard joue le rôle d’Auteur en publiant notamment son catalogue d’éditeur. Plusieurs documents ont également pour sujet la marque, les sous-marques et l’histoire de cette société fondée en 1911 par Gaston Gallimard.

2/ Münchner Bach-Orchester

Fondé en 1954 par Karl Richter, l’orchestre munichois se produit et enregistre fréquemment en compagnie de l’ensemble vocal Münchener Bach-Chor. 101 enregistrements musicaux sont référencés à la BnF dont 51 sont numérisés en 2022.

3/ Ike and Tina Turner

Le chanteur et guitariste Ike Turner et la chanteuse Tina Turner s’associent en 1959 pour former un duo. Ils rencontrent une certaine renommée dans les années 1960 et 1970 avant que le couple ne se sépare en 1976. Aucun disque n’a été numérisé à la BnF. Produite en 2017 et accompagnée de 2 CD, une bande dessinée raconte l’histoire du groupe et du couple.

4/ Musée alsacien. Strasbourg

Le Musée alsacien de la ville de Strasbourg est un musée d’arts et traditions populaires ouvert en 1902. Les témoignages de la vie alsacienne traditionnelle du XVIIᵉ au XXᵉ siècle y sont exposés : habitat, mobilier, objets du quotidien, céramiques, costumes, objets religieux, jouets, artisanat.

5/ Académie de Stanislas. Nancy

Fondée par le Roi Stanislas Leszczynski sous le nom de Société Royale des Sciences et Belles-Lettres de Nancy.en 1750, suspendue de 1793 à 1802, cette société savante s’intéresse à toutes les disciplines de l’esprit, aux multiples aspects de la culture scientifique, littéraire, artistique et technique. Elle siège dans les actuels bâtiments de la Bibliothèque municipale de Nancy et publie ses Mémoires.

6/ Communauté d’agglomération. Le Puy-en-Velay

Diverses entités administratives françaises et étrangères sont référencées et considérées comme des organisations dans Data. A noter que les communes sont référencés à la fois en tant que Concept et que Lieu géographique. Nous reviendrons sur cette question des entités géographiques et administratives un peu plus tard.

2.2 Classes et propriétés des Organisations

Les entités Organisations se trouvent doublement décrites sous forme d’une sorte de sous-notice du type Concept (skos:Concept) et d’une sous-notice du type Organisation (foaf:Organization). Des informations comme la date de création de l’organisme, les membres fondateurs, le site web, l’adresse postale se montrent fréquemment renseignés.

2.2.1 Sous-notice du type Concept (de classe skos:Concept, URI sans #about)

Ontologies et propriétés utilisées : skos (prefLabel, altLabel, note, exactMatch), rdfs (seeAlso). Ce sont les mêmes que pour les Personnes.

2.2.2 Sous-notice du type Organisation (de classe foaf:Organization, URI avec les suffixes #about, ou bien #foaf:Organization)

Ontologies et propriétés utilisées : foaf (Organization; page, name, homepage), owl(sameAs), ElementsGr2 (=rdagroup2elements) (placeAssociatedWithTheCorporateBody, dateOfEstablishment, corporateHistory, fieldOfActivityOfTheCorporateBody), Elements (=rdagroup1elements) (a/P50031, a/P50037, a/P50035)

Q2.2 Créer un tableau rassemblant diverses informations sur l’éditeur Gallimard : Lien

Dans cette requête avec agrégation, des renseignements des sous-notices Concept (<http://data.bnf.fr/ark:/12148/cb12864072w>) et Organisation (<http://data.bnf.fr/ark:/12148/cb12864072w#about>) sont recherchés. Des filtres permettent de sélectionner spécifiquement certaines valeurs souhaitées. On remarque une notation un peu différente des séries de motifs de triplets localisés dans la partie WHERE. Avec le point-virgule en fin de motif, l’URI du sujet n’a pas à être répétée. Un point conclut la série.

# Informations sur Gallimard
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX rdagroup2elements: <http://rdvocab.info/ElementsGr2/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX bnf-onto: <http://data.bnf.fr/ontology/bnf-onto/>
SELECT 
  ?preferentiel
  (GROUP_CONCAT(DISTINCT ?alternatif; separator="; ") AS ?alternatifs) 
  ?note ?catalogue
  (GROUP_CONCAT(DISTINCT ?domaine; separator="; ") AS ?domaines)
  ?site ?dateFondation
WHERE{
  <http://data.bnf.fr/ark:/12148/cb12864072w> skos:prefLabel ?preferentiel;
    					      skos:altLabel ?alternatif;
                                              skos:note ?note;
                                              rdfs:seeAlso ?catalogue.
  FILTER CONTAINS (STR(?catalogue), "catalogue")
  <http://data.bnf.fr/ark:/12148/cb12864072w#about> rdagroup2elements:fieldOfActivityOfTheCorporateBody ?domaine;
                                                    foaf:homepage ?site;
                                                    bnf-onto:firstYear ?dateFondation.
  FILTER ( datatype(?domaine) = xsd:string )
}
GROUP BY ?preferentiel ?alternatifs ?note ?catalogue ?domaines ?site ?dateFondation
preferentielalternatifsnotecataloguedomainessitedateFondation
1“Gallimard”@frGallimard. Paris; Librairie Gallimard; Éditions Gallimard; Éditions de la NRF; Éditions de la Nouvelle revue francaise“Fondées en 1911 par Gaston Gallimard et les fondateurs de la Nouvelle revue française, les Éditions de la Nouvelle revue française prirent en 1919 le nom de Librairie Gallimard. – Gallimard accueille en 1991 les éditions Le Promeneur. – Intègre les éditions Verticales en 2005. – Rachète les éditions Flammarion en septembre 2012”@fr<https://catalogue.bnf.fr/ark:/12148/cb12864072w>Sciences de l’information et de la documentation; Économie politique. Travail<http://www.gallimard.fr>“1911”^^xsd:integer

2.3 Dictionnaires de valeurs

Certaines propriétés des organisations sont renseignées à l’aide des valeurs de dictionnaires. Ainsi, la propriété “rdagroup2elements:placeAssociatedWithTheCorporateBody” contient un code de pays sur deux lettres fourni par la liste normalisée : Liste des pays.

2.4 D’autres requêtes sur les organisations

Quelques requêtes SPARQL variées sur une entreprise de l’édition, sur un orchestre et sur une institution apportent une conclusion à cette seconde partie. La clause OPTIONAL est utilisée chaque fois que possible, pour obtenir un grand nombre de résultats. Des agrégations sont aussi utilisées.

Q2.2 Lister les documents dont le sujet est la maison d’édition Gallimard : Lien

# Bibliographies sur Gallimard
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdarelationships: <http://rdvocab.info/RDARelationshipsWEMI/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX rdagroup1elements: <http://rdvocab.info/Elements/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT
  ?titre ?date ?editeur ?type
  (GROUP_CONCAT(?contributeur; separator=", ") AS ?contributeurs)
  ?note ?catalogue
  (GROUP_CONCAT(DISTINCT ?UrlGallica; separator=", ") AS ?UrlGallicas)
WHERE {
  ?workUri dcterms:subject <http://data.bnf.fr/ark:/12148/cb12864072w#about>.
  ?workUri dcterms:title ?titre.
  OPTIONAL {?workUri dcterms:date ?date.}
  OPTIONAL {?workUri dcterms:publisher ?editeur.}
  OPTIONAL {?workUri dcterms:type/skos:prefLabel ?type.}
  ?workUri rdarelationships:expressionManifested ?expressionUri.
  ?expressionUri dcterms:contributor/foaf:name ?contributeur.
  OPTIONAL {?workUri rdagroup1elements:note ?note.}
  ?workUri rdfs:seeAlso ?catalogue.
  OPTIONAL{?workUri rdarelationships:electronicReproduction ?UrlGallica.}
}
GROUP BY ?titre ?date ?editeur ?type ?contributeurs ?note ?catalogue ?UrlGallicas
ORDER BY ?date
titredateediteurtypecontributeursnotecatalogueUrlGallicas
56L’abécédaire de Poésie/Gallimard2016Paris : Bibliothèque nationale de France [prod.] , 2016Jacques Darras, André Velter, Olivier Barbarant, Denis BruckmannNote sur l’enregistrement : Paris. – fr. – BnF. – 20160621. Soirée organisée à l’occasion des 50 ans de la collection Poésie/Gallimard, dans le cadre de la Périphérie du 34e Marché de la Poésie, avec la Bibliothèque nationale de France, les éditions Gallimard et la Comédie française.<https://catalogue.bnf.fr/ark:/12148/cb45362644p>https://gallica.bnf.fr/ark:/12148/bpt6k13213832
1[Recueil. Dossiers biographiques Boutillier du Retail. Documentation sur Gaston Gallimard]1943Paris : L’Union française , 1943 (5 juin)Armand Boutillier du Retail<https://catalogue.bnf.fr/ark:/12148/cb425553507>
2Lire1966[Paris] : ORTF [prod.] ; [Bry-sur-Marne] : INA [distrib.] , 1966“Biographie”@frRoger Grenier, Knut Hamsun, Daniel Costelle, Institut national de l’audiovisuel. France (1986-….), Office de radiodiffusion-télévision française, Institut national de l’audiovisuel. France (1974-1982), Jean-Pierre Lajournade, Bernard CwagenbaumNote : Support de création : 1 film : 16 mm, n. et b.. Note : Contient 2 séquences. La première est consacrée au cocktail Gallimard où l’on reconnaît Jean Renoir, Clara Malraux, André Maurois, Michel Leiris, etc.. Note : Acq. : Institut National de l’Audiovisuel, L’. Première diffusion : ORTF. – fr. – 19660707<https://catalogue.bnf.fr/ark:/12148/cb38487279b>

Q2.3 Lister les disques enregistrés par le “Münchner Bach-Orchester”, avec liens vers le Catalogue et Gallica : Lien

Cette requête se montre essentiellement identique à la question 1.15 sur les écrits de Poincaré. Les variables ?type et ?sujet sont ici supprimées, car elle ne fournissent aucun résultat dans ce contexte.

# Disques à l'enregistrement desquels le "Münchner Bach-Orchester" a contribué
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX rdarelationships: <http://rdvocab.info/RDARelationshipsWEMI/>
SELECT ?titre ?date ?editeur 
  (GROUP_CONCAT(DISTINCT ?contributeur; separator=", ") AS ?contributeurs)
  ?catalogue
  (GROUP_CONCAT(DISTINCT ?UrlGallica; separator=", ") AS ?UrlGallicas)
WHERE
{
  ?expressionUri dcterms:contributor <http://data.bnf.fr/ark:/12148/cb13905130j#about>. 
  BIND(REPLACE(str(?expressionUri), "Expression", "about", "i") AS ?workString)
  BIND(URI(?workString) as ?workUri)
  ?workUri dcterms:title ?titre.
  OPTIONAL{?workUri dcterms:date ?date.}
  OPTIONAL{?workUri dcterms:publisher ?editeur.}
  OPTIONAL{?workUri rdfs:seeAlso ?catalogue.}
  OPTIONAL{?workUri rdarelationships:electronicReproduction ?UrlGallica.}
  ?expressionUri dcterms:contributor/foaf:name ?contributeur.
}
GROUP BY ?titre ?date ?editeur ?contributeurs ?catalogue ?UrlGallicas
ORDER BY ?date
titredateediteurcontributeurscatalogueUrlGallicas
1Matthäus-Passion1959Hamburg : Deutsche Grammophon , [DL 1959]Antonia Fahberg, Dietrich Fischer-Dieskau, Ernst Haefliger, Fritz Rothschuh, Hertha Töpper, Irmgard Seefried, Johann Sebastian Bach, Karl Richter, Kieth Engen, Max Proebstl, Münchener Chorknaben, Münchner Bach-Chor, Münchner Bach-Orchester<https://catalogue.bnf.fr/ark:/12148/cb38995269m>https://gallica.bnf.fr/ark:/12148/bpt6k8823972m
2Cantates : “Ich armer Mensch, ich Sundenknecht”, “Meine Secle rühmnt und preist”1960S.l. : s.n. , 1960 (DL)Georg Melchior Hoffmann, Johann Sebastian Bach, Münchner Bach-Chor, Münchner Bach-Orchester<https://catalogue.bnf.fr/ark:/12148/cb37771465x>https://gallica.bnf.fr/ark:/12148/bpt6k88079336
3Cantates1960S.l. : s.n. , 1960 (DL)Georg Melchior Hoffmann, Johann Sebastian Bach, Münchner Bach-Chor, Münchner Bach-Orchester<https://catalogue.bnf.fr/ark:/12148/cb37771184c>https://gallica.bnf.fr/ark:/12148/bpt6k8817397b

Q2.4 Lister les organismes dont le nom ou l’historique contient le terme “Nobel” : Lien

# Organismes dont le nom ou l'historique contiennent le terme "Nobel"
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX bio: <http://vocab.org/bio/0.1/>
PREFIX rdagroup2elements: <http://rdvocab.info/ElementsGr2/>
PREFIX bnf-onto: <http://data.bnf.fr/ontology/bnf-onto/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT
  ?nom ?dateFondation ?dateFin ?historique
  (GROUP_CONCAT(DISTINCT ?domaine; separator=", ") AS ?domaines)
  ?page ?site
WHERE {
  ?orgUri a foaf:Organization.
  ?orgUri foaf:name ?nom.
  OPTIONAL{?orgUri rdagroup2elements:corporateHistory ?historique.}
  OPTIONAL{
    ?orgUri rdagroup2elements:fieldOfActivityOfTheCorporateBody ?domaine.
    FILTER ( datatype(?domaine) = xsd:string )
  }
  OPTIONAL{?orgUri bnf-onto:firstYear ?dateFondation.}
  OPTIONAL{?orgUri bnf-onto:lastYear ?dateFin.}
  OPTIONAL{?orgUri foaf:page ?page.}
  OPTIONAL{?orgUri foaf:homepage ?site.}
  FILTER(CONTAINS(?nom, "Nobel")||CONTAINS(?historique, "Nobel")).
}
GROUP BY ?nom ?dateFondation ?dateFin ?historique ?domaines ?page ?site
ORDER BY ?dateFondation

On obtient ainsi 78 lignes, correspondant à autant d’organisations. Si l’on regarde de près la nature et les raisons d’être de ces entreprises et associations, celles-ci se montrent assez variées, oscillant résolument entre guerre et paix.

nomdateFondationdateFinhistoriquedomainespagesite
15“Société Nobel française”@fr“1927”^^xsd:integer“1956”^^xsd:integer“Fabricant d’explosifs, matières plastiques, celluloïd (poupées), etc.”@frÉconomie politique. Travail<http://data.bnf.fr/12377039/societe_nobel_francaise/>
16“Friends service council”@fr“1927”^^xsd:integer“1978”^^xsd:integer“Laureat du Prix Nobel de la paix en 1947”@fr<http://data.bnf.fr/11588928/friends_service_council/>
17“Harnack-Haus. Berlin”@fr“1929”^^xsd:integer“Club house à Berlin de lauréats du Prix Nobel membres de la Kaiser-Wilhelm-Gesellschaft zur Förderung der Wissenschaften”@frSciences<http://data.bnf.fr/17734066/harnack-haus_berlin/><http://www.harnackhaus-berlin.mpg.de>

Webographie et autres requêtes

  • data.bnf.fr pour les nuls, Olivier Jacquot, 2017, BnF : Lien
  • Exemples de requêtes dans data.bnf.fr, Olivier Jacquot, 2017, BnF : Lien
  • Comment interroger la Bnf et Wikidata avec Sparql ? Claire Hernandez, 2018, BibLibre : Lien
  • Data > Sparql > Exemples de requêtes accessibles depuis l’interface Sparql
    • Dates biographiques d’un auteur (jour de naissance, année de naissance et de décès de 100 auteurs) : Lien
    • Toutes les éditions de l’oeuvre “Les Fleurs du Mal” (titre, date, auteur) : Lien
    • Lien à un document numérisé dans Gallica (Le Portrait de Manon, partition de Jules Massenet) : Lien
    • Expositions virtuelles de la BnF : Lien
    • Retrouver un nom de personne à partir d’un ISNI : Lien
    • Identifiant ARK d’une notice à partir du numéro FRBNF : Lien
    • Retrouver une oeuvre à partir d’un ISBN (Extension du domaine de la lutte, de Michel Houellebecq) : Lien
    • Tous les auteurs morts avant 1924 : Lien
  • Exemples de requêtes appliquées à Data dans LinkedWiki : Lien

Tutoriels Data de ce blog

  • La BnF et SPARQL. Partie 1 : les bases constitutives de Data
  • La BnF et SPARQL. Partie 2 : les Auteurs dans Data
  • La BnF et SPARQL. Partie 3 : œuvres et éditions dans Data [à paraitre]
1 Star2 Stars3 Stars4 Stars5 Stars (Pas encore noté)
Loading...

Laisser un commentaire