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 11:44]
Sylvain Besson [Extraction des données]
besson_sylvain:economist_jurist [2021/03/29 18:37]
Sylvain Besson
Ligne 8: Ligne 8:
  
 Nous utiliserons pour cela le langage SPARQL. Nous utiliserons pour cela le langage SPARQL.
 +
 +----
  
 =====Documentation===== =====Documentation=====
-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.+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
 + 
 + 
 +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. 
 + 
 +---- 
 + 
 +=====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.  
 + 
 +Dans cette section, vous retrouverez la **[[economiste_juriste_delimitation|délimitation du sujet]]** qui est le point de départ de notre recherche.
  
  
-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.+----
  
-=====Examen ​des données=====+=====Sondage ​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. 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.
Ligne 27: Ligne 40:
  
 Voici un exemple d'​interrogation possible pour obtenir les économistes sur la base BnF Data: Voici un exemple d'​interrogation possible pour obtenir les économistes sur la base BnF Data:
-<​code>​ + 
-query = """​+<​code ​sparql>
 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 38: Ligne 51:
 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 50: Ligne 64:
           { ?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 57: Ligne 73:
         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 69: Ligne 85:
   }   }
 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 est permet d'​aller chercher ​à la fois les économistes et à la fois les juristes 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 VIAF. Il est important, car il nous permet de faire une jointure entre les données BnF Data et DBpedia pour les personnes qui ont le même URI VIAF sur les bases de données
besson_sylvain/economist_jurist.txt · Dernière modification: 2021/07/22 19:05 par Sylvain Besson