CINXE.COM
Semantic Web and data model
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="shortcut icon" href="https://data.bnf.fr/en/data/icons/favicon.ico"> <title>Semantic Web and data model</title> <script> var BASE_URL = "https://data.bnf.fr/en/"; var DATADIR_URL = "https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/"; </script> <link rel="stylesheet" href="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/fontawesome/font-awesome.min.css" type="text/css" media="all" async/> <link rel="stylesheet" href="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/main.css" type="text/css" media="all" async/> <link rel="stylesheet" href="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/searchbar.css" type="text/css" media="all" async/> <link rel="stylesheet" href="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/header.css" type="text/css" media="all" async/> <link rel="stylesheet" href="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/footer.css" type="text/css" media="all" async/> <link rel="stylesheet" href="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/databnf_print.css" type="text/css" media="print" async/> </head> <body id=""> <header id="header"> <div class="content-header"> <div class="logos"> <a id="bnf-logo" href="http://www.bnf.fr" aria-label="Lien vers le site institutionnel www.bnf.fr" target="_blank"> <img src="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/databnf_logo.svg" alt="Bnf" /> </a> <a id="databnf-logo" href="https://data.bnf.fr/en/" aria-label="Lien vers la page d'accueil du site data.bnf.fr"> Data </a> </div> <div id="searchform" data-search-url="https://data.bnf.fr/en/search"></div> <div class="liens-transverses"> <div class="dropdown widescreen-only"> <div class="dropdown-title">Data</div> <ul class="dropdown-content"> <li> <a href="https://data.bnf.fr/en/sparql_sparna_doc" rel="nofollow"> SPARQL and Sparnatural documentation </a> </li> <li> <a href="https://data.bnf.fr/sparql/" rel="nofollow"> Sparql </a> </li> <li> <a href="https://data.bnf.fr/sparnatural/" rel="nofollow"> Sparnatural </a> </li> <li> <a href="https://api.bnf.fr/fr/dumps-de-databnffr" rel="nofollow"> Data dumps </a> </li> <li> <a href="https://data.bnf.fr/en/semanticweb" rel="nofollow"> Semantic web and data model </a> </li> <li> <a href="https://data.bnf.fr/en/vocabulary" rel="nofollow"> Vocabulary pages </a> </li> <li> <a href="https://data.bnf.fr/en/dataviz" rel="nofollow"> Data visualization </a> </li> </ul> </div> <div class="dropdown"> <div id="consultation" class="dropdown-title"></div> <ul class="dropdown-content"> <li> <a href="https://data.bnf.fr/en/summary" rel="nofollow"> Se repérer sur data ? </a> </li> <li> <a href="https://data.bnf.fr/en/askdata" rel="nofollow"> Que demander à data ? </a> </li> <li class="widescreen-only"> <a href="https://data.bnf.fr/en/about" rel="nofollow"> Le projet data </a> </li> <li class="widescreen-only"> <a href="https://data.bnf.fr/en/videotutorial" rel="nofollow"> Video tutorial </a> </li> <li class="widescreen-only"> <a href="https://data.bnf.fr/en/valorisation" rel="nofollow"> Valorisation </a> </li> </ul> </div> <div class="separator"></div> <div class="dropdown"> <div class="dropdown-title"><u>EN</u></div> <ul class="dropdown-content"> <li> <a href="https://data.bnf.fr/fr/semanticweb" rel="nofollow">FR</a> </li> <li> <a href="https://data.bnf.fr/de/semanticweb" rel="nofollow">DE</a> </li> </ul> </div> </div> </div> </header> <main> <div class="page-content"> <div id="navigation-part"></div> <div id="content-part"> <section id="presentation"> <div class="page_title"><h1>Semantic Web and data model</h1></div> <div class="bloc-contenu"> <h2>Summary</h2> <ul><li class="active"><a href="#Ancre1">Data and the semantic web</a></li> <li class="active"><a href="#Ancre2">Testing the IFLA LRM model</a></li> <li class="active"><a href="#Ancre3">The Data project data model</a></li> <li class="active"><a href="#Ancre4">Ontologies and vocabularies used</a></li></ul> <h2 id="Ancre1" style="">Data and the semantic web</h2><p> </a></h2><p> The <a href="index" target="_blank" rel="noopener">Data</a> project has to be placed in the context of our move towards open data. This approach has been defined by the <a href="http://www.w3.org">W3C</a>, regarding the “semantic web” or “linked data”. </p><p> This is about structuring resources in order to make them reusable by machines in a better way. The <a href="index" target="_blank" rel="noopener"> Data</a> project uses data which have been created in various formats such as InterMarc for the main catalogue, XML-EAD for archives inventories and Dublin Core for the digital library. </p><p> <!--Paragraphe modifié juin 2024--> This data is restructured, grouped, enriched by automatic processing and published according to the semantic web's descriptive model, RDF. The result is available on this site in several RDF syntaxes (XML, N3, NT) as well as in JSON and JSON-LD. </p><p> Part of the data is matched with external value vocabularies: <a href="http://id.loc.gov/">id.loc.gov</a> for languages and nationalities, <a href="http://dublincore.org/documents/dcmi-type-vocabulary/">DCMI type</a> for document types. <br/> They are also matched with data sets that are identified by <a href="https://viaf.org" target="_blank" rel="noopener">VIAF</a>, <a href="https://www.idref.fr/" target="_blank" rel="noopener">Idref</a>, <a href="https://www.wikidata.org/" target="_blank" rel="noopener">Wikidata</a>, etc. Finally, data from Rameau theme pages are aligned with other thesauri : <a href="" target="_blank" rel="noopener">LCSH</a>, <a href="https://www.dnb.de/EN/Professionell/Standardisierung/GND/gnd_node.html" target="_blank" rel="noopener">DnB</a>, <a href="http://datos.bne.es/" target="_blank" rel="noopener">BNE</a>, <a href="http://www.fao.org/agrovoc/fr/about" target="_blank" rel="noopener">Agrovoc</a>, <a href="https://www.geonames.org/" target="_blank" rel="noopener">Geonames</a>, <a href="http://data.culture.fr/thesaurus/static/thesaurus-w-web-de-donnees" target="_blank" rel="noopener">Thesaurus W</a> </p><p>The Bibliothèque nationale de France provides: </p><ul> <li> <strong>URIs for resources</strong>: all resources have permanent identifiers, granted via the <a href="https://confluence.ucop.edu/display/Curation/ARK">ARK process</a> which is the way to find all resources of the library.</li> <li> <strong>for each resource, a set of metadata associated </strong> with the resource's URI in the form of RDF triplets, using linked open data technologies. This metadata can be retrieved for each page (export) and for the entire database (dump). They can also be queried via a Sparql console. </li> </ul><p></p><h2 id="Ancre2" style="">Testing the IFLA LRM model</h2><p> The data model of <a href="index" target="_blank" rel="noopener">Data</a> is based on the <a href="https://www.ifla.org/publications/node/11412" target="_blank" rel="noopener">IFLA LRM </a>(Library Reference Model), the conceptual reference model for structuring catalogue data in libraries, defined by the International Federation of Library Associations and Institutions (IFLA).</p><p>Published in 2017, this model combines and replaces <a href="https://www.bnf.fr/fr/modeles-frbr-frad-et-frsad" target="_blank" rel="noopener">three previous models </a>: FRBR (which concerned bibliographic records), FRAD (authority records) and FRSAD (subject authority records).</p><p>IFLA LRM defines a set of entities (selected for their relevance to the user), endowed with attributes, and linked by properties. This entity-relationship model has been designed to be transposable to semantic web technologies.</p> <p>To find out more about this model, see the <a href="https://www.transition-bibliographique.fr/enjeux/definition-ifla-lrm/">National Bibliographic Transition Programme website.</a>. </p> <div style="text-align: center"> <img src="https://www.transition-bibliographique.fr/wp-content/uploads/2020/10/Schema_LRM.jpg" alt="Schéma complet IFLA-LRM" width="100%"/> </div> <p></p> <p><a href="index" target="_blank" rel="noopener">Data</a> does not use the IFLA LRM model in its entirety, but provides a means of navigating the relationships between entities. The various pages of the site (see a brief presentation of their content on the page <a href="askdata" target="_blank" rel="noopener">What can you ask data?</a>) reflect several entities of the model: </p><ul> <li>the work pages give access to information about the work as such and also allow you to enter the OEMI tree (Work, Expression, Manifestation, Item). the first three levels are set out in the <a href="11952658/dante_alighieri_la_divina_commedia/rdf.xml" target="_blank" rel="noopener">RDF</a> of the pages, the item can only be apprehended in the form of the digital version of a document held in the BnF's collections, when this is available. In the html pages themselves, the expressions can be identified indirectly by applying the language filter, which makes it possible to distinguish the language of the events listed under <a href="11952658/dante_alighieri_la_divina_commedia/#editions" target="_blank" rel="noopener">"Editions"</a>.</li> <li>Entities of "Agent" type are represented in the "Authors" pages under their two sub-classes, that of natural persons on the one hand, and that of organisations on the other. A person can be the author of a work (a link then exists between the "author" page and the corresponding "work" page) or a contributor to an expression (preface writer, translator, librettist, etc.). In RDF data, the relationship between an author and a resource will be expressed at the work level if the person is the author of the work (author of the original text, composer, director); or at the expression level if they have produced a translation, an interpretation (in music), etc. The notion of author expressed at the level of the work will in any case be repeated at the level of the expression.</li> <li>All the entities in the IFLA LRM model are likely to be the subject of a work, but theme pages have a more restricted scope: they are constructed from <a href="https://rameau.bnf.fr/informations/rameauenbref" target="_blank" rel="noopener">Rameau</a> authority records, the language used for indexing at BnF.</li> </ul><h2 id="Ancre3" style="">The Data project data model <a href="https://data.bnf.fr/images/modele_donnees_2018_02.pdf" >(new window)</a></h2> <iframe src="https://data.bnf.fr/images/modele_donnees_2018_02.pdf" alt="presentation of the data model of data.bnf.fr" class="contain" width="100%" height="600"> </iframe> <h2 id="Ancre4" style="">Ontologies and vocabularies used</h2><h3 id="Using-widely-available-ontologies" style=""> Using widely available ontologies </h3><p> Reuse of existing vocabularies has been favoured to promote interoperability, in particular : </p><table border="1"> <tbody> <tr> <td valign="top" width="300"> <p> rdf </p> </td> <td valign="top" width="300"> <p> <a href="https://www.w3.org/TR/rdf-syntax-grammar/" target="_blank" rel="noopener"> https://www.w3.org/TR/rdf-syntax-grammar/ </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> rdfs </p> </td> <td valign="top" width="300"> <p> <a href="https://www.w3.org/TR/rdf-schema/" target="_blank" rel="noopener"> https://www.w3.org/TR/rdf-schema/ </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> skos </p> </td> <td valign="top" width="300"> <p> <a href="http://www.w3.org/2004/02/skos/core" target="_blank" rel="noopener"> http://www.w3.org/2004/02/skos/core </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> dcterms </p> </td> <td valign="top" width="300"> <p> <a href="https://dublincore.org/specifications/dublin-core/dcmi-terms/#section-2" target="_blank" rel="noopener"> https://dublincore.org/specifications/dublin-core/dcmi-terms/#section-2 </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> foaf </p> </td> <td valign="top" width="300"> <p> <a href="http://xmlns.com/foaf/0.1/" target="_blank" rel="noopener"> http://xmlns.com/foaf/0.1/ </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> rdaregistry </p> </td> <td valign="top" width="300"> <p> <a href="http://rdaregistry.info/Elements/" target="_blank" rel="noopener"> http://rdaregistry.info/Elements/ </a> </p> </td> </tr> </tbody> </table> <p></p> <p>The following vocabularies are also used:</p> <table border="1"> <tbody> <tr> <td valign="top" width="300"> <p> bibo </p> </td> <td valign="top" width="300"> <p> <a href="https://www.dublincore.org/specifications/bibo/bibo/" target="_blank" rel="noopener"> https://www.dublincore.org/specifications/bibo/bibo/ </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> bio </p> </td> <td valign="top" width="300"> <p> <a href="https://vocab.org/bio/ target="_blank" rel="noopener"> https://vocab.org/bio/ </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> dbpedia </p> </td> <td valign="top" width="300"> <p> <a href="http://mappings.dbpedia.org/index.php/Main_Page target="_blank" rel="noopener"> http://mappings.dbpedia.org/index.php/Main_Page </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> dc </p> </td> <td valign="top" width="300"> <p> <a href="https://dublincore.org/specifications/dublin-core/dcmi-terms/#section-3 target="_blank" rel="noopener"> https://dublincore.org/specifications/dublin-core/dcmi-terms/#section-3 </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> dcmi-box </p> </td> <td valign="top" width="300"> <p> <a href="https://www.dublincore.org/specifications/dublin-core/dcmi-box/ target="_blank" rel="noopener"> https://www.dublincore.org/specifications/dublin-core/dcmi-box/ </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> dcmitype </p> </td> <td valign="top" width="300"> <p> <a href="https://www.dublincore.org/specifications/dublin-core/dcmi-terms/#section-7" target="_blank" rel="noopener"> https://www.dublincore.org/specifications/dublin-core/dcmi-terms/#section-7 </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> frbr-rda </p> </td> <td valign="top" width="300"> <p> <a href="http://metadataregistry.org/schema/show/id/14.html" target="_blank" rel="noopener"> http://metadataregistry.org/schema/show/id/14.html </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> geo </p> </td> <td valign="top" width="300"> <p> <a href="https://www.w3.org/2003/01/geo/wgs84_pos#" target="_blank" rel="noopener"> https://www.w3.org/2003/01/geo/wgs84_pos# </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> geonames </p> </td> <td valign="top" width="300"> <p> <a href="http://www.geonames.org/ontology# " target="_blank" rel="noopener"> http://www.geonames.org/ontology# </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> go </p> </td> <td valign="top" width="300"> <p> <a href="http://geneontology.org/docs/ontology-documentation/" target="_blank" rel="noopener"> http://geneontology.org/docs/ontology-documentation/ </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> ign </p> </td> <td valign="top" width="300"> <p> <a href="http://data.ign.fr/def/topo/20190212.htm" target="_blank" rel="noopener"> http://data.ign.fr/def/topo/20190212.htm </a> </p> </td> </tr> <!-- paragraphe modifié juin 24 pour ajouter rdagroup1 et rdagroup2 --> <tr> <td valign="top" width="300"> <p> rdagroup1elements </p> </td> <td valign="top" width="300"> <p> <a href="http://rdvocab.info/Elements/" target="_blank" rel="noopener"> http://rdvocab.info/Elements/ </a> </p> </td> </tr> <tr> <td valign="top" width="300"> <p> rdagroup2elements </p> </td> <td valign="top" width="300"> <p> <a href="http://rdvocab.info/ElementsGr2/" target="_blank" rel="noopener"> http://rdvocab.info/ElementsGr2/ </a> </p> </td> </tr> </tbody> </table> <h3 id="Embedded-data-for-referencing" style=""> Embedded data to boost referencing </h3><p> <!--Paragraphe modifié juin 2024 pour ajouter json-ld--> The HTML pages pages on data.bnf.fr are open to the Web, and can be accessed directly by Internet users using search engines. <br> This is why, in addition to the traditional methods of indexing the home page, <strong>three types of data are embedded</strong> to structure the site's pages: </p><ul> <li> <a href="http://schema.org" target="_blank" rel="noopener">Schema.org</a>, which provides a vocabulary for adding information to HTML content in a microdata format, making it easier for the major search engines to find it. </li> </ul> <!-- modif juillet 2024 --> <ul><li><a href="https://json-ld.org/" target="_blank" rel="noopener">JSON-LD</a> which is a structured metadata format readable by search engines.</ul> <ul> <li> <a href="https://ogp.me/" target="_blank" rel="noopener">Opengraph Protocol</a> (OG) which allows pages to be represented in social networks. </li> </ul><p> This is a very simple vocabulary, set up to encode in RDFa some of the metadata that will be retrieved when the user adds the resource to their Facebook profile. In the header of the HTML page, the following metadata are integrated using META tags : </p><ul> <li><code>og:title</code> (page title)</li> <li><code>og:description</code> (description of page content)</li> <li><code>og:type</code> (type of resource described: author and book)</li> <li><code>og:url</code> (Page URL)</li> <li><code>og:image</code> (URL of image illustrating the page)</li> <li><code>og:author</code> (for "Work" pages, the author's name)</li> </ul><h3 id="BnFs-own-ontology-and-vocabularies" style=""> BnF's own ontology and vocabularies </h3><h4 id="The-bnf-onto-ontology" style=""> The bnf-onto ontology </h4><p> Certain properties and classes can only be expressed by an ontology specific to BnF: bnf-onto. To publish its ontologies, BnF has chosen a uniform namespace: https://data.bnf.fr/ontology <strong><a href="ontology" target="_blank" rel="noopener"> https://data.bnf.fr/ontology</a></strong>. </p><h4 id="BnFs-own-vocabularies" style=""> BnF's own vocabularies </h4> <p> The repositories specific to BnF are declared at the following address: <a href="vocabulary" target="_blank" rel="noopener">https://data.bnf.fr/vocabulary</a>. </p> <p>List of vocabularies : </p> <ul> <li>country codes : <a href="vocabulary/countrycodes" target="_blank" rel="noopener"> https://data.bnf.fr/vocabulary/countrycodes </a> </li> <li>role codes : <a href="vocabulary/roles" target="_blank" rel="noopener"> https://data.bnf.fr/vocabulary/roles </a> </li> <li>types of Rameau themes : <a href="vocabulary/scheme" target="_blank" rel="noopener"> https://data.bnf.fr/vocabulary/scheme </a> </li><li>geographical classification codes : <a href="vocabulary/geo-scheme" target="_blank" rel="noopener">https://data.bnf.fr/vocabulary/geo-scheme</a></li> <li>codes to musical genres : <a href="vocabulary/musical-genre" target="_blank" rel="noopener">https://data.bnf.fr/vocabulary/musical-genre</a></li> </ul> </div> </section> </div> <div id="infobox-part"> </div> </div> </main> <div id="returntop"> <a href="#" class="fa fa-arrow-up" role="button" aria-label="Back to top" > </a> </div> <script> let returnTopBtn = document .getElementById('returntop'); window.addEventListener('scroll', function () { if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) { returnTopBtn.style.display = 'block'; } else { returnTopBtn.style.display = 'none'; } }); </script> <footer> <div class="footer-links"> <div>Last update: 2025-03-19</div> <div><a href="https://data.bnf.fr/en/licence">Informations legales</a></div> <div><a href="https://data.bnf.fr/en/privacy">Privacy policy</a></div> <div><a href="https://data.bnf.fr/en/contact">footer.contact</a></div> <div>version 4.4.3</div> </div> <script src="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/i18n/translations.js"></script> <script src="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/jquery.js" defer></script> <script src="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/jquery.ui.js" defer></script> <script src="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/bootstrap.min.js" defer></script> <script src="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/bundle-v2_searchbar.js" defer></script> <script src="https://data.bnf.fr/data/a0cba9af174246332a229d264b752797/v2/bundle-primary.js" defer></script> </footer> <!-- Appel à bnf_marquage.js --> <!-- marquage cf. #92133 --> <script async defer type="text/javascript" src="https://multimedia-ext.bnf.fr/bnf_marquage/bnf_marquage.js?version=1.0&domaine=data_p.bnf.fr"> </script> <!-- balise div de class "marquage-page" avec les attributs data-* --> <div class="marquage-page" data-siten1="18798" data-level2="37" data-chapitre1="" data-titre="Le titre de ma page" > </div> <script> // Obtenir la référence du div const divMarquage = document.querySelector('.marquage-page'); //console.log(divMarquage) if (divMarquage) { // Modifier le contenu du div divMarquage.setAttribute('data-titre', document.title); } else { console.error("Aucun élément avec la classe 'marquage-page' trouvé."); } // console.log(divMarquage) </script> </body> </html>