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/26 12:42]
Sylvain Besson
besson_sylvain:economist_jurist [2021/04/01 11:35]
Sylvain Besson
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. ​+"É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 **[[documentation_DBpedia|DBpedia]]** et **[[documentation_BnF_Data|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éé, nous pourrons réaliser plusieurs traitements statistiques,​ d'​analyses descriptives et d'​analyses de réseaux.
  
-De cette base de données nous pourront réaliser plusieurs traitements statistiquesd'analyses descriptives et d'​analyses de réseaux.+**Sur cette pagevous retrouvez l'ensemble des éléments pour comprendre notre projet:**
  
-Nous utiliserons pour cela le langage SPARQL.+  * Une **[[projets_individuels:​economiste_juriste_documentation|documentation]]** expliquant les différents langages utilisés, ​le fonctionnement des bases de données utilisées, etc.
  
-=====Documentation===== +  * La **[[projets_individuels:​economiste_juriste_delimitation|délimitation du sujet]]**  sur la définition des termes "​économistes"​ et "​juristes"​ ainsi que les bornes chronologiques et géographiques choisies.
-Vous retrouverez la [[Economiste_Juriste_Documentation|Documentation]] qui peut être utile pour comprendre le projet avec les langages employés, ​les jeux de données utilisés, etc.+
  
 +  * La **feuille de route** retraçant les différentes étapes de notre projet.
  
-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.+  * Le **détail** des étapes réalisés.
  
-=====Délimitation du sujet=====+----
  
-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+=====Documentation===== 
 +Vous retrouverez la **[[Economiste_Juriste_Documentation|documentation]]** qui peut être utile pour comprendre le projet avec les langages employés, les bases de données utilisés, etc.
  
-====Économistes====+----
  
-Nous allons commencer par définir les économistes. Pour cela nous pouvons tout d'​abord,​ regarder ce que la définition qu'en donne le CNRTL (Centre National des Ressources Textuelles et Lexicales):+=====Délimitation du sujet=====
  
