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/04/01 11:46]
Sylvain Besson [Sondage des données]
besson_sylvain:economist_jurist [2021/04/01 16:37]
Sylvain Besson
Ligne 1: Ligne 1:
-Allez vers la [[besson_sylvain|page précédente]]+Allez vers la [[besson_sylvain|page précédente ​- stage]]
  
 ====== Économiste et juriste ====== ====== Économiste et juriste ======
Ligne 47: Ligne 47:
 ---- ----
  
-=====Sondage des données=====+=====Étapes du projet=====
  
-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.+Vous retrouver ici les différentes ​[[etapes|étapes]] du projet "​Économiste ​et juriste".
  
-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 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. ​ 
- 
-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 **[[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çais. Par contre, pour **[[documentation_DBpedia|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 le [[https://​data.bnf.fr/​sparql/​|point de terminaison SPARQL]] BnF Data: 
- 
-<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/>​ 
- 
-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>​ 
- 
-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 **[[documentation_VIAF|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 **[[documentation_VIAF|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. 
 ---- ----
  
besson_sylvain/economist_jurist.txt · Dernière modification: 2021/07/22 19:05 par Sylvain Besson