Open Data
Sommaire
Le web sémantique dans le projet data.bnf.fr
Le projet data.bnf.fr s'inscrit dans une démarche d'ouverture des données.
Cette démarche a été définie par le W3C dans la perspective du « Web sémantique » ou « Web de données » (linked data).
Pour en savoir plus sur le web sémantique et le web de données.
Il s'agit de structurer les ressources pour que les machines puissent mieux les exploiter. Le projet data.bnf.fr utilise des données produites dans des formats divers, notamment Intermarc pour les catalogues de livres, XML-EAD pour les inventaires d'archives, et Dublin Core pour la bibliothèque numérique.
Ces données sont modélisées, regroupées, enrichies par des traitements automatiques et publiées selon le langage du web sémantique, RDF. Le résultat est disponible sur ce site, selon plusieurs syntaxes de RDF : RDF-XML, RDF-N3, et RDF-NT.
Une partie des données sont alignées sur d'autres référentiels : id.loc.gov pour les langues et nationalités, dewey.info pour les sujets, DCMI type pour les types de documents.
Elles sont aussi alignées vers des jeux de données recensés dans CKAN, en particulier dbpedia et VIAF.
Ce que la bibliothèque nationale de France fournit :
Comment récupérer les données de data.bnf.fr :
http://data.bnf.fr/11928016/jules_verne/rdf.xml,
http://data.bnf.fr/11928016/jules_verne/rdf.nt,
http://data.bnf.fr/11928016/jules_verne/rdf.n3.
Un dump de l'intégralité des données RDF est également disponible sur notre serveur FTP :
hôte : echanges.bnf.fr , port : 21
login : databnf, mot de passe : databnf
et via HTTP: dump rdf complet (rdf/xml)
- dump rdf auteurs (rdf/xml)
- dump rdf auteurs (n3)
- dump rdf auteurs (nt)
- dump rdf oeuvres (xml)
- dump rdf oeuvres (n3)
- dump rdf oeuvres (nt)
- dump rdf sujets (xml)
- dump rdf sujets (n3)
- dump rdf sujets (nt)
La licence d'utilisation de ces données est disponible ici.
Le logiciel utilisé : CubicWeb
CubicWeb est une plateforme open source de développement d'applications web sémantique, publiée sous la licence LGPL.
Mécanique FRBR et concepts œuvres, auteurs et sujets
Modèle FRBR
Data.bnf.fr s’inscrit dans les évolutions récentes en matière de description bibliographique en expérimentant et adaptant le modèle FRBR (Functional requirements for Bibliographic Records) élaboré par l’IFLA.
Ce modèle comprend trois groupes d'entités liées par des relations : les informations sur les documents, les personnes physiques ou morales, et les sujets ou thèmes.
- Les pages « œuvres » :
Le premier groupe du modèle FRBR décrit les différents aspects d’une production intellectuelle ou artistique, à travers 4 niveaux : l’œuvre, l’expression, la manifestation et l’item.
Le niveau de l'œuvre est celui de la création intellectuelle ou artistique. Exemple : Le colonel Chabert d'Honoré de Balzac. Les unités documentaires « œuvres » sont créées à partir des notices d'autorité correspondantes de la BnF, présentes dans le Catalogue général.
Le niveau de l’expression (différentes versions d’une seule œuvre comme une traduction, une adaptation ou une abréviation) n’apparaît pas dans les pages html de data.bnf.fr, mais il est présent dans le RDF correspondant.
Le niveau de la manifestation est celui de la matérialisation d'une expression. Exemple : une édition des Misérables comme « Nouvelle impression illustrée. 1879-1882. Paris. E. Hugues ». Les manifestations d’une œuvre sont listées dans l’unité documentaire « œuvre » et regroupées dans la section « Vie et éditions de l’œuvre ». Ce niveau correspond à la notice bibliographique dans le catalogue général de la BnF ou, dans le catalogue BnF archives et manuscrits, à un niveau de description identifié par une cote.
Le niveau de l'item est celui de l'exemplaire. Il est accessible par le lien vers la notice dans le Catalogue général de la BnF ou dans BnF archives et manuscrits, ou vers l'exemplaire numérisé dans la bibliothèque numérique Gallica.
Notons que des relations de tout à partie peuvent exister entre :
- Les pages « auteurs » :
Une personne peut être auteur d'une œuvre (un lien existe alors entre la page « auteur » et la page « œuvre » correspondante) ou contributeur d'une expression (préfacier, traducteur, librettiste...). Cependant, le niveau de l'expression n’étant pas distinct de celui de la manifestation dans les pages html de data.bnf.fr, les contributeurs apparaissent au niveau de la manifestation. Les différents rôles de création ou de contribution d’une personne font l'objet d'un référentiel dans le format Intermarc adopté par la BnF, ainsi que de la part de la bibliothèque du Congrès ; ces référentiels enrichissent le RDF des pages.
Lien vers le référentiel des codes de fonctions des auteurs et contributeurs en Intermarc (BnF).
Lien vers le référentiel des codes de fonctions de la Bibliothèque du Congrès.
- Les pages « thèmes » :
Parmi les données exposées et récupérables, se trouvent notamment les notices de sujets RAMEAU (Répertoire d'autorité-matière encyclopédique et alphabétique unifié) de la BnF. Elles ont été converties dans le langage RDF SKOS (Simple Kowledge Organisation), dans le cadre du projet européen TELplus. Ce référentiel est désormais maintenu à jour sur data.bnf.fr avec la base de données totale et actualisée de la BnF.
Pour obtenir des URI déréférençables dans le site data.bnf.fr, les URI du projet initial, de type http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb12650268p, sont converties en URI simplement composés d’une racine http://data.bnf.fr et de l’ark de la notice RAMEAU correspondante.
Exemple :
l’URI type http://stitch.cs.vu.nl/vocabularies/rameau/ark:/12148/cb12650268p, pour le sujet « ornithologie », sera remplacé par : http://data.bnf.fr/ark:/12148/cb12650268p
Les manifestations, ayant pour sujet un terme RAMEAU, sont rattachées à la page « Thème » correspondante.
De plus, le site comprend des pages regroupant des études (œuvres et manifestations) au sujet d'une œuvre ou d'un auteur. Elles ne sont pas indexées par les moteurs de recherches et ne sont accessibles que depuis les pages « œuvres » ou « auteurs » correspondantes.
Par exemple : sur la page « Napoléon », on trouvera un lien vers une page regroupant les documents portant sur Napoléon, tels que Vie de Napoléon Buonaparte, 1827.
Alignements et regroupements par œuvre (« clustering »)
Dans les pages « auteurs » et « œuvres », les manifestations d'un même auteur sont regroupées autour des œuvres par le lien à une notice d'autorité Titre Conventionnel (TIC), exprimé dans les notices bibliographiques d’origine.
Cependant, certaines manifestations non reliées restent orphelines. Afin d’améliorer la FRBRisation des données et par conséquent l’ergonomie de consultation des utilisateurs, il importe de réaliser des alignements de ces manifestations orphelines, c’est-à-dire des rapprochements automatiques de ces manifestations vers les œuvres correspondantes.
Exemples :
Notice bibliographique de la BnF avec un lien à la notice autorité auteur « Jean de la Fontaine » et un lien vers la notice d’autorité titre « Les Fables ».
Notice bibliographique de la BnF sans lien vers la notice d’autorité titre « La cigale et la fourmi » mais avec un lien vers la notice autorité auteur La Fontaine.
C’est pourquoi un alignement simple est d’ores et déjà mis en œuvre dans data.bnf.fr. Lorsqu’une manifestation est expressément liée, dans la notice bibliographique d’origine, à la notice d’autorité de l’auteur et que la chaîne de caractères du titre correspond exactement à celle de l’œuvre, la manifestation est automatiquement rattachée à l’œuvre.
Toutefois, à l’issue de cet alignement simple, de nombreuses manifestations restent encore orphelines. A terme, deux solutions sont possibles :
Nous utilisons un algorithme d'alignement simple et avancé (mot commençant par, contient les mots exactement, contient les mots distance X, distance de Levenstein, algorithme de prédication) pour définir si deux chaînes de caractères correspondent à une même œuvre. Le lien vers la notice autorité personne, dans la notice bibliographique, reste déterminant pour l'alignement des œuvres.
Schéma simple
Le schéma ci-dessous présente l'organisation générale des données :

Exemple de graphe 1 : Victor Hugo, auteur des Contemplations.
Exemple de graphe 2 : Charles Baudelaire, préfacier d’une édition du Scarabée d’or d’Edgar Poe.
Consulter le schéma complet du modèle de donnée
Données embarquées: schema.org et Opengraph Protocol
Les pages « auteurs », « œuvres » et « thèmes » sont ouvertes sur le Web, et accessibles directement par les internautes depuis les moteurs de recherche.
C'est pourquoi, outre les méthodes traditionnelles d'indexation de la page d'accueil, nous avons choisi d'embarquer deux types de données pour structurer les pages « auteurs », « œuvres » et « thèmes » :
Nous avons utilisé les éléments suivants, s'appliquant à toute la partie « body » du html :
itemtype=http://schema.org/Person
itemprop="description" itemprop="birthdate" itemprop="deathdate" itemprop="nationality" itemprop="memberOf"
itemtype=http://schema.org/Book
itemprop="description" itemprop="inLanguage" itemprop="datePublished" itemprop="genre"
itemtype= http://schema.org/Organization
itemprop="description" itemprop="image" itemprop="name" itemprop="url" itemprop="members" itemprop="founding date" itemprop="founders"
Avec, pour les groupes, des sous-classes d'organisation :
itemscope itemtype= http://schema.org/PerformingGroup itemscope itemtype= http://schema.org/DanceGroup itemscope itemtype= http://schema.org/TheaterGroup itemscope itemtype= http://schema.org/MusicGroup
C'est un vocabulaire très simple, mis en place pour encoder en RDFa quelques métadonnées qui seront récupérées lorsque l'utilisateur ajoutera la ressource à son profil Facebook. Dans le header de la page HTML, les métadonnées suivantes sont intégrées grâce à des balises META :
og: title (titre de la page)
og: description (description du contenu de la page)
og: type (type de ressource décrite : auteur et livre)
og: url (URL de la page)
og: image (URL de l’image illustrant la page)
og: author (pour les pages « Œuvres », le nom de l’auteur)
Vocabulaires employés
La réutilisation de vocabulaires existants a été privilégiée pour favoriser l'interopérabilité.En particulier :
rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns;
rdfs: http://www.w3.org/2000/01/rdf-schema ;
skos: http://www.w3.org/2004/02/skos/core ;
dc: http://purl.org/dc/terms ;
foaf: http://xmlns.com/foaf/0.1/ ;
RDAgroup2elements http://rdvocab.info/uri/schema/FRBRentitiesRDA ;
RDVocab: http://RDVocab.info/Elements.
Néanmoins, certaines propriétés et classes ne peuvent être exprimées que par une ontologie propre à la BnF : bnf-onto. Pour publier ses ontologies, la BnF a choisi un espace de nommage homogène de forme http://data.bnf.fr/ontology.
Présentation de l’ontologie bnf-onto
L’ontologie bnf-onto est déclarée à l’adresse suivante : http://data.bnf.fr/ontology/bnf-onto/".
Liste des propriétés :
S’emploie pour les rôles de contributions, avec une valeur littérale (chiffre).
S’emploie en complément d’une balise marcrel avec le référentiel des codes de fonctions de la bibliothèque du Congrès. http://data.bnf.fr/ontology/bnf-onto/code_role.
Vocabulaires BnF
Les référentiels spécifiques de la BnF sont déclarés à l’adresse suivante : http://data.bnf.fr/vocabulary/.
Liste des vocabulaires :
Mappings entre le format InterMarc et le RDF fourni
| Personnes | Correspondance RDF | Zone intermarc (notices PEP) |
| forme | skos:prefLabel @in_lang | 100 400 |
| autre forme | skos:altLabel foaf:familyName foaf:givenName dc:date | |
| nationalité | foaf:nationality | 008 position 12-13 |
| langue | RDAgroup2elements: languageOfThePerson | 008 position 14 16 |
| sexe | foaf:gender | 008 position 17 |
| naissance | RDAgroup2elements:dateOfBirth | 008 position 27-36 |
| mort | RDAgroup2elements:dateOfDeath | 008 position 37-46 |
| lieu de naissance | RDAgroup2elements:placeOfBirth | 603 $a |
| lieu de mort | RDAgroup2elements:placeOfDeath | 603 $b |
| début d'activité | RDAgroup2elements:periodOfActivityOfThePerson | 008 position 47 à 51 |
| fin d'activité | RDAgroup2elements:periodOfActivityOfThePerson | 008 position 52-55 |
| sources (note sur les sources de la notice) | skos:editorialNote | 610 |
| résumé, note | RDAgroup2elements: biographicalInformation | 600 |
| domaines | RDAgroup2elements: fieldOfActivityOfThePerson | 624 |
| liens vers la ressource Dbpedia | owl:sameAs | |
| fonction de contributeur | marcrel:[code de fontion de la bibliothèque du Congrès, http://id.loc.gov] | |
| vignette Gallica représentant l'auteur | foaf: depiction | |
| Organisation | Correspondance RDF | Zone Intermarc (notices ORG) |
| forme | skos:prefLabel @in_lang | 100 400 |
| nationalité | foaf:nationality | 008 position 12-13 |
| langue | RDAgroup2elements: languageOfThePerson | 008 position 14 16 |
| date de début | RDAgroup2Elements:dateAssociatedWithTheCorporateBody | 008 pos 27 à 36 |
| date de fin | RDAgroup2Elements:dateAssociatedWithTheCorporateBody | 008 pos 37 à 46 |
| début activité | dc:date | 008 pos 47 à 51 |
| fin activité | RDAgroup2elements:periodOfActivityOfTheCorporateBody | 008 pos 52 à 55 |
| site internet | foaf:homepage | 606 |
| sources | skos:editorialNote | 610 |
| résumé/note | RDAgroup2elements:corporateHistory | 600 |
| domaine | RDAgroup2elements:fieldOfActivityOfTheCorporateBody | 624 |
| liens vers la ressource Dbpedia | owl:sameAs | |
| Sujets RAMEAU | Correspondance RDF | |
| titre original | skos: prefLabel | 16X 46X |
| autre forme | skos: altLabel | 16X 46X |
| origine (thésaurus Rameau) | skos: inScheme | |
| source (note sur les sources de la notice) | skos: editorialNote | 610-612 |
| note (note descriptive) | skos: scopeNote | 600 |
| termes plus larges | skos: broader | 3XX, 5XX |
| termes plus précis | skos: narrower | 3XX, 5XX |
| termes reliés | skos: related | 3XX, 5XX |
| alignement thésaurus extérieurs | skos: closematch | 620 |
| alignement thésaurus extérieurs | skos: exactmatch | |
| Œuvre | Correspondance RDF | Zone Intermarc (notices TIC, TUT, TUM) |
| forme (titre principal) | dc:title skos:prefLabel, rdfs:label @in_lang | 145 415 |
| autre forme | skos:altLabel @in_lang | |
| langue | dc:language | 008 position 14 16 |
| date oeuvre | dc: date | 008 position 27 à 36 |
| source | skos:editorialNote | 610 |
| résumé/note | dc: description | 600 |
| domaine | dc:subject | 624 |
| lien vers la notice d'autorité du catalogue | owl: sameAs | |
| Ccntenu dans | dc:isPartOf | |
| Relations | ||
| auteur principal | dc: creator | 100 101 110 110 |
| auteur secondaire | dc:contributor bnf_onto:coderole | 711/702/700/701/710/712 |
| auteur code libre | dc:contributor bnf_onto:coderole | code libre 321 322 |
| vignette Gallica de l'œuvre numérisée | foaf: depiction | |
| Manifestation | Correspondance RDF | Zone Intermarc (notice bibliographiques) |
| manifestation de l'œuvre | rdarelationships:workManifested | |
| titre | dc: title | 245 |
| contient | dc:hasPart | |
| édition (date d'édition) | dc:date | 260 |
| édition (lieu d'édition) | rdvocab:placeOfPublication | 250 |
| édition (nom de l'éditeur) | rdvocab:publishersName | 260 |
| description matérielle | dc:description | |
| ISBN | bnf-onto:ISBN | 20 |
| type de document | dc:type | |
| langue | dc: language | 41 |
| adaptation jeunesse | bnf-onto: ouvrageJeunesse | |
| Expression | Correspondance RDF | |
| rôle de contribution | marcrel: [code de fonction de la Bibliothèque du Congrès] | |
| rôle de contribution (chiffre) | bnf-onto: coderole | sous-zone $4 |
| Rôle de contribution (valeur littérale) | bnf-onto: role | |
| type de document | dc: type | |