-"//​Celui ​qui est spécialiste ​d'Économie Politique.//"​ ([[https://​www.cnrtl.fr/​definition/​%C3%A9conomiste|CNRTL - économiste]])+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. ​
  
-Cette définition ​est assez sommaire.+Dans cette section, vous retrouverez la **[[economiste_juriste_delimitation|délimitation du sujet]]** qui est le point de départ de notre recherche.
  
-Nous pouvons aussi regarder la définition que celui-ci donne de l'​économie:​+----
  
-"//​Ensemble ​de ce qui concerne la production, la répartition et la consommation des richesses et de l'​activité que les hommes vivant en société déploient à cet effet. Synon. récent science économique"//​ ([[https://​www.cnrtl.fr/​definition/​%C3%A9conomiste| CNRTL - économie]]) ​+=====Feuille ​de route=====
  
-Par cette définition,​ nous pouvons dire que l'​économiste est celui qui est spécialiste de l'​ensemble ci-dessus (bien que d'​autres définitions soient données, elle nous a semblé être la plus pertinente).+Nous devons dans ce projet réaliser différentes étapes:
  
-Il est aussi intéressant ​de regarder la définition qu'en donne Wikipédia (notamment car c'est en partie ​de lui que nos données ​proviennent). Il faut remarquer tout d'​abord qu'il y a une distinction qui est faite entre l'​économie ​en tant que discipline ([[https://​fr.wikipedia.org/​wiki/​%C3%89conomie_(discipline)|Wikipedia fr]]) et l'​économie en tant que processus ​de l'​activité humaine ([[https://fr.wikipedia.org/wiki/​%C3%89conomie_(activit%C3%A9_humaine)|Wikipedia fr]]). La distinction est d'​autant plus clair en anglais, puisque qu'on a d'un côté //[[https://en.wikipedia.org/wiki/​Economics|economics]]// (la discipline) et de l'​autre //[[https://en.wikipedia.org/wiki/​Economics|economy]]// (le processus) ou en italien, entre //[[https://it.wikipedia.org/wiki/​Scienze_economiche|scienze economiche]]// (la discipline) et //[[https://it.wikipedia.org/wiki/​Economia|economia]]// (le processus).+  - Récolter le maximum ​de personnes sur **[[documentation_DBpedia|DBpedia]]** et **[[documentation_BnF_Data|BnF Data]]** via des requêtes **[[documentation_SPARQL|SPARQL]]** ​ - Aligner les deux jeux de données ​avec le langage [[python:​accueil|Python]] 
 +  - 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 **[[documentation_SPARQL|SPARQL]]** 
 +  - Créer une ontologie particulière  
 +    * Basé sur des ontologies ​de haut niveau comme le [[http://www.cidoc-crm.org/|Cidoc CRM]] 
 +    * En utilisant ​[[https://ontome.dataforhistory.org/|OntoMe]] 
 +  - Créer un point de terminaison SPARQL 
 +  -  Comparer le jeux de données créé avec [[http://siprojuris.symogih.org/|Siprojuris]]  
 +    * **[[documentation_BnF_Data|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
  
-La définition en en-tête de la page économie (en tant que discipline) est sensiblement la même que celle vue précédemment sur CNRTL: ​+----
  
-"//​L'​économie (ou économie politique, science économique) est une discipline qui étudie l'​économie en tant qu'​activité humaine, qui consiste en la production, la distribution,​ l'​échange et la consommation de biens et de services.//"​ (Wikipédia fr - économie (discipline))+=====Sondage des données=====
  
 +La première étape est de connaître l'​état des jeux de données de **[[documentation_DBpedia|DBpedia]]** et **[[documentation_BnF_Data|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.
  
-À partir ​de maintenantpour enlever toute ambiguïté,​ c'est dans ce sens que nous emploierons ​le terme économie. Il est du coup possible ​de se demander ​si l’emploierons dans le seul sens d'[[https://​fr.wikipedia.org/​wiki/​%C3%89conomie_politique|économie politique]] (qui étudie ​la cité)comme dans l'acceptation courante, par opposition à l'[[https://​fr.wikipedia.org/​wiki/​%C3%89conomie_domestique|économie domestique]] (qui étudie le foyer) ou bien si nous devons intégrer cette dernière.+Pour cela il faut réaliser des requêtes **[[documentation_SPARQL|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 celail 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 personnesans quoi on ne peut pas l'identifier et l'année de naissance
  
-===Juriste====+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. 
  
-Nous pouvons dorénavant faire la même démarche pour les juristes. Le CNRTL nous donne une définition simplemais claire: +Il est aussi parfois essentiel de conserver le résumé/la biographie de la personnecar c'est cet élément ​qui l'​identifie ​en tant qu'​économiste ​ou juristeIl est possible dans le langage **[[documentation_SPARQL|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 **[[documentation_BnF_Data|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çaisPar contre, pour **[[documentation_DBpedia|DBpedia]]**, il faut avant tout les faire en anglaiscar c'est la langue qui est privilégiée.
-"//​Celui ​qui, spécialisé dans la science du droit, ​en fait profession, par la pratique ​ou par des écrits.//" ([[https://​www.cnrtl.fr/definition/juriste| CNRTL juriste]])  +
-=====Examen des données===== +
- +
-La première étape ​est de connaître l'état des jeux de données de DBpedia et 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. +
- +
-Pour cela il faut réaliser des Requêtes SPARQL afin de connaître indépendamment sur les deux bases de données le nombre de personnes qui répondre à ce critèrePour 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 personnesans quoi on ne peut pas l'identifier et l'​année de naissance.  +
- +
-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+
  
-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 SPARQL d'​aller chercher des chaînes de caractères avec la clause 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, ​//lawyer//, etc. +Voici un exemple d'interrogation ​possible ​pour obtenir ​les économistes ​sur le [[https://data.bnf.fr/sparql/|point de terminaison SPARQL]] ​BnF Data:
-Pour la BnF, 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 DBpedia, il faut avant tout les faire en anglais, car c'est la langue qui est privilégiée.+
  
-Voici un exemple d'​interrogation possible pour obtenir les économistes sur la base BnF Data: +<​code ​sparql>
-<​code>​ +
-query = """​+
 PREFIX ​ egr:  <​http://​rdvocab.info/​ElementsGr2/>​ PREFIX ​ egr:  <​http://​rdvocab.info/​ElementsGr2/>​
 PREFIX ​ owl:  <​http://​www.w3.org/​2002/​07/​owl#>​ PREFIX ​ owl:  <​http://​www.w3.org/​2002/​07/​owl#>​
Ligne 70: Ligne 70:
 SELECT DISTINCT ​ ?s ?name ?sName ?uri ?year ?bio SELECT DISTINCT ​ ?s ?name ?sName ?uri ?year ?bio
 WHERE WHERE
-  {   { ?s  egr:​biographicalInformation ​ ?bio ;+  {   { ?s  egr:​biographicalInformation ​ ?bio ; 
             egr:​dateOfBirth ​      ?bd             egr:​dateOfBirth ​      ?bd
-        BIND(strbefore(strafter(str(?​bd),​ "​http://​data.bnf.fr/​date/"​),​ "/"​) AS ?year) +        BIND(strbefore(strafter(str(?​bd),​ "​http://​data.bnf.fr/​date/"​),​ "/"​) AS ?year)  
-        ​FILTER ( ?year > "1800" ​) +        ​# La clause ​"BIND" ​est utilisé afin de ne garder dans l'URL que la date. 
-        FILTER ​( ( regex(?bio, "​juriste",​ "​i"​) || regex(?bio, "​Jurist",​ "​i"​) ​) || regex(?bio, "​professeur de droit",​ "​i"​) ) || regex(?bio, "​docteur en droit",​ "​i"​) )+        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         OPTIONAL
           { ?s  foaf:​name ​ ?name }           { ?s  foaf:​name ​ ?name }
Ligne 82: Ligne 83:
           { ?s  owl:​sameAs ​ ?uri           { ?s  owl:​sameAs ​ ?uri
             FILTER regex(?uri, "​viaf.org",​ "​i"​)             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.
           }           }
       }       }
Ligne 89: Ligne 92:
         BIND(strbefore(strafter(str(?​bd),​ "​http://​data.bnf.fr/​date/"​),​ "/"​) AS ?year)         BIND(strbefore(strafter(str(?​bd),​ "​http://​data.bnf.fr/​date/"​),​ "/"​) AS ?year)
         FILTER ( ?year > "​1800"​ )         FILTER ( ?year > "​1800"​ )
-        FILTER ( ( ( regex(?bio, "​économiste", "i") || regex(?bio, "professeur d'​économie",​ "i") ) || regex(?bio, "​économie",​ "​i"​) ) || regex(?bio, "​docteur en économie",​ "​i"​) )+        FILTER ( ( ( regex(?bio, "​économiste"​) || regex(?bio, "Economiste") ) || regex(?bio, "professeur d'économie",​ "​i"​) ) || regex(?bio, "​docteur en économie",​ "​i"​) )
         OPTIONAL         OPTIONAL
           { ?s  foaf:​name ​ ?name }           { ?s  foaf:​name ​ ?name }
Ligne 101: Ligne 104:
   }   }
 ORDER BY DESC(?uri) ORDER BY DESC(?uri)
-"""​ 
 </​code>​ </​code>​
  
-Cette requête est exécuté sur python est permet d'​aller chercher les économistes et les juristes BnF data+Cette requête est exécuté sur [[python:​accueil|Python]] ​est permet d'​aller chercher ​à la fois les économistes et à la fois les juristes ​**[[documentation_BnF_Data|BnF Data]]** (cf. **[[projets_individuels:​economiste_juriste_documentation|documentation SPARQL]]** pour comprendre davantage comment se construit la requête).  
 + 
 +Nous ajoutons de façon optionnelle les personnes qui aurait un URI [[http://​viaf.org/​|VIAF]]. Il est important, car il nous permet de faire une jointure entre les données **[[documentation_BnF_Data|BnF Data]]** et **[[documentation_DBpedia|DBpedia]]** pour les personnes qui ont le même URI [[http://​viaf.org/​|VIAF]] sur les bases de données.  
 + 
 +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 **[[documentation_BnF_Data|BnF Data]]** et **[[documentation_DBpedia|DBpedia]]**,​ ainsi que les démarches pour aligner les deux bases de données. 
 +---- 
 + 
 +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:​accueil|Python]]. 
 + 
besson_sylvain/economist_jurist.txt · Dernière modification: 2021/07/22 19:05 par Sylvain Besson