Outils pour utilisateurs

Outils du site


besson_sylvain:economist_jurist

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
besson_sylvain:economist_jurist [2021/03/18 12:10]
Sylvain Besson [VIAF]
besson_sylvain:economist_jurist [2021/03/30 12:27]
Sylvain Besson [Économiste et juriste]
Ligne 3: Ligne 3:
 ====== Économiste et juriste ====== ====== Économiste et juriste ======
 \\ \\
-Économiste et juriste est un projet visant à étudier les économistes et les juristes depuis 1800 jusqu'​à nos jours. Pour cela, nous allons prendre les données qui sont présentes sur DBpedia et BnF Data et les lier entre elles. Le but final étant d'​avoir une base de données fonctionnelle sur ces populations. De cette base de données nous pourront réaliser plusieurs traitements statistiques,​ d'​analyses descriptives et d'​analyses de réseaux. ​+Économiste et juriste est un projet visant à étudier les économistes et les juristes depuis 1800 jusqu'​à nos jours. Pour cela, nous allons prendre les données qui sont présentes sur [[https://​www.dbpedia.org/​|DBpedia]] et [[https://​data.bnf.fr/​|BnF Data]] et les lier entre elles. Le but final étant d'​avoir une base de données fonctionnelle sur ces populations. De cette base de données ​créées, ​nous pourront réaliser plusieurs traitements statistiques,​ d'​analyses descriptives et d'​analyses de réseaux.
  
