Web sémantique et modèle de données

Sommaire

  • Le web sémantique dans le projet data.bnf.fr
  • Mécanique FRBR et concepts œuvres, auteurs et sujets
  • Schéma simple
  • Données embarquées: schema.org et Opengraph Protocol
  • Vocabulaires employés
  • Présentation de l’ontologie bnF-onto
  • Vocabulaires BnF
  • Mappings entre le format InterMarc et le RDF fourni
  • 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, 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 :

  • Des URI pour les ressources : toutes les ressources disposent d’identifiants pérennes, attribués selon le mécanisme ARK qui permet d’accéder à toutes les ressources de la bibliothèque.
  • Une exposition RDF en « Linked open data » pour les données de data.bnf.fr, disponible pour chaque page et pour toute la base.
  • Comment récupérer les données de data.bnf.fr :

  • en cliquant sur l'icône " RDF " en bas des pages ;
  • en ajoutant un des suffixes suivants à l'URL : NT, N3, RDF-XML selon le format souhaité, par exemple :
    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.
  • par négociation de contenu en utilisant un navigateur RDF à partir des URL.
  • 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)

    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.

    logo cubicweb

    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 :

  • une œuvre et une autre œuvre. Par exemple : Le Père Goriot, d'Honoré de Balzac, est contenu dans Les Scènes de la vie privée du même auteur, et tous deux ont le statut d'œuvre et sont dotés d’une page data.bnf fr.
  • une manifestation et une autre manifestation. Par exemple : une édition particulière du Père Goriot est contenue dans la manifestation Etudes de moeurs, qui est une édition regroupant plusieurs textes de Balzac.
    • 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 :

  • une solution d’alignement : les manifestions sont rattachées à une œuvre, pour laquelle il existe une unité documentaire. Il s'agit des manifestations qui n'avaient pas de lien avec les notices autorités du catalogue : notices bibliographiques non liées issues du catalogue général, notices issues du catalogue BnF archives et manuscrits.
    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.
  • le regroupement : s'il n'existe pas d'autorité œuvre créée, certaines manifestations sont regroupées autour d'une nouvelle unité documentaire.
  • Schéma simple

    Le schéma ci-dessous présente l'organisation générale des données :

    schema ontologie

    Exemple de graphe 1 : Victor Hugo, auteur des Contemplations.

    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.

    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

    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 » :

  • Schema.org, qui fournit un vocabulaire pour ajouter de l'information au contenu HTML avec un format de microdonnées, favorisant le référencement par les grands moteurs de recherche.
  • 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

  • Opengraph Protocol (OG) qui permet aux pages d'être représentées dans les réseaux sociaux :
  • 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 :

  • isbn = utilisé pour déclarer le numéro international d’identification d’un libre (International standard book number). http://data.bnf.fr/ontology/bnf-onto/isbn.
  • imgAlt = texte alternatif pour les images. http://data.bnf.fr/ontology/bnf-onto/imgAlt.
  • ean = numéro d’identification EAN (european article numbering), code barre. http://data.bnf.fr/ontology/bnf-onto/ean.
  • cote = cote d’un document d’archives : numéro unique identifiant l’exemplaire matériel conservé dans les collections.http://data.bnf.fr/ontology/bnf-onto/cote.
  • depiction = la vignette préférée d’une image, choisie par un opérateur pour illustrer une page data.bnf.fr.http://data.bnf.fr/ontology/bnf-onto/depiction.
  • issn = numéro ISSN (International standard serial number) utilisée pour les périodiques.http://data.bnf.fr/ontology/bnf-onto/issn.
  • ismn = numéro ISMN (International standard music number) utilisé pour la musique imprimé.http://data.bnf.fr/ontology/bnf-onto/ismn.
  • expositionVirtuelle = URL d’une exposition virtuelle de la BnF.http://data.bnf.fr/ontology/bnf-onto/expositionVirtuelle.
  • anl = une notice analytique (ANL) est une sous-notice bibliographique établie pour rassembler les accès nécessaires à une partie d’un document (texte inclus dans un ouvrage, illustration d’un livre, etc.).http://data.bnf.fr/ontology/bnf-onto/anl.
  • ouvrageJeunesse = édition d’un ouvrage destinée à un public jeune. Cette propriété permet de trier les éditions, qui ont souvent un contenu différent malgré un titre identique.http://data.bnf.fr/ontology/bnf-onto/ouvrageJeunesse.
  • code_role = Code de fonction du rôle de la personne/organisation en relation avec l’ouvrage décrit.
    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.
  • role = nom pour désigner le rôle des contributeurs.http://data.bnf.fr/ontology/bnf-onto/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 :

  • Liste des codes de pays : http://data.bnf.fr/vocabulary/countrycodes
  • Liste des codes de rôles : http://data.bnf.fr/vocabulary/roles
  • Liste des types de sujets RAMEAU : http://data.bnf.fr/vocabulary/scheme
  • 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