-=====DBpedia===== +Sur cette pagevous retrouvez ​l'ensemble des éléments pour comprendre notre projet:
-\\  +
-[[https://​wiki.dbpedia.org/​about|DBpedia]] est une projet participatif d'​extraction de données structurées à partir de différents projets Wikimedia (c'est avant tout pour extraire les données de Wikipedia)débuté en 2007 par l'université libre de Berlin et l'​université de Leipzig. Ce projet ​s'​inscrit dans la démarche du //​[[https://​en.wikipedia.org/​wiki/​Linked_data|linked data]]// imaginé par Tim Berners-Lee. Le but étant de permettre que les données soient visibles aussi bien par des êtres humains que par des machines. Les données sont encodées au format [[https://​fr.wikipedia.org/​wiki/​Resource_Description_Framework|RDF]]. Cette base de données peut ensuite être interrogée au moyen d'un langage SQL tel que [[https://​fr.wikipedia.org/​wiki/​SPARQL|SPARQL]].+
  
-Au prémisse du projet, l'​objectif de DBpedia était de récupérer toutes ​les données qui sont contenues dans les //​infoboxes//​ (c'est une table de données résumant les informations essentiels dans une fiche Wikipedia) de Wikipedia. Ensuiteils ont aussi récupérer diverses données comme le résumé ou bien tous les liens présents sur la pages. Ils ont pu aussi rajouter d'​autres liens vers des fiches d'​autres sites ou bases de données. Cette extraction (via l'​extracteur MARVIN) se faisait au début du projet tous les ans, mais aujourd'​hui ils arrivent à extraire l'​ensemble des données de Wikipedia chaque mois. De plus actuellement,​ à chaque étape de l'​extraction jusqu'​à la publication,​ il y a une validation sur la plateforme [[https://​databus.dbpedia.org/​|Databus]] afin de corriger la syntaxe RDF, etc. +  * Une **[[projets_individuels:​economiste_juriste_documentation|documentation]]** expliquant ​les différents langages utilisés, le fonctionnement ​des bases de données ​utilisées, etc.
  
-De plus, il y a une [[https://​wiki.dbpedia.org/​online-access/​DBpediaLive/​|version]] qui est mise à jour à chaque modification ​sur Wikipedia. Cette dernière ne se base que sur le Wikipedia anglais.+  * Les **[[projets_individuels:economiste_juriste_delimitation|choix]]** faits sur la définition des termes "​économistes"​ et "​juristes"​ ainsi que les bornes chronologiques et géographiques choisies.
  
-Parallèlement à ça, ils ont créé une [[https://​wiki.dbpedia.org/​services-resources/​ontology|ontologie]] afin de structurer hiérarchiquement l'​ensemble des données. Cette ontologie se fait suite à l'​extraction des données à partir de cette dernière, mais ils gardent accessible l'​extraction initiale des ressources. L'​ontologie s'​appuie aussi ce que qui a été fait par [[https://​schema.org/​|schema.org]] (vocabulaire pour lier les données du web, créés par Google, Microsoft, Yahoo et Yandex) pour améliorer leur ontologie. DBpedia s'est aussi très récemment associé à [[https://​www.diffbot.com/​|Diffbot]] qui permet d'​extraire des données structurées à partir ​de données non-structurées (TAL - Traitement automatique des langues) ([[https://​blog.dbpedia.org/​2021/​01/​14/​the-diffbot-knowledge-graph-and-extraction-tools/​|lien vers la source]]).+  * La feuille ​de route retraçant ​les différentes étapes ​de notre projet.
  
-Il est possible de voir la structure de l'​ontologie,​ ainsi que les instances[[http://​78.46.100.7:​9000/​|ici]] avec des graphs dynamiques+  * Le détail ​des étapes réalisés.
  
-Nous avons donc dans DBpedia des classes ([[https://​dbpedia.org/​ontology/​Economist|exemple]]) et des propriétés ([[https://​dbpedia.org/​ontology/​personFunction|exemple]]). Mais aussi, nous avons des ressources simples ([[https://​dbpedia.org/​page/​Economist|exemple]]) qui peuvent jouer le rôle d'​instance.+----
  
-Pour aller plus loin dans la compréhension de DBpedia, il est possible de lire de lire cette article sur la dernière mise à jour parue: Hofer M., Hellmann S., Dojchinovski M., Frey J., [[https://​link.springer.com/​chapter/​10.1007/​978-3-030-59833-4_1|The New DBpedia Release Cycle: Increasing Agility and Efficiency in Knowledge Extraction Workflows]], dans: Blomqvist E. et al. (eds) //Semantic Systems. In the Era of Knowledge Graphs. SEMANTICS 2020. Lecture Notes in Computer Science//Springer, Cham, 27 octobre 2020. (DOI:10.1007/​978-3-030-59833-4_1)+=====Documentation===== 
 +Vous retrouverez ​la **[[Economiste_Juriste_Documentation|documentation]]** qui peut être utile pour comprendre le projet avec les langages employésles jeux de données utilisésetc.
  
  
-Vous retrouver ​[[https://dbpedia.org/sparql?​nsdecl|ici]] la liste des [[https://​fr.wikipedia.org/​wiki/Espace_de_noms|espaces de noms]] (wikipedia fr) utilisés par DBpedia.+Accès à notre **[[https://github.com/Semantic-Data-for-Humanities/Economists_Lawyers|dépôt Github]]** sur lequel nous mettons nos différents carnets Python.
  
-L'​accès direct au [[https://​dbpedia.org/​sparql|terminal SPARQL]] de DBpedia, ainsi que de la version //​[[https://​live.dbpedia.org/​sparql|live]]//​.+----
  
-=====BnF Data===== +=====Délimitation du sujet=====
-\\ +
-[[https://​data.bnf.fr/​|BnF Data]] est une base de données permettant de rendre accessible les données de la Bibliothèque nationale de France, issues de [[https://​gallica.bnf.fr/​accueil/​fr/​content/​accueil-fr?​mode=desktop|Gallica]] (portail des numérisations de la BnF), du [[https://​catalogue.bnf.fr/​index.do|catalogue général]] de la bibliothèque,​ ainsi que d'​[[https://​archivesetmanuscrits.bnf.fr/​|Archives et manuscrits]] (catalogue dédié aux archives et au manuscrits des différents fonds de la BnF). Le projet a pour but de fournir des données structurés interprétables par des machines mais aussi lisibles par des humains, afin là aussi d'​être dans les principes du //linked open data//. Les données sont encodées dans le format standard RDF. Cela implique qu'à chaque ressource un URI lui est associé, c'est le [[https://​fr.wikipedia.org/​wiki/​Archival_Resource_Key|mécanisme ARK]]. ​+
  
-De plus, une partie des données est alignée sur d'autres référentiels et jeux de données comme DBpedia (à noter que c'est le DBpedia français ​et non le DBpedia global) et VIAF+Afin d'avoir une population claire ​à étudier, il faut pour cela délimiter notre sujet et ainsi discriminer les personnes qui rentrent ou non dans la définition d'​économiste ou de juriste
  
-====Modèle utilisé par BnF Data====+Dans cette section, vous retrouverez la **[[economiste_juriste_delimitation|délimitation du sujet]]** qui est le point de départ de notre recherche.
  
-BnF Data utilise aussi une modèle pour son fonctionnement. Ce modèle s'​intitule FRBR (//​Functional Requirements for Bibliographic Records//). Il a été développé par l'IFLA en 1998 afin de répondre aux besoins de bibliothèques en matière de modélisation mais il a évolué ensuite en deux modèles distincts le FRBRer et le [[http://​www.cidoc-crm.org/​frbroo/​|FRBRoo]]. le FRBRer est le FRBR initial mais dont le nom a été modifié par commodité afin de la distinguer du FRBRoo. Il intègre aussi par le suite le FRANAR (//​Functional Requirements and Numbering of Authority Records//) en 1999 et le FRSAD  (//​Functional Requirements for Subject Authority Data model//) en 2005 permettant d'​intégrer des autorités. Le FRBRoo, quand a lui est issu d'un groupe de travail entre l'IFLA et le [[http://​cidoc-crm.org/​|Cidoc CRM]]. 
  
-Les distinctions entre les deux modèles sont les suivantes: ​+----
  
-  * Tout d'​abord,​ le FRBRer est qualifié d'​Entité Relation tandis que le FRBRoo est qualifié d'​Orienté Objet afin de le placer dans le cadre du Cidoc CRM. +=====Sondage des données=====
  
-  * Ensuite dans le FRBRoo les entités deviennent ​des classes, les attributs ​et les attributs deviennent ​des propriétés. De plus, chaque classe ou propriété a un URI.+La première étape est de connaître l'​état des jeux de données de [[https://​www.dbpedia.org/​|DBpedia]] et [[https://​data.bnf.fr/​|BnF Data]] afin de voir le nombre de personnes dont on peut considérer qu'​elles font parties de la "​population" ​des Économistes ​et des juristes.
  
-  * Enfin on ne parle d'ontologie que pour le FRBRoo.+Pour cela il faut réaliser des Requêtes [[https://​www.w3.org/​TR/​rdf-sparql-query/​|SPARQL]] afin de connaître indépendamment sur les deux bases de données le nombre de personnes qui répondre à ce critère. Pour cela, il ne faut faire les requêtes avec le moins grande nombre de critère de sélection afin de ne réduire la population si une personne ne correspond pas à une des critères. Les seuls critères qui sont conservés sont l'URI de la personne, sans quoi on ne peut pas l'identifier et l'​année de naissance
  
-Ce [[https://​bibliotheques.wordpress.com/​2013/​06/​13/​frber-et-frbroo/​|billet ​de blog]] d'​Etienne Cavalié résume très bien la distinction qui est faite entre les deux modèles (l'échange de commentaires entre Etienne Cavalié et Patrick Le Boeuf en fin de blog est aussi intéressant).+Il est ensuite possible ​de rajouter des critères optionnels comme le nom (toutes ​les personnes n'ont pas systématiquement un nom inscrit), la nationalité,​ etc
  
-Vous pouvez avoir [[http://www.cidoc-crm.org/frbroo/fm_releases|ici]] les différentes version du FRBRoo.+Il est aussi parfois essentiel de conserver le résumé/la biographie de la personne, car c'est cet élément qui l'​identifie en tant qu'​économiste ou juriste. Il est possible dans le langage ​[[https://www.w3.org/​TR/​rdf-sparql-query/​|SPARQL]] d'​aller chercher des chaînes de caractères avec la clause [[https://​www.w3.org/TR/​rdf-sparql-query/#​funcex-regex|REGEX]]. C'est avec cette dernière que nous pouvons aller chercher dans les biographies et les résumées les mentions d'​économistes,​ professeur d'​économie,​ //jurist//, etc. 
 +Pour [[https://​data.bnf.fr/​|BnF Data]], il y n'a besoin de chercher ces chaînes de caractère qu'en français, car toutes les biographies sont écrites en français. Par contre, pour [[https://​www.dbpedia.org/|DBpedia]], il faut avant tout les faire en anglais, car c'est la langue qui est privilégiée.
  
-Il faut ajouter à cela un autre modèle, le IFLA LRM (Library Reference Model), initié en 2017 qui a pour but de corriger certaines incohérences du FRBRer en créant un modèle commun au FRBRer, FRANAR et FRSAD. La présentation du modèle est disponible ​sur cette [[https://www.transition-bibliographique.fr/enjeux/​definition-ifla-lrm/|page]]. L’intégralité du modèle est disponible [[https://​www.ifla.org/​publications/​node/​11412|ici]].+Voici un exemple d'​interrogation possible ​pour obtenir les économistes ​sur le [[https://data.bnf.fr/sparql/|point de terminaison SPARQL]] BnF Data:
  
-Le FRBR (dans ses deux modèles) a pour but de modéliser les données bibliographiquesPour cela, il y a quatre niveaux pour délimiter les œuvres:+<code sparql>​ 
 +PREFIX ​ egr:  <​http://​rdvocab.info/​ElementsGr2/>​ 
 +PREFIX ​ owl <​http://​www.w3.org/​2002/​07/​owl#>​ 
 +PREFIX ​ dbr:  <​http://​dbpedia.org/​resource/>​ 
 +PREFIX ​ xsd:  <​http://​www.w3.org/​2001/​XMLSchema#>​ 
 +PREFIX ​ skos: <​http://​www.w3.org/​2004/​02/​skos/​core#>​ 
 +PREFIX ​ foaf: <​http://​xmlns.com/​foaf/​0.1/>​
  
-  ​* **L'​œuvre** ​C'est le niveau ​de la créationex: //Le seigneur des anneaux// de Tolkien.+SELECT DISTINCT ​ ?s ?name ?sName ?uri ?year ?bio 
 +WHERE 
 +  {   ​{ ?s  egr:biographicalInformation ​ ?bio ;  
 +            egr:​dateOfBirth ​      ?bd 
 +        BIND(strbefore(strafter(str(?​bd),​ "​http://​data.bnf.fr/​date/"​),​ "/"​) AS ?year)  
 +        # La clause "​BIND" ​est utilisé afin de ne garder dans l'URL que la date. 
 +        FILTER ( ( regex(?bio"​juriste",​ "​i"​) || regex(?bio, "​professeur de droit",​ "​i"​) ) || regex(?bio, "​docteur en droit",​ "​i"​) ) 
 +        # Ce filtre est nécessaire pour obtenir la population que nous avons défini. 
 +        OPTIONAL 
 +          { ?s  foaf:​name ​ ?name } 
 +        OPTIONAL 
 +          { ?s  skos:​prefLabel ​ ?sName } 
 +        OPTIONAL 
 +          { ?s  owl:​sameAs ​ ?uri 
 +            FILTER regex(?uri, "​viaf.org",​ "​i"​) 
 +            # Ce filtre est utilisé pour fusionner les données issues de  
 +            # BnF Data et de DBpedia by l'URI VIAF. 
 +          } 
 +      } 
 +    UNION 
 +      { ?s  egr:​biographicalInformation ​ ?bio ; 
 +            egr:​dateOfBirth ​      ?bd 
 +        BIND(strbefore(strafter(str(?​bd),​ "http://data.bnf.fr/date/"), "/"​) AS ?year) 
 +        FILTER ( ?year > "​1800"​ ) 
 +        FILTER ( ( ( regex(?bio, "​économiste"​) || regex(?bio, "​Economiste"​) ) || regex(?bio, "​professeur d'​économie",​ "​i"​) ) || regex(?bio, "​docteur en économie",​ "​i"​) ) 
 +        OPTIONAL 
 +          { ?s  foaf:​name ​ ?name } 
 +        OPTIONAL 
 +          { ?s  skos:​prefLabel ​ ?sName } 
 +        OPTIONAL 
 +          { ?s  owl:​sameAs ​ ?uri 
 +            FILTER regex(?uri, "viaf.org", "​i"​) 
 +          } 
 +      } 
 +  } 
 +ORDER BY DESC(?​uri) 
 +</​code>​
  
-  * **L'expression**: Cela rassemble les différentes versions du même œuvre, un abrégé, une traduction. ex: la traduction française du seigneur des anneaux.+Cette requête est exécuté sur [[https://​www.python.org/​|Python]] est permet d'aller chercher à la fois les économistes et à la fois les juristes [[https://​data.bnf.fr/​|BnF data]]. ​ (cf. **[[projets_individuels:economiste_juriste_documentation|Documentation SPARQL]]** pour comprendre davantage comment se construit ​la requête)
  
-  * **La manifestation**C'est la matérialisation d'une expressioncomme une édition. exle //Le Hobbit// « Édition Deluxe illustrée par J.R.RTolkien, Christian Bourgois Édition».+Nous ajoutons de façon optionnelle les personnes qui aurait un URI [[http://​viaf.org/​|VIAF]]. Il est importantcar il nous permet de faire une jointure entre les données [[https://data.bnf.fr/​|BnF Data]] et [[https://www.dbpedia.org/​|DBpedia]] pour les personnes qui ont le même URI [[http://​viaf.org/|VIAF]] sur les bases de données
  
-  ​* **L'​item**: C'est l'​exemplaireex: //Le seigneur des anneaux// de Tolkien dans la bibliothèque de ma grand-mère ou bien le manuscrit Français 1158 conservé à la BnF au Département des Manuscrits.+Il est possible de retrouver sur ce **[[https://​github.com/​Semantic-Data-for-Humanities/​Economists_Jurists/​blob/​development/​Notebooks/​Issues/​DBpedia_BnF_Data_URI.ipynb|carnet]]** la requête pour [[https://data.bnf.fr/|BnF Data]] et [[https://www.dbpedia.org/|DBpedia]], ainsi que les démarches pour aligner les deux bases de données. 
 +----
  
-Ces différents niveaux sont mis en relation à des personnes ou des collectivités. Auxquels, on peut ajouter des lieux, des événements,​ des concepts et des objets.+=====Feuille de route=====
  
-====Liens utiles====+Nous devons dans ce projet réaliser différentes étapes:
  
-Vous pourrez retrouver sur cette page l'​ensemble du [[https://​data.bnf.fr/​opendata|fonctionnement]] de BnF Data, c'est à dire le modèle employé, les alignements réalisés, ainsi que les espaces ​de noms utilisés. +  - Récolter ​le maximum ​de personnes ​sur [[https://​www.dbpedia.org/|DBpedia]] et [[https://​data.bnf.fr/​|BnF Data]] ​via des requêtes ​[[https://www.w3.org/TR/rdf-sparql-query/|SPARQL]] 
- +  - Aligner ​les deux jeux de données avec le langage ​[[https://​www.python.org/|Python]] 
-La mission de BnF Data est résumée ​sur cette [[https://​www.bnf.fr/fr/​databnffr|page]]+  - Voir s'il y a des propriétés ​qui sont présentes sur une majorité ​de personnes 
- +    en extrayant les propriétés par des requêtes ​[[https://​www.w3.org/​TR/​rdf-sparql-query/|SPARQL]]  
-L'​accès au [[https://​data.bnf.fr/sparql/|terminal SPARQL]] de BnF Data+  ​- Créer une ontologie particulière  
- +    ​Basé sur des ontologies de haut niveau comme le [[http://www.cidoc-crm.org/|Cidoc CRM]] 
-=====VIAF===== +    En utilisant ​[[https://ontome.dataforhistory.org/|OntoMe]] 
- +   ​Comparer ​le jeux de données créé avec [[http://siprojuris.symogih.org/|Siprojuris]]  
-[[https://​viaf.org/​|VIAF]] (//Virtual International Authority File//) est un fichier ​des autorités internationales qui a pour but d'​identifier les personnes ou les organisations qui se trouve dans d'​autres fiches d'​autorités. Cela permet aussi de les mettre en relation par un identifiant URI VIAF. Il est au cœur de la démarche du [[https://fr.wikipedia.org/wiki/Web_s%C3%A9mantique|web sémantique]] et du //​[[https://​en.wikipedia.org/​wiki/​Linked_data|linked open data]]//. Pour ce faire, les fiches réalisés en RDF. +    ​* ​[[https://data.bnf.fr/|BnF Data]] et [[http://siprojuris.symogih.org/|Siprojuris]] ont tous les deux des [[https://​www.idref.fr/|IDRef]] communs qui permettront de faire un alignement 
- +  ​- ​ Réaliser des différentes analyses statistiques
-Le VIAF a été initié en avril 1998 par la //Library of Congres//, la //Deutsche Nationalbibliothek//​ et le OCLC. La Bibliothèque nationale de France a rejoins le contortium en 2007. Ces dernières sont les principales décisionnaire du projet. Le projet est aujourd'​hui porté par de nombreuses institutions (61  en 2017) mais il est mis en œuvre et hébergé par le [[https://​www.oclc.org|OCLC]] (Online Computer Library Center). +
- +
-Cette [[https://​www.oclc.org/​research/​activities/​viaf.html|page]] donne accès à de la documentation sur VIAF. +
- +
-La page [[https://​fr.wikipedia.org/​wiki/​Fichier_d%27autorit%C3%A9_international_virtuel|wikipedia (fr)]] du VIAF notamment pour connaître les bibliothèques partenaires. +
- +
-[[https://​www.oclc.org/​content/​dam/​oclc/​viaf/​VIAF%20Guidelines.pdf|VIAF Guidelines]] permet de connaître les points importants dans les missions et le fonctionnement de VIAF (il est aussi intéressant car ils donnent aussi les problèmes ​qui peuvent être rencontré). +
- +
- +
- +
-VIAF utilise plusieurs espaces ​de noms pour fonctionner:​ +
- +
-  * VIAF +
-  * [[https://​www.w3.org/​OWL/​|OWL]] +
-  ​* [[https://​www.w3.org/​TR/​2008/WD-skos-reference-20080829/skos.html|SKOS]] +
-  * [[http://xmlns.com/​foaf/​spec/​|FOAF]] +
-  * FRBR +
-  * [[https://​dublincore.org/​specifications/​dublin-core/​dcmi-terms/​|DC terms]] +
-  * [[https://​schema.org/docs/​schemas.html|Schema.org]] +
-  * [[https://lov.linkeddata.es/​dataset/​lov/​vocabs/​umbel|UMBEL]] (ce dernier a été retiré en 2019 et son domaine vendu) +
-Le VIAF est utile dans notre projet, Les URI qu'ils utilisent sont employées à la fois par DBpedia et par BnF data. Donc il est utile pour faire le lien entre les deux. +
- +
-Cette [[https://​platform.worldcat.org/api-explorer/​apis/​VIAF|page]] donne accès à l'API de VIAF. +
- +
-En 2014, différents [[https://​www.oclc.org/​developer/​news/​2014/​viaf-rdf-vocabulary-changes-and-additions.en.html|changements]] dans le vocabulaire et des ajouts. Ils ont notamment changer certains espaces de noms pour prendre ceux de [[https://schema.org/|schema.org]]. +
- +
-En 2016, des [[https://www.oclc.org/developer/​news/​2016/​upcoming-changes-to-viaf.en.html|changements]] ont été opérés dans l'API de VIAF. +
- +
-Ex: [[http://www.viaf.org/viaf/​29551966/​viaf.json|Notice au format json]] de John Maynard Keynes +
- +
-Cette [[https://​www.w3.org/​2005/​Incubator/​lld/​wiki/Use_Case_Virtual_International_Authority_File_(VIAF)|page]] explique comment le VIAF fonctionne (:!: Attention: Elle n'a pas été mise à jour depuis 2010). +
- +
-Ils semblent qu'ils aient réalisé une ontologie mais qu'​elle est, à ce jour plus exploitée, ou bien qu'​elle ne soit publique (mais depuis 2011, il y a aucune documentation sur elle). Vous trouverez [[http://​viaf.org/​viaf.jpg|l'​ontologie]] comme elle a été imaginée.+
  
  
besson_sylvain/economist_jurist.txt · Dernière modification: 2021/07/22 19:05 par Sylvain Besson